機器學習之-梯度下降【人工智慧工程師--AI轉型必修課】
【我們們的目標】系列演算法講解旨在用最簡單易懂的故事情節幫助大家掌握晦澀無趣的機器學習,適合對數學很頭疼的同學們,小板凳走起!
今天我們們的故事繼續上一次線性迴歸來說,還不熟悉的小夥伴機票在這!機票直達-線性迴歸
當時我們們怎麼嘮的,是不是很多情況下要求解的目標沒辦法直接求呀!那該怎麼辦呢?我們們來用機器學習中最常用的套路-優化求解,也就是一步一步朝著最優解的方向前進!
首先給出目標函式(還記得線性迴歸中的目標函式嗎?)也就是我們要達到的目標是使得目標函式最小(最小對應著梯度下降問題,也就是下山,那麼最大也就是梯度上升,求極大值)可以把我們的優化目標看成一座山,山是由我們兩個引數組成的,從上圖可以看出在山中有一個山谷的最低點,這個最低點所對應的引數就是我們要求解的值!
那該怎麼求解呢?下山要一步一步來,第一步要找到合適的下山方向,也就是引數所對應的梯度方向(偏導)因為我們要沿著最快的方向去下山,所以梯度的方向是最合適的(多個引數的時候需要各自求其偏導)。找到方向之後我們就該實際的去走啦,那一次走多大呢?經驗表明一次走那麼一小小小小步是比較合適的,因為如果步伐太大容易偏離全域性最優解只得到區域性最優解。方向與步長都搞定了,接下來按著我們設計好的路線更新引數就可以啦!
下山的方式也有很多種,我們來對比一下。
批量梯度下降:如上式需要綜合考慮所有養那本,這就太慢了,但是效果還是蠻好的。
隨機梯度下降:觀察發現,每一次進行引數更新,只選擇了一個樣本,這樣速度極快,但是代價就是一旦樣本有瑕疵,會對結果產生很大的干擾!所以隨機梯度下降會產生很大的浮動。
小批量梯度下降:這個就友好多了,綜合了上面兩位的優缺點,在迭代的時候選擇一批(32,64,128比較常見)個樣本來平均計算梯度的更新方向,這個就是現在應用最廣的梯度下降方法啦!一個字,實用!
接下來我們再來研究一下步長(學習率)對結果產生的影響,從圖中可以看到很多條線並且它們之間有著明顯的差異,為啥模型不收斂!效果不好!沒達標!罪魁禍首就是學習率了,它對我們結果會產生非常大的影響,一般情況下我們都是用較小的學習率,較多的迭代次數來滿足它!
這張圖是一個在真實資料集下使用邏輯迴歸進行迭代的目標函式變化情況,可以看到當我們使用梯度下降的時候目標函式最終達到了一個收斂狀態,現在已經最好了嗎?我們可以再增大些迭代次數再看看!
繼續增大迭代次數,發現目標函式又發生了變化,所以要讓模型更完美,需要更多輪次的訓練!我們再來對比下不同的梯度下降策略!
這張圖看起來有點亂呀,沒有達到熟練狀態,損失函式值還在亂蹦躂,這個就是隨機梯度下降的結果,可以看出來這樣的模型是不好的,只用一個樣本來更新引數是不夠的!所以現在我們很少使用隨機梯度下降來解決實際問題。(那真的沒辦法用它了嗎?也可以代價就是用極小的學習率配上極大的迭代次數,那為啥不用小批量的呢?)
最後的這張圖就是收尾圖啦,首先觀察只用了4000次迭代就比之前的效果要好很多!這裡做了如下兩個工作。
(1):對資料進行了標準化,讓資料各個特徵均值為0方差為(資料預處理的常規套路)
(2):使用了小批量梯度下降進行迭代(保證了收斂性同時也加快了速度)
兩個簡單的操作就使得我們的模型效果快速達到了收斂狀態,請記住這倆套路,你會一直沿用下去的!
機器學習30天系統掌握【升級】
講師介紹:
唐宇迪,計算機博士,專注於機器學習與計算機視覺領域,深度學習領域一線實戰專家,善於實現包括人臉識別,物體識別,關鍵點檢測等多種應用的最新演算法。參與多個國家級計算機視覺專案,多年資料領域培訓經驗,豐富的教學講解經驗,出品多套機器學習與深度學習系列課程,課程生動形象,風格通俗易懂。
課程介紹:
這將是你成為機器學習工程師的最佳實踐指南,通過30天實訓,層層遞進,徹底掌握機器學習!
知識系統性歸納+實時答疑+原始碼共享+案例實戰,五大模組的支撐,這才是從零入門的正確開啟方式!課程分為四個階段:基礎講解+演算法進階+案例實戰+行業應用。全程採用案例實戰,為快速與實際專案接軌打定基礎!
課程從機器學習經典演算法的數學原理推導與例項講解,通過原理分析,通俗解讀,案例實戰讓大家快速掌握機器學習經典演算法原理推導與工作流程,掌握Python資料分析與建模庫使用方法,從案例角度思考如何應用及其學習演算法解決實際問題。
目標人群:
1. 適合零基礎!對機器學習感興趣,或致力於從事人工智慧領域的開發者!
2. N+知識點+手把手掌握+原始碼共享+實時答疑,系統性學習與消化!
3. 全程案例實戰,從案例中學習,事半功倍!報名就贈:Python機器學習必備庫!全程金牌輔導!
課程特色:
專屬答疑+課件資料提供+視訊無限時回放+VIP交流群
開課時間:
隨到隨學,自由支配
點我試看: http://edu.csdn.net/course/detail/6108?utm_source=blog11
相關文章
- 機器學習之-搞定支援向量機(SVM)【人工智慧工程師--AI轉型必修課】機器學習人工智慧工程師AI
- 機器學習之-整合演算法【人工智慧工程師--AI轉型必修課】機器學習演算法人工智慧工程師AI
- 機器學習之-決策樹演算法【人工智慧工程師--AI轉型必修課】機器學習演算法人工智慧工程師AI
- 機器學習之-線性迴歸演算法【人工智慧工程師--AI轉型必修課】機器學習演算法人工智慧工程師AI
- 機器學習之-邏輯迴歸演算法【人工智慧工程師--AI轉型必修課】機器學習邏輯迴歸演算法人工智慧工程師AI
- 機器學習案例實戰之信用卡欺詐檢測【人工智慧工程師--AI轉型必修課】機器學習人工智慧工程師AI
- 機器學習之梯度下降機器學習梯度
- 邁出資料分析與機器學習的第一步【人工智慧工程師--AI轉型必修課】機器學習人工智慧工程師AI
- 機器學習之梯度下降法機器學習梯度
- 【機器學習】梯度下降機器學習梯度
- 機器學習之隨機梯度下降法機器學習隨機梯度
- 【機器學習】梯度下降 II機器學習梯度
- 【機器學習基礎】——梯度下降機器學習梯度
- 機器學習——梯度下降演算法機器學習梯度演算法
- 機器學習方法(一)——梯度下降法機器學習梯度
- 李巨集毅機器學習課程筆記-3.梯度下降精講機器學習筆記梯度
- 學會提示-AI時代職場必修課AI
- 機器學習入門筆記——如何理解梯度下降機器學習筆記梯度
- 機器學習筆記(1): 梯度下降演算法機器學習筆記梯度演算法
- 梯度下降梯度
- 機器學習--線性迴歸--梯度下降的實現機器學習梯度
- 機器學習中的數學(1):迴歸、梯度下降機器學習梯度
- Stanford機器學習課程筆記——單變數線性迴歸和梯度下降法機器學習筆記變數梯度
- 機器學習梯度下降法,最通俗易懂的解釋機器學習梯度
- 【機器學習之數學】02 梯度下降法、最速下降法、牛頓法、共軛方向法、擬牛頓法機器學習梯度
- 座標下降與梯度下降梯度
- 大白話5分鐘帶你走進人工智慧-第十一節梯度下降之手動實現梯度下降和隨機梯度下降的程式碼(6)人工智慧梯度隨機
- 梯度下降與excel梯度Excel
- 實現梯度下降梯度
- 企業高管談數字化轉型:不是選擇題而是必修課,轉型任務艱鉅
- 【Andrew Ng 機器學習】Week 1(二):代價函式和梯度下降機器學習函式梯度
- 003.01 梯度下降梯度
- 1. 梯度下降法梯度
- 梯度下降演算法梯度演算法
- 機器學習中梯度下降演算法的實際應用和技巧機器學習梯度演算法
- 解鎖機器學習-梯度下降:從技術到實戰的全面指南機器學習梯度
- 如何從軟體工程師轉型到人工智慧工程師?軟體工程工程師人工智慧
- Andrew NG 深度學習課程筆記:梯度下降與向量化操作深度學習筆記梯度