如果需要代做算法,可以联系我...博客右侧有联系方式。

一、正规化方程概念

  假设我们有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(θ)=θ+ θ1x1 +θ2x+... + θ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.28* 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解析的更多相关文章

  1. 混沌数学之拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)

    拉比诺维奇-法布里康特方程(Rabinovich-Fabrikant equations)是 1979年苏联物理学家拉比诺维奇和法布里康特提出模拟非平衡介 质自激波动的非线性常微分方程组: dot{x ...

  2. Normal equations 正规方程组

    前面我们通过Gradient Descent的方法进行了线性回归,但是梯度下降有如下特点: (1)需要预先选定Learning rate: (2)需要多次iteration: (3)需要Feature ...

  3. Linear Regression(线性回归)(二)—正规方程(normal equations)

    (整理自AndrewNG的课件,转载请注明.整理者:华科小涛@http://www.cnblogs.com/hust-ghtao/) 在上篇博客中,我们提出了线性回归的概念,给出了一种使代价函数最小的 ...

  4. 吴恩达机器学习笔记13-正规方程(Normal Equation)

    到目前为止,我们都在使用梯度下降算法,但是对于某些线性回归问题,正规方程方法是更好的解决方案.如: 即: 运用正规方程方法求解参数: 注:对于那些不可逆的矩阵(通常是因为特征之间不独立,如同时包含英尺 ...

  5. Linear regression with multiple variables(多特征的线型回归)算法实例_梯度下降解法(Gradient DesentMulti)以及正规方程解法(Normal Equation)

    ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , ...

  6. 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 ...

  7. OBJ解析

    OBJ文件是Alias|Wavefront公司为它的一套基于工作站的3D建模和动画软件"Advanced Visualizer"开发的一种标准3D模型文件格式,很适合用于3D软件模 ...

  8. 线性回归、梯度下降(Linear Regression、Gradient Descent)

    转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 实例 首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积.卧室数量和房屋的交易价格,如下表: ...

  9. <<Numerical Analysis>>笔记

    2ed,  by Timothy Sauer DEFINITION 1.3A solution is correct within p decimal places if the error is l ...

随机推荐

  1. springboot13 Hikari 和Introspector

    SpringBoot Initializr Introspector(内省) class TestReflect { @Test fun testReflect() { //获取字节码对象 val c ...

  2. Ext中关于Ext.QuickTips.init()的使用

    在extJS的例子中,大部分都在程序第一行使用了如下语句:Ext.QuickTips.init();但是QuickTips的用处是什么呢?我们看一段最简单的代码: <html> <h ...

  3. ASP.NET——真假分页

    所谓分页,就是把所有要显示的内容分成n多页来显示.那为什么要用分页而不直接全部显示呢?这就好比一本书,我们可以用一张纸写完全部书的内容,但实际上并不是这么做的.我们把网页分成一页一页的,其实很大程度上 ...

  4. 第十二篇:HTML基础

    本篇内容 HTML概述 HTML常用基本标签 CSS格式引入 一. HTML概述 1.定义: HTML,超文本标记语言,写给浏览器的语言,目前网络上应用最广泛的语言.HTML也在不断的更新,最新版本已 ...

  5. 【bzoj2238】Mst 最小生成树+树链剖分+线段树

    题目描述 给出一个N个点M条边的无向带权图,以及Q个询问,每次询问在图中删掉一条边后图的最小生成树.(各询问间独立,每次询问不对之后的询问产生影响,即被删掉的边在下一条询问中依然存在) 输入 第一行两 ...

  6. 应用交付工程师Troubleshooting经验分享

    应用交付工程师Troubleshooting经验分享 来源:http://blog.51cto.com/virtualadc/1188328 来源:http://blog.51cto.com/virt ...

  7. [poj] 1375 Interval || 圆的切线&和直线的交点

    原题 每组数据给出一些圆(障碍物)的圆心和半径,一个点和一条线段,求站在这个点,能开到的线段的部分的左端点和右端点.没有则输出"No View" 相当于求过该点的圆的两条切线,切线 ...

  8. [转]Linux下阅读源代码:(g)vim+Taglist+ctags

      Linux下阅读源代码的方法很多,聪明人从标题应该就可以知道,需要(g)vim+Taglist+ctags.3者配合,真是珠联璧合,功力无限啊! vim/gvim什么是vim/gvim,如果看官连 ...

  9. Gcd反应堆 (pgcd)

    Gcd反应堆 (pgcd) 题目描述 不知什么时候起,TA突然对gcd产生了浓厚的兴趣,于是他为此编写了个程序,输入分别不大于m,n (1<m,n<=10^7)的两个数,就能得出gcd(m ...

  10. 汕头市队赛 SRM1X T1

    木之本樱 背景 “西瓜是可以种在树上的!”——木之本樱 描述 空地上,一排排的西瓜树拔地而起. 魔法世界里,空地是无限大的.所有的树排成了n条直线,每条直线也是向左右两端无限延伸的. 由于自己姓木(之 ...