正规化方程Normal Equations解析
如果需要代做算法,可以联系我...博客右侧有联系方式。
一、正规化方程概念
假设我们有m个样本。特征向量的维度为n。因此,可知样本为{(x(1),y(1)), (x(2),y(2)),... ..., (x(m),y(m))},其中对于每一个样本中的x(i),都有x(i)={x1(i), xn(i),... ...,xn(i)}。令 H(θ)=θ0 + θ1x1 +θ2x2 +... + θnxn,则有

若希望H(θ)=Y,则有
X · θ = Y
我们先来回忆一下两个概念:单位矩阵 和 矩阵的逆,看看它们有什么性质。
(1)单位矩阵E
AE=EA=A
(2)矩阵的逆A-1
要求:A必须为方阵
性质:AA-1=A-1A=E
再来看看式子 X · θ = Y
若想求出θ,那么我们需要做一些转换:
step1:先把θ左边的矩阵变成一个方阵。通过乘以XT可以实现,则有
XTX · θ = XTY
step2:把θ左边的部分变成一个单位矩阵,这样就可以让它消失于无形了……
(XTX)-1(XTX) · θ = (XTX)-1XTY
step3:由于(XTX)-1(XTX) = E,因此式子变为
Eθ = (XTX)-1XTY
E可以去掉,因此得到
θ = (XTX)-1XTY
这就是我们所说的Normal Equation了。
二、Normal Equation VS Gradient Descent
Normal Equation 跟 Gradient Descent(梯度下降)一样,可以用来求权重向量θ。但它与Gradient Descent相比,既有优势也有劣势。
优势:Normal Equation可以不在意x特征的scale。比如,有特征向量X={x1, x2}, 其中x1的range为1~2000,而x2的range为1~4,可以看到它们的范围相差了500倍。如果使用Gradient Descent方法的话,会导致椭圆变得很窄很长,而出现梯度下降困难,甚至无法下降梯度(因为导数乘上步长后可能会冲出椭圆的外面)。但是,如果用Normal Equation方法的话,就不用担心这个问题了。因为它是纯粹的矩阵算法。
劣势:相比于Gradient Descent,Normal Equation需要大量的矩阵运算,特别是求矩阵的逆。在矩阵很大的情况下,会大大增加计算复杂性以及对计算机内存容量的要求。
什么情况下会出现Normal Equation,该如何应对?
(1)当特征向量的维度过多时(如,m <= n 时)
解决方法:① 使用regularization方式
or ②delete一些特征维度
(2)有redundant features(也称为linearly dependent feature)
例如, x1= size in feet2
x2 = size in m2
feet和m的换算为 1m≈3.28feet所以,x1 ≈ 3.282 * x2, 因此x1和x2是线性相关的(也可以说x1和x2之间有一个是冗余的)
解决方法:找出冗余的特征维度,删除之。
三、例子

y(i)表示价格,x(i)表示房屋面积和房间数:

样本数m=47。
step1:对数据进行预处理
给每一个x向量,都增加一个x0=1的分量。
m = 47;
x=[ones(m,1),ex3x];
查看x矩阵:

step2:带入normal equation公式θ = (XTX)-1XTY,求解权重向量。
y=ex3y;
theta = inv(x'*x)*x'*y;
求得θ向量为

如果我想预计“1650-square-foot house with 3 bedrooms”的价格,那么由X * θ = Y可知:
price = [1,1650,3]* theta ;
我们取消matlab中的科学计数法,看看price的价格是多少:
>> format long g
>> price
price = 293081.464334897
我们在给出的样本中,找一个接近的样本比比看:

23号样本的房屋面积为1604,房间数也为3,它的价格为

我们可以尝试画出H(θ)函数的图像看看:
先分别用min和max函数找出房屋面积(x1)和房间个数(x2)的最大和最小值,有
x1∈[852,4478]
x2∈[1,5]
x1=linspace(852,4478,47);
x2=linspace(1,5,47);
[xx1,xx2]=meshgrid(x1,x2);
h_theta = theta(1)*ones(47,47) + theta(2)*xx1 + theta(3)*xx2;
surf(xx1,xx2,h_theta);
可以看到H(θ)为如下平面:

梯度下降需要预先确定学习速率、迭代次数,和数据规范化 Feature Scaling。
正规化方程Normal Equations解析的更多相关文章
- 混沌数学之拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)
拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)是 1979年苏联物理学家拉比诺维奇和法布里康特提出模拟非平衡介 质自激波动的非线性常微分方程组: dot{x ...
- Normal equations 正规方程组
前面我们通过Gradient Descent的方法进行了线性回归,但是梯度下降有如下特点: (1)需要预先选定Learning rate: (2)需要多次iteration: (3)需要Feature ...
- Linear Regression(线性回归)(二)—正规方程(normal equations)
(整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 在上篇博客中,我们提出了线性回归的概念,给出了一种使代价函数最小的 ...
- 吴恩达机器学习笔记13-正规方程(Normal Equation)
到目前为止,我们都在使用梯度下降算法,但是对于某些线性回归问题,正规方程方法是更好的解决方案.如: 即: 运用正规方程方法求解参数: 注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时包含英尺 ...
- Linear regression with multiple variables(多特征的线型回归)算法实例_梯度下降解法(Gradient DesentMulti)以及正规方程解法(Normal Equation)
,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , ...
- FITTING A MODEL VIA CLOSED-FORM EQUATIONS VS. GRADIENT DESCENT VS STOCHASTIC GRADIENT DESCENT VS MINI-BATCH LEARNING. WHAT IS THE DIFFERENCE?
FITTING A MODEL VIA CLOSED-FORM EQUATIONS VS. GRADIENT DESCENT VS STOCHASTIC GRADIENT DESCENT VS MIN ...
- OBJ解析
OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模 ...
- 线性回归、梯度下降(Linear Regression、Gradient Descent)
转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 实例 首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积.卧室数量和房屋的交易价格,如下表: ...
- <<Numerical Analysis>>笔记
2ed, by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...
随机推荐
- string 与 byte[] 互转时的注意事项
1.string 转 byte[] //为UTF8编码 byte[] midbytes=isoString.getBytes("UTF8"); //为ISO-8859-1编码,其中 ...
- 使用pl/sql在oracle中新建表和对应序列
1.登录后再Table节点右键新建表: 开始编辑表结构 列 键约束 检查约束 查看sql,没问题的话点击应用,创建表 2.创建序列sequence,在Sequence节点右键新建 填写内容 查看sql ...
- DataBase -- Count & Group by
SQL Count()函数: SQL COUNT(column_name)语法:COUNT(column_name)函数返回指定列的值得数目(NULL不计入) select count(column_ ...
- HITOJ 2739 The Chinese Postman Problem(欧拉回路+最小费用流)
The Chinese Postman Problem My Tags (Edit) Source : bin3 Time limit : 1 sec Memory limit : 6 ...
- 2017 多校1 I Curse Myself
2017 多校2 I Curse Myself(第k小生成树) 题目: 给一张带权无向连通图,该图的任意一条边最多只会经过一个简单环,定义\(V(k)为第k小生成树的权值和\),求出\(\sum_{k ...
- Printed Circuit Board (board)
Printed Circuit Board (board) 题目描述 给出一个N个顶点的简单多边形,对于每个顶点,假如它和原点连成的线段只在这个顶点处和多边形相交,就称为满足要求的顶点.你的任务是输出 ...
- 【POJ 2728 Desert King】
Time Limit: 3000MSMemory Limit: 65536K Total Submissions: 27109Accepted: 7527 Description David the ...
- hdu 4089 概率dp
/* 题目大意:注册一款游戏需要排队,一共有四种事件: 1.注册失败,队列不变,概率为p1 2.注册过程中断开连接,正在注册的人排到队列的末尾,概率为p2 3.注册成功,移出队列,概率为p3 4.服务 ...
- 【Android开发日记】之入门篇(二)——调试
程序员有一半的时间花在测试BUG身上,而作为一个程序员遇上BUG是不可避免的事情.所以掌握好调试BUG的技术就显得至关重要.接下来我来讲述调试的几个要点. 一.调试机器的选择(模拟器) eclipse ...
- mysql-MHA 故障收集
在manager 主机上开启监控服务,启动不了 [root@manager ~]# managerStart [] [root@manager ~]# managerStatus app1 is st ...