【機器學習】【base】 之 目標函式 損失函式 優化演算法

tobeyourlover發表於2016-08-30

目錄

機器學習的核心是一個模型,一個損失函式loss fuction(由目標函式得出),加上一個優化演算法。一個損失函式可以用不同的優化演算法,不同的損失函式也可以用相同的優化演算法。

目標函式定義

最大似然(MLE),最大後驗(MAP)都是構造目標函式的方法,是引數估計的方法之一。

最大似然方法

最大似然估計,只是一種概率論在統計學的應用,它是引數估計的方法之一。說的是已知某個隨機樣本滿足某種概率分佈,但是其中具體的引數不清楚,引數估計就是通過若干次試驗,觀察其結果,利用結果推出引數的大概值。最大似然估計是建立在這樣的思想上:已知某個引數能使這個樣本出現的概率最大,我們當然不會再去選擇其他小概率的樣本,所以乾脆就把這個引數作為估計的真實值。
求最大似然函式估計值的一般步驟:
(1) 寫出似然函式
(2) 對似然函式取對數,並整理
(3) 求導數
(4) 解似然方程

對於線性迴歸問題,它的模型是p(y|x)=N(wTx,σ2)

p(y|x) = N(w^Tx, \sigma^2)
,我們採用最大似然來構造一個目標函式。
此時線性迴歸的loss function是”最小二乘公式”。
最後用梯度下降來找到目標函式的最值。當然,對於這個問題,我們也可以不用梯度下降,直接用向量的投影來直接算出最優解的表示式。即“最小二乘法”。
ps:最小二乘法是一種演算法,最小二乘公式是一個loss function.

Logistic regression 的模型是p(y|x)=Ber(y|sigm(wTx))

p(y|x)=Ber(y|sigm(w^Tx))
,Ber是伯努利分佈,sigm是logistic sigmoid函式,我們採用最大似然來構造一個目標函式。
此時Logistic regression的loss function是交叉熵.
與之前的問題不同,這個目標函式比較複雜,是無法像線性迴歸那樣一步直接算出最終的解的,但是,這個目標函式是凸的,所以我們依然能用梯度下降或者牛頓法來來找到它的最優解。

因為各自的響應變數服從不同的概率分佈。在Linear Regression中,前提假設y

y
是服從正態分佈。而Logistic中的y
y
是服從二項分佈的(為什麼不服從正態?因為非0即1啊!),因而,在用極大似然估計計算時,所得到的cost function自然是不一樣的。

嶺迴歸是給引數 w 加上一個高斯的先驗分佈,並用最大後驗來構造目標函式,那麼,這就相當於給目標函式加上一個L2正則項。如果我們給引數 w 加上一個拉普拉斯的先驗分佈,那麼我們可以讓 w 變得更加稀疏。我們還可以接著往下走,利用後驗分佈來進行模型平均(model averaging),得到更加完整的貝葉斯方法,

最優化演算法

優化方法中,有一類是使用函式的梯度資訊,包括一階的方法,例如梯度下降、最小二乘法都是通過求導來求損失函式的最小值, 使得估算值與實際值的總平方差儘量更小;以及二階的方法,例如牛頓法等。當然,還有和梯度無關的方法,例如 fixed point iteration,座標下降等

最小二乘

最小二乘可以由高斯噪聲假設+極大似然估計推匯出來
最小二乘法是直接對Δ

\Delta
求導找出全域性最小,是非迭代法。

梯度下降

而梯度下降法是一種迭代法,先給定一個β

\beta
,然後向Δ
\Delta
下降最快的方向調整β
\beta
,在若干次迭代之後找到區域性最小。梯度下降法的缺點是到最小點的時候收斂速度變慢,並且對初始點的選擇極為敏感,其改進大多是在這兩方面下功夫。

參考文件:

https://www.zhihu.com/question/24900876

相關文章