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 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...
随机推荐
- locust参数化
前面用篇专门讲了requests实现接口的参数关联案例,这里直接转化成locust脚本就行了 # coding:utf-8 from locust import HttpLocust, TaskSet ...
- (4.9)SQL Server如何校验备份文件
译 SQL Server如何校验备份文件 转自:https://blog.csdn.net/tjvictor/article/details/5261666 RESTORE VERIFYONLY与 c ...
- 001-web基本程序搭建
一.IDEA创建项目 1.基本项目创建 1.1.基本步骤 1.Create New Project [File→New→Project]→New Project 2.maven→group.artif ...
- python之网络socket编程
一.网络协议 客户端/服务器架构 1.硬件C/S架构(打印机) 2.软件C/S架构(互联网中处处是C/S架构):B/S架构也是C/S架构的一种,B/S是浏览器/服务器 C/S架构与socket的关系: ...
- chrome浏览器插件让你浏览github的时候像IDE一样提供项目目录
GitHub 作为代码托管平台,竟然没有提供项目目录,方便用户在线快速浏览项目结构.所以,在线分析项目源码就会变得很繁琐,必须一层一层点击,然后再一次一次地向上返回.要知道,本来 GitHub 网站在 ...
- bootstrap插件实用方法
完全通过js來配置 <p><a id="YOUR_BUTTON_FOR_POPOVER" class="btn btn-primary" ro ...
- Apache NiFi 开发 安装说明
系统环境: vmware安装的centos6.7虚拟机 jdk1.8版本 maven库3.3.9版本(在使用源码编译启动的时候需要修改配置文件与当前使用的maven版本匹配,最低使用版本好像是3.1. ...
- iOS 52个技巧学习心得笔记 第二章 对象 , 消息, 运行期
1. 属性 在开发过程中经常要用到定义属性,@property和@synthesize是经常用到的属性, property在.h文件中作声明,@synthesize在.m文件中用于实现 // Stud ...
- android camera jni调用
http://www.mamicode.com/info-detail-1002139.html how to compile library of native camera for androi ...
- Mysql主从复制原理详解
一.为什么要做主从同步 1.读写分离,降低对主数据库的IO消耗 2.避免数据丢失 3.提高业务系统性能 二.主从同步和集群的区别 1.主从同步 一般需要两台及以上数据库服务器即可(一台用于写入数据,一 ...
。(注意是加了正则项再1/m,但是不管是是加不加1/m、1/2m 都不改变求θ的那个公式,自己可以推一下,这里的系数只是影响cost function的值)。不加正则项的求θ的公式是:
,这里X,y分别是按行包含所有样本的矩阵和向量。按理说这个模型不能用前面的那个公式,因为前面的那个公式只是在
得到的,这里关系并不是那种线性关系。但是这里我们可以变换一下,θ0就是常数项,θ1就是x1,θ2就是x2…因为你看这里的h(x)的形式跟那个差不多,所以可以替代。也就是说还是用θ那个公式,只是公式里面的X的第一列是1第二列是每一个样本的x本身(这里样本只有一维),第三列是每一个样本的x平方…
.对角矩阵的维度是X的列数。