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
=
1
n
θ
j
2
,来约束这些参数的大小。对于线性回归来说,新的cost function就变成了
而对于逻辑回归来说,新的cost function就变成了。
需要注意的是, λ∑nj=1θ2j λ ∑ j = 1 n θ j 2 中不包含bias term θ0 θ 0 ,即 j j <script type="math/tex" id="MathJax-Element-759">j</script>的值是从1开始取的。