ML常用技巧
ML常用技巧
- Regularization
- Modification of the logistic regression to the SVM
- 圖片鏈接和圖片上傳
- LaTex數學公式
- UML序列圖和流程圖
- 離線寫博客
- 導入導出Markdown文件
- 豐富的快捷鍵
Regularization
Overfitting
通常來說,當feature的個數非常多時,非常容易發生overfitting現象。先說underfitting,當model不能很好的反應數據中的規律時,我們可以說發生了underfitting,正如下圖中最左側的圖一樣。而當feature的個數非常多時,可以通過調整參數,使得訓練后的模型剛好可以代表每一個點的特性。而如果此時的model又不具有描述新數據的關系,那么就發生了overfitting。正如下面最右側的圖。下面中間的圖可以認為是一種“剛剛好”的狀態。
underfitting justright and overfitting for linear regression
上圖給了一個關于線性回歸的例子,下面可以再看一個邏輯回歸中發生underfitting 和 overfitting的例子。
underfitting justright and overfitting for logistic regression
有些時候我們有很多很多量可以供我們分析,來訓練我們的model,比方說預測房子的價格。
然而,當feature的個數特別多的時候,就容易發生overfitting。但也有一些相應的解決辦法,比如
- 手動的選擇一些feature
- 使用model selection algorithm
- Regularization :
- 保留所有的feature,但是要降低feature對應的參數 θjθj的值
- 這種方法當feature的個數非常多的時候很有效,每一個feature都對預測貢獻一點點而已。
于是我們可以再cost function中加入一項λ∑nj=1θ2jλ∑j=1nθj2,來約束這些參數的大小。對于線性回歸來說,新的cost function就變成了
而對于邏輯回歸來說,新的cost function就變成了。
J(θ)=?1m∑i=1m(y(i)log(1?hθ(x(i)))+(1?y(i))loghθ(x(i)))+λ2m∑j=1nθ2j.J(θ)=?1m∑i=1m(y(i)log?(1?hθ(x(i)))+(1?y(i))log?hθ(x(i)))+λ2m∑j=1nθj2.
需要注意的是,λ∑nj=1θ2jλ∑j=1nθj2中不包含bias term θ0θ0,即jj<script type="math/tex" id="MathJax-Element-759">j</script>的值是從1開始取的。
總結
- 上一篇: 表单提交成功后重置表单
- 下一篇: ar9331修改flash大小和df、c