Normal Equation
一、Normal Equation
我们知道梯度下降在求解最优参数\(\theta\)过程中需要合适的\(\alpha\),并且需要进行多次迭代,那么有没有经过简单的数学计算就得到参数\(\theta\)呢?
下面我们看看Ng 4-6 中的房价预测例子:
其中\( m = 4, n = 4 \)。在机器学习中,线性回归一般都增加额外的一列特征\(x_0 = 1\),其中我们特征矩阵\(X\)和值向量\(y\)分别为:
\begin{bmatrix}1 & 2104 & 5 & 1 & 45 \\ 1 & 1416 & 3 & 2 & 40 \\ 1 & 1534 & 3 & 2 & 30 \\ 1 & 852 & 2 & 1 & 36 \end{bmatrix}
\begin{bmatrix}460\\ 232\\ 315\\178\end{bmatrix}
而我们的参数\(\theta\)为:
\begin{bmatrix}\theta_0\\ \theta_1\\ \theta_2\\ ...\\\theta_n\end{bmatrix}
那最终的参数\(\theta\)应该为:
\(\theta = (X^TX)^{-1}X^Ty\)
二、证明
我们知道单位矩阵\(E\)有一个性质:
\( A \times A^{-1} = A^{-1} \times A = E \)
首先:
\( y = X \cdot \theta \)
左右同时乘\(X^T\):
\(X^Ty = X^TX \cdot \theta\)
左右再同时乘\(X^TX^{-1}\):
\((X^TX)^{-1}X^Ty = (X^TX)^{-1}X^TX \cdot \theta\)
而我们已知矩阵的逆乘以矩阵得到单位矩阵\(E\):
\((X^TX)^{-1}X^Ty = \theta\)
三、和梯度下降作比较
Normal Equation有一个好处:不需要进行Feature scaling,而Feature scaling对于梯度下降是必须的
如何来选择使用哪种方法么呢?一般如果特征维度不超过1000的话,Normal Equation还是可选的。
此外,如果\((X^TX)^{-1}\)不可逆怎么办?
1)确保不存在冗余特征,比如
因为\(1m = 3.28feet\),所以\(x_1 = (3.28)^2 * x_2\),我们知道线性代数中出现这种线性相关的情况,其行列式值为0,所以不可逆,我们只需确保不会出现冗余特征即可。
2)特征数量\(n\)过多,而样本数量\(m\)过少:解决方法为删除一部分特征,或者增加样本数量。
四、说明
此文参考:https://blog.csdn.net/artprog/article/details/51172025
Normal Equation的更多相关文章
- coursera机器学习笔记-多元线性回归,normal equation
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- Linear regression with multiple variables(多特征的线型回归)算法实例_梯度下降解法(Gradient DesentMulti)以及正规方程解法(Normal Equation)
,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , ...
- (三)用Normal Equation拟合Liner Regression模型
继续考虑Liner Regression的问题,把它写成如下的矩阵形式,然后即可得到θ的Normal Equation. Normal Equation: θ=(XTX)-1XTy 当X可逆时,(XT ...
- 【转】Derivation of the Normal Equation for linear regression
I was going through the Coursera "Machine Learning" course, and in the section on multivar ...
- 5种方法推导Normal Equation
引言: Normal Equation 是最基础的最小二乘方法.在Andrew Ng的课程中给出了矩阵推到形式,本文将重点提供几种推导方式以便于全方位帮助Machine Learning用户学习. N ...
- 机器学习入门:Linear Regression与Normal Equation -2017年8月23日22:11:50
本文会讲到: (1)另一种线性回归方法:Normal Equation: (2)Gradient Descent与Normal Equation的优缺点: 前面我们通过Gradient Desce ...
- CS229 3.用Normal Equation拟合Liner Regression模型
继续考虑Liner Regression的问题,把它写成如下的矩阵形式,然后即可得到θ的Normal Equation. Normal Equation: θ=(XTX)-1XTy 当X可逆时,(XT ...
- 正规方程 Normal Equation
正规方程 Normal Equation 前几篇博客介绍了一些梯度下降的有用技巧,特征缩放(详见http://blog.csdn.net/u012328159/article/details/5103 ...
- Normal Equation of Computing Parameters Analytically
Normal Equation Note: [8:00 to 8:44 - The design matrix X (in the bottom right side of the slide) gi ...
随机推荐
- php 编译常见错误
1.configure: error: No curses/termcap library found 网上有的说法是:–with-named-curses-libs=/usr/lib/libncur ...
- python之旅六【第六篇】模块
json和pickle 用于序列化的两个模块json,用于字符串 和 python数据类型间进行转换pickle,用于python特有的类型 和 python的数据类型间进行转换 json模块提供了四 ...
- Codeforces 719A 月亮
参考自:https://www.cnblogs.com/ECJTUACM-873284962/p/6395221.html A. Vitya in the Countryside time limit ...
- Matplotlib学习---用matplotlib画散点图,气泡图(scatter plot, bubble chart)
Matplotlib里有两种画散点图的方法,一种是用ax.plot画,一种是用ax.scatter画. 一. 用ax.plot画 ax.plot(x,y,marker="o",co ...
- No more tricks, Mr Nanguo HDU - 3292(pell + 矩阵快速幂)
No more tricks, Mr Nanguo Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Jav ...
- 三天STL与pbds(平板电视)
19.02.11 ~ 19.02.13 hjmmm要专攻STL辣 先列一下大纲? 第一天:各种基础容器 第二天:实现平衡树和平板电视pbds 第三天:非变异算法和变异算法 那么我们就开始吧! Day1 ...
- 使用树莓派 Raspberry Pi 播放豆瓣 FM
安装 mplayersudo apt-get install mplayer 安装 Python-pipsudo apt-get install python-pip 通过 python-pip 安装 ...
- 【Luogu3732】[HAOI2017]供给侧改革(Trie树)
[Luogu3732][HAOI2017]供给侧改革(Trie树) 题面 洛谷 给定一个纯随机的\(01\)串,每次询问\([L,R]\)之间所有后缀两两之间的\(LCP\)的最大值. 题解 一个暴力 ...
- HGOI 20190407 Typing Competition Round #1 出题记
/* ljc20020730出的HGOI20190407的模拟赛. 考试结果比预期难的不少,可能是由于本来计划5h的比赛打了4h吧. 就当普及组模拟赛好了... 难度大概4紫吧(弱省省选难度) 出境 ...
- stm32 HAL库编程驱动控制文件<stm32f1xx_hal_conf.h>的使能方法
@2019-01-25 [小记] 工具化.易控制.易配置.效率高: 驱动控制文件<stm32f1xx_hal_conf.h>中驱动模块使能由STM32CubeMX工具配置使能