过拟合的基本概念
欠拟合:假设函数没有很好的拟合训练集数据,也称这个假设函数有高偏差;
过拟合:过拟合也称为高方差。在假设函数中添加高阶多项式,让假设函数几乎能完美的拟合每个样本数据点,这看起来很好,但这可能会造成函数太过庞大,变量太多的问题,我们没有足够的数据约束它,以获得一个很好的假设函数。也就是说,有可能因为训练集数据量不够,导致训练出来的模型不够精确,即在训练集现有的数据中,模型可以完美的拟合每个数据,但是一旦加入一个新的数据,该模型就不能很好的拟合。过度拟合的问题会在变量过多的时候出现。
过拟合问题会导致模型的泛化能力差,所谓泛化,就是一个假设模型应用到新样本的能力
线性回归过拟合的例子
逻辑回归(logistic)过拟合的例子
过拟合问题的解决办法
- 第一种是尽量少的选择特征变量,在能解决问题的前提下,选择的特征变量越少越好,舍弃掉没有用的,或者关系不大的。可以人工进行筛选,也可以通过后面的模型选择中自动选择特征变脸
- 第二种是正则化,保留所有的特征变量,但是减少量级或参数θj的大小,这种方法很有用,因为有些时候我们希望保留所有特征变量(因为它们都蕴含了一定的信息),此时就可以用到正则化
正则化
基本思想
如下图,给θ3和θ4增加惩罚项,下面右图中的粉红色曲线,就是最终得到的二次项的代价函数
如果将所有参数θ都增加一个惩罚项,就相当于尽量去简化假设模型(即假设函数),因为这些参数都接近0时,原有的假设函数会变得简单一点,如上面的例子,当θ3和θ4接近于0时,由原来的三次项函数得到一个二次项函数。总之,参数的值越小,得到的函数就会越平滑,也越简单,因此,更不容易出现过拟合的问题
个人理解:从例子中可以看出,我们所缩小的参数θ3和θ4,是特征变量x3和x4的系数,而x3和x4刚好是高阶项,说明这两个变量对问题答案的影响度较低,而让θ3和θ4的值尽量小从而去尽量弱化它们甚至消掉它们(θ3和θ4为0时),其实也可以看做是在减少选取的特征变量,但是毕竟θ3和θ4只是约为0,所以x3和x4还是存在的,也就是保留了所有的特征变量,从而保留了它们蕴含的信息
基本概念
正则化参数λ的作用:控制两个目标之间的平衡关系,第一个目标就是更好的去拟合训练集数据;第二个目标就是将所有参数θ控制的更小从而使假设模型相对简单,避免出现过拟合的情况的目标。
如果正则化参数λ被设的太大,结果就是对所有的θ参数惩罚太大,换句话就是让所有θ参数都接近为0,而此时假设函数的所有特征变量xi就会被消掉,最后只剩下一个θ0x0,这两个还都是我们自定义的,最后的结果就是假设函数只剩下一个常数值,函数图像为一条水平线,很显然,这时候就是欠拟合的状态。所以应该选择一个合适的λ值,具体的选择方法在下面内容中会说到
图中的蓝色图像是用高阶多项式来拟合出现的过拟合情况,如果还想保留所有特征的高阶项,只需要利用正则化后的代价函数(如上图中J(θ)),就可以得到粉红色的函数图像,这个粉红色曲线不是二次函数,但是相对蓝色来说更平滑、更简单,粉红色的函数对数据给出了一个更好的假设模型
线性回归的正则化
梯度下降法
绿色框部分,也就是把θj往0的方向缩小了一点点
正规方程法
建立一个m*(n+1)维的设计矩阵X,X矩阵中的每一行代表了一个单独的训练样本
建立一个m维的向量y,它包含了训练集里的所有标签
上面正规方程推导不简单,所以我选择记住结果
logistic回归(逻辑回归)的正则化
逻辑回归中的过拟合问题(上面一开始说的是线性回归中的过拟合)
梯度下降法
更高级优化算法最小化代价函数
看视频后半部分 → 更高级优化算法最小化代价函数
今天发现一个宝藏网站!!!里面有很多关于AI的教程,包括正在看的这个视频的笔记,后面不自己记了,太费时间了!!!
AI学习教程网站