关于机器学习 Machine Learning中loss函数参数正则化的一点思考
1 致谢
感谢 Andrew Ng教授的讲述!
2 前言
今天在学习机器学习中对loss函数中的参数进行正则化~
3 关于机器学习中loss函数参数正则化
在机器学习中,有一项防止过拟合的技巧就是(参数)正则化,以平方误差函数为例,原始的loss函数为:
J(θ)=12m∑i=1m(hθ(x(i))−y(i))2J(\theta)=\frac{1}{2m} \sum_{i=1}^{m}\left ( h_\theta\left ( x^{\left ( i \right )}\right )- y^{\left ( i \right )} \right )^2 J(θ)=2m1i=1∑m(hθ(x(i))−y(i))2
而加上正则化项后的loss函数为,
J(θ)=12m[∑i=1m(hθ(x(i))−y(i))2+λ∑j=1nθj2]J(\theta)=\frac{1}{2m} \left [ \sum_{i=1}^{m}\left ( h_\theta\left ( x^{\left ( i \right )}\right )- y^{\left ( i \right )} \right )^2 +\lambda \sum_{j=1}^{n}\theta_j^2 \right ] J(θ)=2m1[i=1∑m(hθ(x(i))−y(i))2+λj=1∑nθj2]
可以看到,多了一个正则化项 λ∑j=1nθj2\lambda \sum_{j=1}^{n}\theta_j^2λ∑j=1nθj2;
在学习的时候,常常听到学者说到,正则化并没有什么很具体的数学解释,这一点我是不认同的,其实从数学的角度来看,这并不是不能分析的,首先,我们把原始loss函数称为J1(θ)J_1(\theta)J1(θ),而加了正则化的loss函数称为J2(θ)J_2(\theta)J2(θ),两者的区别在于J2(θ)J_2(\theta)J2(θ)多了对权值参数的惩罚项,所以不同loss函数往往会训练出不同的模型函数,(具体训练出的函数有什么根本性的不同,这里还需要进一步进行论证);
不过我将在这里提出自己的一点猜想,首先J2(θ)J_2(\theta)J2(θ)多了对所有参数的惩罚项,必然会减小绝对值大的参数值产生的概率,这就会使参数值的整体分布偏向于平均,也就是说,这样会防止模型过多地依赖于某个参数的值,于是,这似乎隐含着一个很重要的前提,那就是:我们认为每个参数对模型的贡献是平均的,而不认为模型会过多地依赖于其中某一个或某几个参数的值。
由此可以推论,如果某个模型的真实情况的确是过多的依赖于所有参数中的某几个参数,即:在真实模型函数中,存在一个或几个权值θi1,θi2,…,θij\theta_{i1},\theta_{i2},\dots,\theta_{ij}θi1,θi2,…,θij与其它的权重值相差较大,例如:归一化之后仍然存在几千到上万倍的差距;则使用正则化则可能导致训练出来的模型具有更差的泛化能力。
以上推论是可以通过实验来进行判断的。
关于机器学习 Machine Learning中loss函数参数正则化的一点思考相关推荐
- 机器学习 Machine Learning中多元线性回归的学习笔记~
1 前言 今天在做 Machine Learning中多元线性回归的作业~ 2 Machine Learning中多元线性回归 2.1 Feature Scaling和 Mean Normalizat ...
- 机器学习 Machine Learning中正则化的学习笔记~
1 前言 今天在学习 Machine Learning~ 2 Regularization-正则化 在机器学习中,当训练样本较少少而h(θ)h(\theta)h(θ)较为复杂时,就会产生过拟合现象,其 ...
- 机器学习 Machine Learning中一元线性回归的学习笔记~
1 前言 今天在做 Machine Learning的作业~ 2 一元线性回归 2.1 loss函数 带有规范化的loss函数: J(θ)=12m∑i=1m(hθ(x(i))−y(i))2+λ2m∑j ...
- 机器学习 Machine Learning中向量化矩阵化的技巧
1 致谢 感谢 Andrew Ng老师的教授! 2 前言 今天在学习多重线性回归~ 感觉向量化&矩阵化是机器学习中很重要的编程技巧,所以这里进行一下归纳~ 3 向量化&矩阵化的技巧 3 ...
- 机器学习(Machine Learning)、深度学习(Deep Learning)、NLP面试中常考到的知识点和代码实现
网址:https://github.com/NLP-LOVE/ML-NLP 此项目是机器学习(Machine Learning).深度学习(Deep Learning).NLP面试中常考到的知识点和代 ...
- Re:从零开始的机器学习 - Machine Learning(一) 线性回归
从我对整个职业生涯的规划出发,我不仅想做一些高质量的应用(软件工程的角度),还想做一些激动人心的应用,所以我希望能在机器学习的方向走,尽管我在大学粗浅的学了些皮毛,但如果要把机器学习作为职业发展的话这 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料汇总
本文来源:https://github.com/ty4z2008/Qix/blob/master/dl.md 机器学习(Machine Learning)&深度学习(Deep Learning ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
- 机器学习(Machine Learning)深度学习(Deep Learning)资料集合
机器学习(Machine Learning)&深度学习(Deep Learning)资料 原文链接:https://github.com/ty4z2008/Qix/blob/master/dl ...
最新文章
- MySQL 学习笔记(18)— 索引的分类、创建、查看、删除等
- 046_byte的值在计算机中的表示
- sas中的sql(2) 行选择 、限制重复、条件运算符、运行前语法检查、feedback、count...
- Boost:获取随机数的实例
- jdbc详解:1、创建数据库connection连接
- 第4课 - 深入浅出处理器(续)
- 首席技术执行官_如何在几分钟内找到任何首席执行官的电子邮件地址
- python编程书籍1020python编程书籍_从零单排之玩转Python安全编程(II)
- 我对NHibernate的感受(3):有些尴尬的集合支持
- android line分享代码,Android实现Line登录分享
- 3 Django视图层
- ubuntu vscode通过cmake配置c++和VS2019一样 进行调试
- 数据脱敏和加密_数据脱敏和数据加密的区别--工作需要,对其进行了简单的整理...
- 进程部分(IPC机制及生产者消费者模型)和线程部分
- Python3入门机器学习经典算法与应用 第3章 Numpy数组的合并与分割
- 破解wifi并实施中间人攻击
- Compact, Redundant, Compressed, Dynamic的作用
- python假设检验
- java替换图片_Java 替换 PPT 中的图片
- winform 读取用户控件的变量_VS2005winform程序中获取用户控件的值
热门文章
- SQl 2000和SQL 2005之间的一些语法区别
- TFS的站点中无法找到Report服务器
- kmeans中的k的含义_《K-means》知识点与思考
- 【Codeforces Round #442 (Div. 2) C】Slava and tanks
- 洛谷 1373 dp 小a和uim之大逃离 良心题解
- yconsole使用说明
- 【转】 ids for this class must be manually assigned before calling save()
- 软件研发设计经验总结
- 求序列中第k大的元素(划分树模板)
- web调试:ie缓存