正则化
来源:互联网 发布:实施seo的效果 编辑:程序博客网 时间:2024/05/18 03:01
线性回归里的欠拟合和过拟合
- 欠拟合 (underfitting)
也叫做高偏差 (high bias) 。使用的特征过少导致成本函数过高。模型不能很好地拟合训练数据。 - 过拟合 (overfitting)
也叫高方差 (high variance) 。使用多个特征建模的预测函数非常完美地拟合了训练数据,其成本函数的值接近于零,但对新的数据预测时效果很差。
线性回归算法的欠拟合和过拟合
针对房价预测模型,左边是欠拟合的情况,右边是过拟合的情况。中间表示模型比较好的拟合了训练数据集。
逻辑回归算法的欠拟合和过拟合
针对分类算法,左边是欠拟合,右边是过拟合,中间的模型比较好地拟合了训练数据集。
特征太多,而训练样本数据太少,则很可能出现过拟合。下面是一些解决过拟合问题的方法:
- 减少特征个数
- 手动减少特征个数
- 模型选择算法,比如主成份分析法 (PCA) 。主要原理就是把特征的重要性拿来排序,然后只选择前面几个权重比较大的特征,忽略排在后面的权重比较小的特征。
- 正则化
- 保留所有的特征,减小特征的权重
θj 的值。确保所有的特征对预测值都有少量的贡献。 - 当每个特征
xi 对预测值y 都有少量的贡献时,这样的模型可以良好地工作
- 保留所有的特征,减小特征的权重
这就是正则化的目的,为了解决特征过多时的过拟合问题。
正则化
其中
怎么样从数学上理解正则化后的逻辑回归算法的成本函数解决了过拟合问题呢?
从数学角度来看,成本函数增加了一个正则项
利用正则化的成本函数,可以推导出参数迭代函数 (推导过程会用到一些微分运算法则):
通用方程的正则化
这是还没有正则化的通用方程,我们用它来快速求解线性回归算法。下面是正则化的通用方程:
其中,Z 是 (n + 1) x (n + 1) 矩阵
正则化的通用方程实际上解决了两个问题。一个是确保不发生过拟合,另外一个也解决了 pinv
函数我们可以求出近似逆矩阵的值,但如果在其他编程语言里,是没有办法求出奇异矩阵的逆矩阵的。而从数学上可以证明,加上
通用方程的正则化公式推导过程极其复杂,过程从略。
逻辑回归成本函数的正则化
相应地,正则化后的参数迭代公式
需要注意的是,上式中
根据正则化的,新的成本函数的参数迭代函数来实现 CostFunction,然后利用 octave 里的 fminunc
函数来求解,这样可以达到最高的运算效率。因为 fminunc
会使用优化过的梯度下降算法 Conjugate Gradient, BFGS, L-BFGS 等来提高运算效率。
学到这里,你基本上可以使用线性回归逻辑回归解决一些现实问题了。我看到硅谷有大量的公司使用机器算法来构建伟大的产品,那些机器学习工程师在这些公司获得了很好的职业发展并且赚了不少钱。— Andrew Ng
老师除了教得好,还要会鼓励,让学生保持学习的热情和兴趣。学完三周,热情可能会被消耗得差不多了,特别是第一次接触这些复杂数学公式的同学,听了老师的这个鼓励,瞬间满血复活有没有。仿佛走上硅谷机器学习工程师的职业道路了~~,等一下,先别叫醒我,让我的梦想飞一会儿。
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- 正则化
- miui显示虚拟按键方法
- Java操作数字转换中文
- 山东理工ACM:1164
- 自动音量控制
- 学习大数据、云技术如何提高部署学习效率
- 正则化
- Android与linux的区别与联系
- 二维数组的下标含义
- Jenkins安装gitlab hook plugin失败的解决办法
- 神经网络(一)
- Day3
- 山东理工ACM:1172
- 47 You want to use RMAN to create compressed backups. Which statement is true about the compression
- 并发编程网