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(θ)=θ+ θ1x1 +θ2x+...
+ θnxn,则有

这个图片很好示意,但是维度标记错误了。X 是 m*(n+1) 维, θ
包含θ0

为(n+1)
* 1 维。

若希望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了。

上面描述的不是严格数学证明推导,参考NG的讲义:

通过cost
function 来计算参数的值:

损失函数迭代推导目标函数:

目标函数推导过程:

同样得到也是 θ
= (XTX)-1XTY

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需要大量的矩阵运算,特别是求矩阵的逆。在矩阵很大的情况下,会大大增加计算复杂性以及对计算机内存容量的要求。

时间: 2024-10-20 07:36:44

Normal Equations 的由来与推导的相关文章

Normal equations 正规方程组

前面我们通过Gradient Descent的方法进行了线性回归,但是梯度下降有如下特点: (1)需要预先选定Learning rate: (2)需要多次iteration: (3)需要Feature Scaling: 因此可能会比较麻烦,这里介绍一种适用于Feature数量较少时使用的方法:Normal Equation: 当Feature数量小于100000时使用Normal Equation: 当Feature数量大于100000时使用Gradient Descent:

随机梯度下降(stochastic gradient descent),批梯度下降(batch gradient descent),正规方程组(The normal equations)

对于一个线性回归问题有 为了使得预测值h更加接近实际值y,定义 J越小,预测更加可信,可以通过对梯度的迭代来逼近极值 批梯度下降(batch gradient descent)(the entire training set before taking a single step) 随机梯度下降(stochastic gradient descent)(gets θ "close" to the minimum much faster than batch gradient desce

转载:Normal Equation证明及应用

转载:原文地址为http://www.cnblogs.com/elaron/archive/2013/05/20/3088894.html 作者:elar Many Thanks ---------------------------------------------------------------------------------------------------- Normal Equations 的由来 假设我们有m个样本.特征向量的维度为n.因此,可知样本为{(x(1),y(1

资源汇总

http://www.cs.toronto.edu/~rsalakhu/ Deep Learning (Python, C/C++, Java, Scala, Go) https://github.com/yusugomori/DeepLearning 会敲键盘的猩猩 http://www.cnblogs.com/xiaojingang/tag/ML/ 推荐!国外程序员整理的机器学习资源大全 http://www.cnblogs.com/shiweihappy/p/4246436.html ht

Machine Learning——DAY1

监督学习:分类和回归 非监督学习:聚类和非聚类 1.分类和聚类的区别: 分类(Categorization or Classification)就是按照某种标准给对象贴标签(label),再根据标签来区分归类. 聚类是指事先没有"标签"而通过某种成团分析找出事物之间存在聚集性原因的过程. 2.回归和分类的区别: 当我们试图预测的目标变量是连续的时,例如在我们的住房例子中,我们把学习问题称为回归问题.当y只能取一小部分离散值时(例如,考虑到居住区域,我们想预测一个住宅是房子还是公寓),我

《Deep Learning》译文 第六章 深度前馈网络 从异或函数说起

6.1 从异或函数说起 为了使前馈网络的概念更具体化,我们先从一个简单地例子说起,这个例子中,我们使用前馈网络解决一个简单的任务:学习异或函数. 众所周知,异或(XOR)操作是一种针对二进制值的二目操作符.当两个操作数不同时返回1,其他返回0.异或函数为我们提供了我们想要学习到的目标函数y=f*(x),而我们的模型提供了函数y=f(x;θ),我们的学习算法将修正参数θ使得模型函数f尽可能的接近目标函数f*. 在本例中,我们更加关心网络能否在X={[0,0]T,[0,1]T,[1,0]T,and

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 MINI-BATCH LEARNING. WHAT IS THE DIFFERENCE? In order to explain the differences between alternative approaches to estimating the parameters of a model,

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

%第一列为 size of House(feet^2),第二列为 number of bedroom,第三列为 price of House 1 2104,3,399900 2 1600,3,329900 3 2400,3,369000 4 1416,2,232000 5 3000,4,539900 6 1985,4,299900 7 1534,3,314900 8 1427,3,198999 9 1380,3,212000 10 1494,3,242500 11 1940,4,239999 1

(CS229) 第一课 梯度下降及标准方程推导笔记

1 regression 和 classificationn we call the learning problem a regression prob if th target variable that we're trying to predict is continuous; when target variable can only take on a small number of discrete values we call it a classification prob.