deep learning (五)线性回归中L2范数的应用
cost function 加一个正则项的原因是防止产生过拟合现象。正则项有L1,L2 等范数,我看过讲的最好的是这个博客上的:机器学习中的范数规则化之(一)L0、L1与L2范数。看完应该就答题明白了。
这里我们说一下线性回归中L2范数的应用。假设我们的与各维度变量(这里每一个样本只有一维x)关系的模型是:,表示是模型根据各维度变量预测的。 注意这个模型表明我们这里假设与各维度变量的关系不是线性的,如果是线性的那么就是h(X)=ax1+bx2+…,样本每一维都是一次平方,然后叠加,这里只有一维,线性的话就应该是Y=ax。而这里有x的高阶,所以不是。 我们的cost function 采用的是最小均方误差法:.如果我们加上L2的正则项,那么就是:
。(注意是加了正则项再1/m,但是不管是是加不加1/m、1/2m 都不改变求θ的那个公式,自己可以推一下,这里的系数只是影响cost function的值)。不加正则项的求θ的公式是: ,这里X,y分别是按行包含所有样本的矩阵和向量。按理说这个模型不能用前面的那个公式,因为前面的那个公式只是在得到的,这里关系并不是那种线性关系。但是这里我们可以变换一下,θ0就是常数项,θ1就是x1,θ2就是x2…因为你看这里的h(x)的形式跟那个差不多,所以可以替代。也就是说还是用θ那个公式,只是公式里面的X的第一列是1第二列是每一个样本的x本身(这里样本只有一维),第三列是每一个样本的x平方…
加上L2正则项以后的求参数的公式是.对角矩阵的维度是X的列数。
matlab程序:
1: x = load('ex5Linx.dat');
2: y = load('ex5Liny.dat');
3: plot(x,y,'o','MarkerEdgeColor','b','MarkerFaceColor','r')
4: %如果不加'o','MarkerEdgeColor','b','MarkerFaceColor','r'这些那么自动会把这些点连起来。
5: x = [ones(length(x),1) x x.^2 x.^3 x.^4 x.^5];%制作矩阵X,前面讲了怎么变换。
6: [m, n] = size(x);
7: n = n -1;
8: rm = diag([0;ones(n,1)]);%lamda后面的对角矩阵
9: lamda = [0 1 10]';%正则项系数分别取0,1,10
10: colortype = {'g','b','r'};%不同的曲线不同的颜色
11: sida = zeros(n+1,3);%初始化θ,每一列代表不同的正则项系数得到的参数向量
12: xrange = linspace(min(x(:,2)),max(x(:,2)),100)';
13: %生成一个从x最小值到最大值之间有均匀的100个元素的向量
14: hold on;
15: for i = 1:3
16: sida(:,i) = inv(x'*x+lamda(i).*rm)*x'*y;%计算参数sida
17: norm_sida = norm(sida)
18: yrange = [ones(size(xrange)) xrange xrange.^2 xrange.^3,...
19: xrange.^4 xrange.^5]*sida(:,i);%xrange是一个100维的向量,
20: %xrange.^2是对这个向量每一个元素都进行平方
21: plot(xrange,yrange,char(colortype(i)))
22: hold on
23: end
24: legend('traning data', '\lambda=0', '\lambda=1','\lambda=10')%注意转义字符的使用方法
25: hold off结果:
deep learning (五)线性回归中L2范数的应用的更多相关文章
- deep learning (六)logistic(逻辑斯蒂)回归中L2范数的应用
zaish上一节讲了线性回归中L2范数的应用,这里继续logistic回归L2范数的应用. 先说一下问题:有一堆二维数据点,这些点的标记有的是1,有的是0.我们的任务就是制作一个分界面区分出来这些点. ...
- [Deep Learning] 深度学习中消失的梯度
好久没有更新blog了,最近抽时间看了Nielsen的<Neural Networks and Deep Learning>感觉小有收获,分享给大家. 了解深度学习的同学可能知道,目前深度 ...
- matlab的Deep Learning的toolbox 中的SAE算法
最近一直在看Deep Learning,各类博客.论文看得不少 但是说实话,这样做有些疏于实现,一来呢自己的电脑也不是很好,二来呢我目前也没能力自己去写一个toolbox 只是跟着Andrew Ng的 ...
- Deep Learning基础--word2vec 中的数学原理详解
word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包,它简单.高效,因此引起了很多人的关注.由于 word2vec 的作者 Tomas Miko ...
- 《Neural Network and Deep Learning》_chapter4
<Neural Network and Deep Learning>_chapter4: A visual proof that neural nets can compute any f ...
- 机器学习——深度学习(Deep Learning)
Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立.模拟人脑进行分析学习的神经网络,近期研究了机器学习中一些深度学习的相关知识,本文给出一些非常实用的资料和心得. Key W ...
- [Deep Learning] 常用的Active functions & Optimizers
深度学习的基本原理是基于人工神经网络,输入信号经过非线性的active function,传入到下一层神经元:再经过下一层神经元的activate,继续往下传递,如此循环往复,直到输出层.正是因为这些 ...
- (转)机器学习——深度学习(Deep Learning)
from:http://blog.csdn.net/abcjennifer/article/details/7826917 Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立 ...
- paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数
机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
随机推荐
- (1)sql server 同网段复制
转自:https://blog.csdn.net/hliq5399/article/details/51678774(文末有复制系列文章链接) 一.背景 在复制的运用场景中,事务发布是使用最为广泛的, ...
- Symfony 一些介绍
Symfony 一些介绍: 路由:能限制 hostname,这就让有大量公共功能的网站可以共用一套代码:URI 识别支持 Reg 检测,让 url 能定义的随心所欲:支持前缀,import,便于模块化 ...
- SMARTFORM 传值的4种方法
*& 20161019 160300 smartform传值的方法 1.通过结构 传值: 最通常的用法是通过SE11中建立STRUCTURE XXX(表则没用),在REPORT中申明此结构的数 ...
- 判断点是否在区域的python实现(射线法)
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Date : 2018-10-07 15:49:37 # @Author : Sheldon (thi ...
- [String ] StringBuffer VS StringBuilder
StringBuilder的性能高于StringBuffer,因为StringBuffer是线程安全的. 首先说明一下,一般情况下,字符串相加默认是StringBuilder,但是当数量大于100,或 ...
- java考试
package ATM;import java.util.Scanner; /** * 操作学生数据 * * @author Administrator * */ public clas ...
- java.lang.IllegalStateException: availableProcessors is already set to [4], rejecting [4]
Links: 1.Getting availableProcessors is already set to [1], rejecting [1] IllegalStateException exce ...
- mysql之视图,触发器,事务等
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果集当做表来使用. 使用视图我们可以把查询过程中的 ...
- 异动K线--庄家破绽
<异动K线--庄家破绽(连载)> http://bbs.tianya.cn/post-stocks-612892-1.shtml ————马后炮分析,没有什么前瞻性.纯技术是害死许多钻牛角 ...
- docker 命令添加容器数据卷
实现宿主机和容器的数据共享 只要建立连接,即使容器exit,主机的修改仍能提现到容器