1.什麼是機器學習?
1.Tom Mitchell(定義):計算機程序從經驗E中學習,解決某一任務T,進行某一性能度量P,測定P在T上的表現因經驗E而提高。
2.機器學習分爲監督學習和無監督學習。
2.監督學習和無監督學習
1.監督學習大致分爲迴歸問題和分類問題。迴歸問題的目標是預測出連續的目標輸出,分類問題則是預測出離散的目標輸出。
2.監督學習給定的數據有標籤。而無監督學習不給定數據標籤,需要機器自己學習數據的內在聯繫進行分類。
3.模型的構建
監督學習是需要根據數據原有的標籤對模型預測的值進行比較找出差距,並根據差距調整模型參數,然後在根據新的參數計算模型預測值與標籤的差距,再根據差距調整模型參數,通過這種不斷迭代的過程,使我們的模型的預測值與真實值接近,模型參數達到最優。因此如何構建一個合適的模型能很好的表達數據與標籤的關係是及其重要的。
3_1.迴歸模型構建
假設函數:hθ(x)=θ0+θ1x
代價函數:J(θ0,θ1)=2m1i=1∑m(hθ(x(i))−y(i))2
優化目標:minJ(θ0,θ1)
參數更新(梯度下降法):θj=θj−α∂θj∂J(θ0,θ1)
3_2.邏輯迴歸模型的構建
假設函數:hθ(x)=g(θTx)g(z)=1+e−z1
代價函數:Cost(hθ,y)={ −log(hθ(x))if y=1 −log(1−hθ(x)) if y=0整理得:J(θ)=m1[i=1∑my(i)log hθ(x(i))+(1−y(i))log(1−hθ(x(i)))]
優化目標:minJ(θ)
參數更新(梯度下降法):θj=θj−α∂θj∂J(θ)
迴歸與邏輯迴歸(本質是分類)的參數更新函數相同但h(x)的表達式已經發生了變化。
4.梯度下降法中的技巧
當我們特徵(數據)從數值上差距較大,會使我們的特徵分佈在一個窄而狹長的範圍,在進行梯度下降時,梯度下降的學習率在任一特徵維度都是相同的,那麼當學習率適合其中一個特徵維度時,必然不適用於另一個。因此我們需要在訓練前對特徵進行標準化,使我們的特徵在不同維度上分佈在相似範圍時學習率對任意維度都適用。
5.正規方程
梯度下降法需要不斷迭代,消耗計算機資源,而正規方程可以通過對代價函數的求導直接解出各參數的最優解。參數的解爲:θ=(XTX)−1XTy
由公式可知解正規方程需要特徵矩陣的轉置乘以特徵矩陣這一項可逆且計算量小。當該項不可逆時,該矩陣爲奇異矩陣,我們可以通過以下方法可能得到可逆的新矩陣:
1.是否有相關性很強的特徵,如果有隻保留一個。
2.數量上是否存在過多特徵,如果有刪除一部分無用特徵。
已知一個矩陣的轉置計算量隨矩陣維度的增加呈指數級增長,此時的矩陣維度是N×N,其中N是特徵數。因此,當特徵數N=10000時,正規方程將不再適用。
6.過擬合
當數據過少而構建的模型過於複雜時模型會在訓練集上出現過擬合,而在測試集上表現很差,訓練出來的模型泛化能力很弱,我們需要避免這種情況。
通常解決方法有兩種但本質是相同的,一種是去除冗餘的特徵,二是正則化。正則化就是對最小化經驗誤差函數上加約束,這樣的約束可以解釋爲先驗知識。約束有引導作用,在優化誤差函數的時候傾向於選擇滿足約束的梯度減少的方向,使最終的解傾向於符合先驗知識。
7.正則化
7_1.迴歸問題的正則化
梯度下降法的正則化公式
正則化後的代價函數如下:
J(θ0,θ1)=2m1[i=1∑m(hθ(x(i))−y(i))2+λj=1∑mθj2]
參數更新(梯度下降法):
⎩⎨⎧θ0=θ0−αm1∑i=1m(hθ(x(i))−yi)x0(i)θj=θj(1−αmλ)−αm1∑i=1m(hθ(x(i))−yi)xj(i)
正規方程的正則化公式
θ=(XTX+λA)−1XTy
其中A是除第一個值爲0其餘對角線值爲1的維度爲N+1的矩陣,並且已知當該方程中的項一定是可逆矩陣。
7_2.分類問題的正則化
分類問題正則化後的各類函數與上面迴歸問題的梯度下降法的公式符號相同故不再重複。