AcWing基礎算法課Level-2 第三講 搜索與圖論
713
2022-05-29
回歸定義
Regression 就是找到一個函數?functionfunction?,通過輸入特征?xx,輸出一個數值?ScalarScalar。
應用舉例
股市預測(Stock market forecast)
輸入:過去10年股票的變動、新聞咨詢、公司并購咨詢等
輸出:預測股市明天的平均值
自動駕駛(Self-driving Car)
輸入:無人車上的各個sensor的數據,例如路況、測出的車距等
輸出:方向盤的角度
商品推薦(Recommendation)
輸入:商品A的特性,商品B的特性
輸出:購買商品B的可能性
Pokemon精靈攻擊力預測(Combat Power of a pokemon):
輸入:進化前的CP值、物種(Bulbasaur)、血量(HP)、重量(Weight)、高度(Height)
輸出:進化后的CP值
模型步驟
step1:模型假設,選擇模型框架(線性模型)
step2:模型評估,如何判斷眾多模型的好壞(損失函數)
step3:模型優化,如何篩選最優的模型(梯度下降)
Step 1:模型假設 - 線性模型
以一個特征 xcp ?為例,線性模型假設?y = b + xcp =b+w?xcp ?,所以?ww?和?bb?可以猜測很多模型:
雖然可以做出很多假設,但在這個例子中,顯然 f3?的假設是不合理的
實際使用中,由于輸出特征不止這一個,故可以假設一個線性模型:
Step 2:模型評估 - 損失函數
【單個特征】:?xcp
通過求差,即通過損失函數來定義模型的好壞。統計十組原始數據的和,和越小模型越好。
公式推導過程如下:
Step 3:最佳模型 - 梯度下降
定義:梯度下降法(英語:Gradient descent)是一個一階最優化算法,通常也稱為最陡下降法,但是不該與近似積分的最陡下降法(英語:Method of steepest descent)混淆。 要使用梯度下降法找到一個函數的局部極小值,必須向函數上當前點對應梯度(或者是近似梯度)的反方向的規定步長距離點進行迭代搜索。
步驟1中,我們隨機選取一個 w0,如圖8所示,我們有可能會找到當前的最小值,但并不是全局的最小值。
解釋完單個模型參數w,引入2個模型參數?w?和 b?, 其實過程是類似的,需要做的是偏微分:
整理成一個更簡潔的公式:
驗證訓練好的模型的好壞
使用訓練集和測試集的平均誤差來驗證模型的好壞 我們使用將10組原始數據,訓練集求得平均誤差為31.9,如圖所示:
然后再使用10組Pokemons測試模型,測試集求得平均誤差為35.0 如圖所示:
在此處,李宏毅老師介紹了可以通過一元N次線性模型來減小訓練集和測試集的平均誤差:
過擬合問題出現
在訓練集表現較好,在測試集表現較差,這就是過擬合的出現。
步驟優化
Step1優化:2個輸入的四個線性模型是合并到一個線性模型中
將 4個線性模型 合并到一個線性模型中
Step2優化:希望模型更強大表現更好(更多參數,更多輸入)
Step3優化:加入正則化
更多特征,但是權重?w可能會使某些特征權值過高,仍舊導致過擬合,所以加入正則化
總結
本篇文章是對回歸任務的一個概述,重點描述了線性模型這個基礎模型,涉及到梯度下降、正則化等公式推導部分將在以后筆記中更新。
機器學習
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。