李宏毅机器学习笔记——回归
回歸筆記
- 回歸
- 使用場景
- 預測步驟
- 第一步——確定模型的集合
- 第二步——模型好壞的判斷
- 第三步——梯度下降
- 改進模型
回歸
使用場景
股票預測:
輸入:歷史股票價格等
輸出:明日或以后股票的價格或平均值
自動駕駛:
輸入:場景信息、信號
輸出:方向盤角度
推薦系統:
輸入:使用者信息、商品信息
輸出:購買可能性
課內使用案例:
預測寶可夢進化后的戰斗力(CP)
輸入:進化前的CP,種類,HP,重量,高度
預測步驟
第一步——確定模型的集合
線性模型:y=b+Σwixiy = b + \Sigma w_ix_i y=b+Σwi?xi?
其中wiw_iwi?是權重,xix_ixi?是特征,bbb是偏差。
第二步——模型好壞的判斷
xix^ixi表示第i個樣本的特征,y^i\hat y^iy^?i表示第i個樣本的真值。
定義Loss Function,輸入一個模型,輸出模型的好壞程度。
L(f)=L(w,b)=Σn=110(y^n?(b+w?xcpn))2L(f) = L(w, b) = \Sigma^{10}_{n=1}(\hat y^n - (b+w·x^n_{cp}))^2L(f)=L(w,b)=Σn=110?(y^?n?(b+w?xcpn?))2
L(f)L(f)L(f)越小,表示模型誤差越小,模型越好。
于是找到最好的模型:
f?=argminfL(f)f^* = argmin_fL(f)f?=argminf?L(f),
w?,b?=argminw,bL(w,b)w^*,b^*=argmin_{w,b}L(w,b)w?,b?=argminw,b?L(w,b)
第三步——梯度下降
先考慮loss function的一個參數w:
- 隨機選擇一個初值w0w^0w0
- 計算 dLdw∣w=w0\frac{\mathrmozvdkddzhkzdL}{\mathrmozvdkddzhkzdw}|_{w=w^0}dwdL?∣w=w0?,更新參數w1=w0?ηdLdw∣w=w0w^1=w^0-\eta\frac{\mathrmozvdkddzhkzdL}{\mathrmozvdkddzhkzdw}|_{w=w^0}w1=w0?ηdwdL?∣w=w0?。其中η\etaη為學習率,控制參數更新的快慢。
- 重復上一步驟,直至不再更新或者更新的差值小于某個值。
如何考慮兩個參數:
- 隨機選擇一個初值w0,b0w^0,b^0w0,b0
- 計算 ?L?w∣w=w0,b=b0\frac{\partial L}{\partial w}|_{w=w^0,b=b^0}?w?L?∣w=w0,b=b0?, ?L?b∣w=w0,b=b0\frac{\partial L}{\partial b}|_{w=w^0,b=b^0}?b?L?∣w=w0,b=b0?,更新參數w1=w0?η?L?w∣w=w0,b=b0w^1=w^0-\eta\frac{\partial L}{\partial w}|_{w=w^0,b=b^0}w1=w0?η?w?L?∣w=w0,b=b0?,b1=b0?η?L?b∣w=w0,b=b0b^1=b^0-\eta\frac{\partial L}{\partial b}|_{w=w^0,b=b^0}b1=b0?η?b?L?∣w=w0,b=b0?
- 重復上一步驟
擔心的地方:有可能陷入局部極小值。
但對于線性回歸來說,loss function是一個凸函數,只有一個極值點也是最小點。
之后利用測試樣本來帶入模型,查看測試誤差來檢測模型的準確程度。
改進模型
可以選擇另一種更為復雜的模型,例如在原模型中引入特征的二次項或者三次項等等。但更復雜的模型不代表更精確,參數越多,模型在測試集上的表現可能越差,即過擬合。所以要考慮模型的泛化能力(或者有些場景需要合理解釋模型的參數)。
查看模型是否還準確。若不準確,則要考慮修改模型(重新計算參數;或者可以考慮增加特征數量,或者修改特征描述方式)
在loss function中增加一項:λΣ(wi)2\lambda\Sigma(w_i)^2λΣ(wi?)2,對越不接近0的參數進行懲罰(可以減少噪聲的影響,使曲線變得平滑,但不希望過于平滑)。
在做正則化時可以不考慮bbb值,因為bbb只影響上下平移,不影響平滑程度。
總結
以上是生活随笔為你收集整理的李宏毅机器学习笔记——回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言实现阿克曼函数
- 下一篇: AR公共安全及应急指挥中的应用 | TV