本系列文章用於彙集知識點,查漏補缺,面試找工作之用。數學公式較多,解釋較少。
1.假設
2.sigmoid函數:
3.假設的含義:
4.性質:
5.找一個凸損失函數
6.可由最大似然估計推導出
單個樣本正確預測的概率爲
只是3兩個式子合併在一起的表示方法
整個樣本空間的概率分佈爲
取對數展開得,
作爲損失函數,並且最小化它,則應改寫爲5式。
7.求解方法
最原始的方法,梯度下降法
先求導,並帶入sigmoid表達式得
之後,參數更新爲:
終止條件:
目前指定迭代次數。後續會談到更多判斷收斂和確定迭代終點的方法。
8.高級方法
共軛梯度
BFGS,L-BFGS
9 Advanced optimization(其他優化算法)
優化算法:
給定參數θ,我們可以寫成代碼來計算:
優化算法除了梯度下降算法外,還包括:
- Conjugate gradient method(共軛梯度法)
- Quasi-Newton method(擬牛頓法)
- BFGS method
- L-BFGS(Limited-memory BFGS)
後二者由擬牛頓法引申出來,與梯度下降算法相比,這些算法的優點是:
第一,不需要手動的選擇步長;
第二,通常比梯度下降算法快;
但是缺點是更復雜-更復雜也是缺點嗎?其實也算不上,關於這些優化算法,推薦有興趣的同學看看52nlp上這個系列的文章:無約束最優化,作者是我的師兄,更深入的瞭解可以參考這篇文章中推薦的兩本書:
用於解無約束優化算法的Quasi-Newton Method中的LBFGS算法到這裏總算初步介紹完了,不過這裏筆者要承認的是這篇文檔省略了許多內容,包括算法收斂性的證明以及收斂速度證明等許多內容。因此讀者若希望對這一塊有一個更深入的認識可以參考以下兩本書:
1) Numerical Methods for Unconstrained Optimization and Nonlinear Equations(J.E. Dennis Jr. Robert B. Schnabel)
2) Numerical Optimization(Jorge Nocedal Stephen J. Wright)
7) Multi-class classification: One-vs-all(多類分類問題)
多類分類問題舉例:
電子郵件分類/標註: 工作郵件,朋友郵件,家庭郵件,愛好郵件
醫療圖表(medical diagrams): 沒有生病,着涼,流感
天氣:晴天,多雲,雨,雪
二類分類問題如下圖所示:
多類分類問題如下所示:
One-vs-all(one-vs-rest):
對於多類分類問題,可以將其看做成二類分類問題:保留其中的一類,剩下的作爲另一類。例如,對於下面這個例子:
可以分別計算其中一類相對於其他類的概率:
總結-One-vs-all方法框架:
對於每一個類 i 訓練一個邏輯迴歸模型的分類器h(i)θ(x),並且預測 y = i時的概率;
對於一個新的輸入變量x, 分別對每一個類進行預測,取概率最大的那個類作爲分類結果:
參考資料:
李航博士《統計學習方法》
http://en.wikipedia.org/wiki/Sigmoid_function
http://en.wikipedia.org/wiki/Logistic_function
http://en.wikipedia.org/wiki/Loss_function
http://en.wikipedia.org/wiki/Conjugate_gradient_method
http://en.wikipedia.org/wiki/Quasi-Newton_method
http://en.wikipedia.org/wiki/BFGS_method
http://en.wikipedia.org/wiki/Limited-memory_BFGS