- 深度學習技術圖像處理入門
- 楊培文
- 1229字
- 2019-12-06 14:13:46
4.1 從邏輯回歸說起
第2章提到傳統機器學習算法時,就提到了邏輯回歸算法。
(1)隨機初始化一組ω,比如可以全設為0,當然實際上不推薦這樣。
(2)訓練集中,邏輯回歸函數里,輸入特征x,計算ωTx,得到預測結果?。
(3)計算全部訓練集中邏輯回歸的結果?和實際y的差別。
(4)根據上一步的差別更新ω。
(5)重復(2)~(4)若干次(iterations)。
這個算法,可以用如下簡單的框架表示:

注意,在第2章的代碼中,為了省事,將這里的x輸入換成了[x, 1],加了一個維度,此時兩個輸入ω、b就合并成了一個新的ω。
其次圖中的雙箭頭代表了兩個過程:
- 從左到右、從下到上的箭頭代表了算法第二步得到預測結果的過程(MSE處與y比較除外,是第三步)。
- 從右往左、從上往下的箭頭代表了算法第四步中更新算法ω、b的過程。
這里將算法框架化之后,我們有一個想法,就是能不能把這個框架加點東西,比如變成這樣:

或者這樣:

當然,讀者還可以繼續思考,設計新的框架。這里,以上兩種模型成了邏輯回歸的“并聯”“串聯”形式。其中,“并聯”形式類似民主投票,即可以訓練多個邏輯回歸模型,每個模型給一個測試樣本預測一個結果,然后多個模型匯總結果,比如70%的模型都通過這個樣本屬于某個分類,則這個結果就被預測成這種分類。這種思路逐漸發展成了模型的聚合(Ensemble)方法,即通過多個弱分類器進行組合,形成一個強分類器。我們在第9、10章時使用的模型融合策略就是基于這種思想。這部分更多的內容,有興趣的可以繼續閱讀周志華老師的《機器學習》一書做更深入了解。“串聯”形式則不斷加大同一模型的復雜程度,繼而通過更復雜的模型實現單一分類器表現的提升。這個思路逐漸發展成為神經網絡算法,并且隨著網絡深度逐步提升,模型中零件由乘法+sigmoid激活函數,換成卷積池化+relu激活函數,更是進一步奠定了目前火熱的深度學習算法的基石。
本章講一講如何用簡單的代碼來實現“串聯”形式的計算過程。我們先來說算法,仍然基于之前邏輯回歸的算法:
(1)隨機初始化一組ω,比如可以全設為0,當然實際上不推薦這樣。
(2)訓練集中,邏輯回歸函數里輸入特征x,計算ωTx,得到預測結果?。
(3)計算全部訓練集中邏輯回歸的結果?和實際y的差別。
(4)根據上一步的差別更新ω。
(5)重復(2)~(4)若干次(iterations)。
這里第二步、第四步有所改動。其中第二步無非是加了一層計算,比較好辦,麻煩的其實是第四步,怎么更新多組數字?之前一組數字可以直接求損失函數對應參數的導數,然后乘以一個很小的學習率,減去這個數,就更新了。現在換成多組數字,怎么分別求損失函數對這些數字的導數?如果說,這里只是多了一層,直接數學推導還比較容易的話,再多幾層,又應該怎么辦?
仔細想一想,這個推導的過程也并非無規律可循。上一級的神經網絡梯度輸出會被用作下一級計算梯度的輸入,同時下一級計算梯度的輸出會被作為上一級神經網絡的輸入。于是就思考能否將這一過程抽象化,做成一個可以自動求導的框架?OK,以TensorFlow為代表的一系列深度學習框架正是根據這一思路誕生的。
- Maya影視動畫高級模型制作全解析
- 中文版SolidWorks 2015技術大全
- MySQL Admin Cookbook LITE: Configuration, Server Monitoring, Managing Users
- ImageMagick Tricks
- 計算機·手機生活應用
- Photoshop日系少女寫真后期解密
- RESTful PHP Web Services
- ANSYS 15.0有限元分析自學手冊
- 手機/電腦雙平臺剪映短視頻后期編輯從新手到高手
- Origin科技繪圖與數據分析
- 新編 中文版Photoshop平面設計入門與提高
- 中文版3ds Max 2016基礎培訓教程
- Photoshop圖像處理與制作
- AI繪畫大師:Stable Diffusion快速入門與實戰技巧
- 實例講解AutoCAD 2020