機器學習-線性迴歸

機器學習-線性迴歸


1.線性迴歸如何產生

有一堆離散的數據,它們是描述的是同一類問題。對這些數據我們用函數來擬合這些數據。並且該函數能讓誤差達到一個最小值。這時,我們便稱該函數爲一個模型,使用該模型,我們可以輸入未知的參數然後得到一個預測值,一般來說這些值都比較接近真實值。很明顯,我們的任務就是求出該函數f(x)=θTx


2.求解線性迴歸

2.1似然函數

1.假設已存在該函數
f(x)=θTx

2.該數據集的真實數據可表示爲
y(i)=θTx(i)+ε(i)

ε表示誤差,一般來說,我們認爲如果一個這些誤差服從高斯分佈,那麼該模型就是一個比較不錯的模型。
至於爲什麼,看看高斯分佈就明白了

3.高斯分佈公式爲
p(ε(i))=1(2πσ)exp((ε(i))2)2σ2)

4.將2帶入3
p(y(i)|x(i);θ)=1(2πσ)exp((y(i)θTx(i))2)2σ2)

5.此時引入一個似然函數的概念,即
L(θ)=i=1np(y(i)|x(i);θ)=i=1n1(2πσ)exp((y(i)θTx(i))2)2σ2)

如何理解這個似然函數呢,開頭我們就說了,我們只是假設該模型已存在即θ值已確定做的推導,我們最終要解決的問題還是確定這個θ值。
似然函數公式上的理解:高斯分佈表示的是我們誤差分佈的概率,我們力求誤差爲0,概率最大爲1。所以我們力求總和最大,來保證誤差最小。很簡單。
似然函數更普遍的理解:目前,θ值不確定,我們關於ε的高斯模型也是一個不確定的。所以我們需要選擇一個高斯模型,使得在該模型下,我們的預測結果是正確結果的可能性最大。那麼我們便將所有的預測概率做一個連乘,求目標函數的最大值。
關於這個似然函數的作用,撿一個例子舉一下。對於對於一個正反均勻的硬幣,連續擲10次這個問題,我們可以問它連續10次都是正面的概率是多少。而對於一枚硬幣連續擲10次都是正面,我們求它正反均勻的概率是多少。似然函數便是解決這個問題。

2.2目標函數

1.原始似然函數不方便求解,因爲是連成形式,觀察函數原型,變量處於exp,所以我們可以直接取對數進行轉換。
logL(θ)=logi=1n1(2πσ)exp((y(i)θTx(i))2)2σ2)
=i=1nlog1(2πσ)exp((y(i)θTx(i))2)2σ2)
=mlog1(2πσ)1σ2·12i=1n(y(i)θTx(i))2)

2.目標函數求最小值
J(θ)=12i=1n(y(i)θTx(i))2)
根據矩陣的一些變換公式化簡求導。不想寫latex表達式,太麻煩了。
最終得到θ=(XTX)1)XTy
能夠直接給出θ的值
所以線性迴歸是迴歸算法中很特殊的一種。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章