感知機

1.線性回歸

1.1表達(dá)式:\hat y = w_0x_0+w_1x_1+...+w_ix_i+...w_nx_n

其中w_0 通常作為偏置項,在數(shù)據(jù)預(yù)處理的時候添加x_0 = 1

1.2損失函數(shù):mse = \frac{1}{n}\sum_{i=0}^{n} {(y-\hat y)^2}

可以看出數(shù)據(jù)特征經(jīng)過權(quán)重參數(shù)映射成實數(shù)\hat y,使用均方差作為損失函數(shù)在訓(xùn)練(最小化損失函數(shù))過程中找到合適的參數(shù),這些參數(shù)確定的這條直線(或者說超平面)使得每個點到這條直線的距離和最小。在二維坐標(biāo)系上可以說是用一條直線來擬合數(shù)據(jù)點。

線性回歸

2.感知機

2.1介紹

若我們要求將數(shù)據(jù)的特征映射成兩個類別呢?那就不是用"直線"來擬合數(shù)據(jù)了而是用"直線"將數(shù)據(jù)劃分開。可是我們的線性函數(shù)輸出的依然是實數(shù)值啊如何根據(jù)實數(shù)值來確定類別?我們可以將該值輸入一個階躍函數(shù)。常見的階躍函數(shù):
sign(\hat y)=\begin{cases} 1,&\hat y>0 \\ 0,&\hat y=0 \cr -1,&\hat y<0 \end{cases}
若此處的階躍函數(shù)是sigmod函數(shù)那么該模型類似于邏輯斯蒂回歸。
那么我們?nèi)绾味x損失函數(shù)呢?使用誤分類的個數(shù)?不行這不是個連續(xù)函數(shù)不適合訓(xùn)練。有學(xué)者提出用誤分類的點到該線性函數(shù)確定的超平面的距離和作為損失函數(shù)。點(X,Y)到直線的距離:
d = \frac{|AX+BY+C|}{\sqrt{A^2+B^2}}

2.2損失函數(shù):

loss = -\sum _{x_i\in M}{}{y_i(wx_i)}
其中M為分類錯誤點的集合。對于分類錯誤的點x_i有:

  • 當(dāng)wx_i>0時,y_i<0-y_i(wx_i)>0
  • 當(dāng)wx_i<0時,y_i>0-y_i(wx_i)>0
    所以loss>0我們只需要最小化損失函數(shù)就好

2.3梯度:

\triangledown_w = -\sum_{x_i\in M} y_ix_i
由于我們在訓(xùn)練的時候采取隨機梯度下降算法,一次只選取一個誤分類的點所以我們的梯度為
\triangledown_w = - y_ix_i; x_i \in M
具體的學(xué)習(xí)策略和算法請參考李航老師的《統(tǒng)計學(xué)習(xí)方法》
具體實現(xiàn)代碼請參考我的github深度學(xué)習(xí)實戰(zhàn)

參考書籍

  • 《統(tǒng)計學(xué)習(xí)方法》-- 李航
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。