[机器学习笔记]Note5--归一化
来源:互联网 发布:自学办公自动化软件 编辑:程序博客网 时间:2024/04/29 22:14
继续是机器学习课程的笔记,这节课会介绍归一化的内容。
过拟合问题
这节课会介绍一个在机器学习过程中经常会遇到的问题–过拟合。通常,当我们有非常多的特征,我们可以学习得到的假设可能非常好地适应训练集,即代价函数可能几乎是0,但是可能会不能推广到新的数据,即泛化能力差,对于新的数据预测结果不理想。这就是过拟合问题。而特征非常多也是发生过拟合问题的一个原因之一。
下面是一个回归问题,分别有3个模型,如下所示:
第一个模型是一个线性模型,低度拟合,不能很好地适应我们的训练集;第三个模型是一个四次方的模型,过度拟合,虽然能非常好地适应我们的训练集,但在新输入变量进行预测时可能会效果不好;而中间的模型则是相对最合适的模型。
在回归问题中会有过拟合问题,同样在分类问题也是有过拟合的问题,例子如下所示:
同样是第一个模型是线性模型,只能低度拟合,而第三个模型是一个过渡拟合的模型,对新输入变量进行预测时效果会不好,只有中间的模型是最合适的模型。
那么,当发生过拟合的问题时,我们可以采取下面的措施来避免过拟合:
1. 丢弃一些不能帮助我们正确预测的特征:可以是手工选择保留哪些特征或者使用一些模型选择的算法来帮忙(例如PCA);
2. 归一化。保留所有的特征,但是减小参数的大小。
归一化代价函数
在上述回归问题的例子中,对于过拟合的模型是
我们决定要减少
通过这样的代价函数选择出来的
那么假如我们有许多的特征,我们并不知道其中哪些特征需要惩罚,我们将对所有的特征进行惩罚,并且让代价函数最优化的软件来选择这些惩罚的程度。那么代价函数如下所示:
其中
注意:根据惯例,我们不对
经过归一化处理的模型与原模型的可能对比如下图所示:
这里如果选择的归一化参数
归一化线性回归
梯度下降算法
归一化线性回归的代价函数是:
此时如要使用梯度下降法来令代价函数最小化,由于我们没有对
Repeat until convergence{
θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))⋅x(i)0θj:=θj−α[1m∑i=1m(hθ(x(i))−y(i))⋅x(i)j+λmθj](forj=1,2,3,…,n)
}
其中,对第二个更新的式子进行调整可得:
由该式子可以看出归一化线性回归的梯度下降算法的变化在于,每次都在原有算法更新规则的基础上令
正规方程
同样,也可以使用正规方程来求解线性回归模型。这里做如下假设:
这里的
这里要求解归一化线性回归模型的方法如下:
这里的矩阵是一个
这个矩阵的得到是通过令
归一化逻辑回归
对于逻辑回归,我们也可以得到一个归一化的代价函数表达式:
使用的梯度下降算法如下所示:
Repeat until convergence{
θ0:=θ0−α1m∑i=1m(hθ(x(i))−y(i))⋅x(i)0θj:=θj−α[1m∑i=1m(hθ(x(i))−y(i))⋅x(i)j+λmθj](forj=1,2,3,…,n)
}
同样,看上去也是与线性回归的公式一样,但是由于
小结
本节主要是介绍了过拟合的问题,这是由于特征过多导致学习得到的模型非常拟合训练集的数据,但是对于新的输入数据却得到不理想的预测结果,解决这个问题的方法,一个是减少特征的数量,第二个就是使用归一化来减小参数的大小。
因此后面分别介绍了归一化代价函数,以及线性回归和逻辑回归中梯度下降算法对于归一化代价函数的计算公式。
- [机器学习笔记]Note5--归一化
- 【机器学习笔记】数据归一化
- 【机器学习笔记】1.数据归一化
- 机器学习-数据归一化
- 机器学习中的归一化
- 机器学习之归一化
- 机器学习-归一化、标准化
- 机器学习--归一化
- 【机器学习】归一化
- COURSERA机器学习笔记——归一化(一)
- COURSERA机器学习笔记——归一化(二)
- 机器学习--python归一化特征值
- 机器学习-数据归一化方法
- 机器学习中的归一化问题
- 机器学习-数据归一化方法
- 机器学习中的标准化/归一化
- 机器学习算法——归一化数值
- 机器学习之——归一化
- OpenGL学习笔记:拾取与选择
- ORACLE基础之oracle锁(oracle lock mode)详解
- 开发属于自己的,iPhone设备管理工具,iTunesMobileDevice伪帮助文档
- 计算某人已经出生了多少天?
- 数值的整数次方
- [机器学习笔记]Note5--归一化
- LSA及pLSA
- FreeMarker简介
- linuxShell脚本
- 编程之美-IP地址的分类——a,b,c 类是如何划分的
- 浅谈WebLogic和Tomcat
- tomcat安装ssl证书[推荐]
- 如何利用伪元素制造带三角的div
- linux内核sysfs详解