参考:https://zhuanlan.zhihu.com/p/269232332

在线性回归的正交方程 ( Normal Equation )推导一文中提到使用 向量投影 的方法一步就能推导出 正交方程。从向量投影的角度,体现 线性回归 的本质。

预备知识:向量投影

平面A由基向量 所张成(Span ),换言之,平面A是 的列空间。

是平面外的一点, 是 在平面上的投影, ,求

是 和 之间的距离 :

用人话来解释下: 构建了一个平面,平面内的任何向量,它俩均可通过 线性组合 构建出来,换言之,平面外的向量它俩就搞不定了。向量   在 构建的平面外,不论 如何组合都不可能组合出 ,这个问题 无解。但是,可以组合出    在平面内的投影  ,这是平面内最接近    的点,   是 和 之间的偏差。于是,问题就变成了:如何找到组合 ,使 。

线性代数的初心是解决: ,在明显无解的情况下(方程数 > 变量数,超定),退而求其次,解一个可以解决的近似问题: 。

垂直于

----------------------------------------------------------------------------------------------------------------------------------------------

言归正传,回到线性回归的问题:

线性回归要解决的问题是:找到合适的    ,使

实际应用中,方程的数量(样本数)经常远大于变量 / 未知数的数量(特征数),例如以下数据情况:100条数据10个字段,意味着100个方程10个未知数,显然,这样的超定方程组是无解的(over determined ),所以我们不得不改变目标,寻找一个最“接近”的近似解 ,使得 , 是 在 的列空间的投影。

将 代入 ,将   代入 ,将 代入 ,于是就得到 Normal Equation:

翻译成线性回归的语境:由于 不在 所张成的空间内,不论 如何进行线性组合,都不可能组合出 ,但是,可以组合出 在平面内的投影 ,线性回归的目标就是找到参数 ,使 。

在理解了线性回归的投影本质后,使用向量投影公式,只需一步就可以得到Normal Equation: 。

也可以表示为: ,其中 ,被成为伪逆矩阵。

---------------------------------------------------------------------------------------------------------------------------------------------------

最后从直觉的角度再来看一下 Normal Equation 和伪逆矩阵,方便记忆:

回顾我们的出发点 ,如果 可逆,两边同时乘以 ,显然 。

但在机器学习中,经常面对的是 超定( Overdetermined )方程,方程数( 数据点的数量,行,记录 )大于未知数( 即特征数,列,字段 ),非方阵, 不可逆。

是对称矩阵,也称 Gram 矩阵,它是 的方阵,大概率可逆,因此,我们很自然的希望在方程两边同时乘以 ,得到: ,再两边同时乘以 就能到 Normal Equation 。这个推导并不严谨, 可能不可逆,但可作为快速记忆公式的方法。

4、Normal Equation 的向量投影解法与几何和直觉解释的更多相关文章

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

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

  2. 5种方法推导Normal Equation

    引言: Normal Equation 是最基础的最小二乘方法.在Andrew Ng的课程中给出了矩阵推到形式,本文将重点提供几种推导方式以便于全方位帮助Machine Learning用户学习. N ...

  3. coursera机器学习笔记-多元线性回归,normal equation

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  4. Normal Equation

    一.Normal Equation 我们知道梯度下降在求解最优参数\(\theta\)过程中需要合适的\(\alpha\),并且需要进行多次迭代,那么有没有经过简单的数学计算就得到参数\(\theta ...

  5. machine learning (7)---normal equation相对于gradient descent而言求解linear regression问题的另一种方式

    Normal equation: 一种用来linear regression问题的求解Θ的方法,另一种可以是gradient descent 仅适用于linear regression问题的求解,对其 ...

  6. Normal Equation Algorithm

    和梯度下降法一样,Normal Equation(正规方程法)算法也是一种线性回归算法(Linear Regression Algorithm).与梯度下降法通过一步步计算来逐步靠近最佳θ值不同,No ...

  7. normal equation(正规方程)

    normal equation(正规方程) 正规方程是通过求解下面的方程来找出使得代价函数最小的参数的: \[ \frac{\partial}{\partial\theta_j}J\left(\the ...

  8. (三)用Normal Equation拟合Liner Regression模型

    继续考虑Liner Regression的问题,把它写成如下的矩阵形式,然后即可得到θ的Normal Equation. Normal Equation: θ=(XTX)-1XTy 当X可逆时,(XT ...

  9. 【转】Derivation of the Normal Equation for linear regression

    I was going through the Coursera "Machine Learning" course, and in the section on multivar ...

  10. 机器学习入门:Linear Regression与Normal Equation -2017年8月23日22:11:50

    本文会讲到: (1)另一种线性回归方法:Normal Equation: (2)Gradient Descent与Normal Equation的优缺点:   前面我们通过Gradient Desce ...

随机推荐

  1. Unity_UIWidgets - 组件Container

    Unity_UIWidgets - 组件Container Container 构造 效果 结语 QQ 今日无推荐 Unity_UIWidgets - 组件Container 上周给大家讲完了Scaf ...

  2. http协议的请求方式

    协议 协议,就是通信双方去定义的一堆数据格式,并且共同遵守的标准. HTTP协议 HTTP是一个基于TCP/IP通信协议来传递数据,包括html文件.图像.结果等,即是一个客户端和服务器端请求和应答的 ...

  3. 用GC的策略,管理团队的技术债务

    在数字化时代,每一个组织的经营都是建立在数字化的系统之上的,而数字化系统的构建,必然就会带来技术债务,这是每一个数字化团队都要面临的一个问题,如何有效的管控技术债务. 技术债务的产生,是技术团队不断迭 ...

  4. drf-三大认证源码分析、基于APIView编写分页、异常处理

    1.权限源码分析 1.APIView源码497行:self.initial(request, *args, **kwargs)中进行了三大认证. 2.在initial的源码中,以下三行代码是进行三大认 ...

  5. 洛谷P1365 期望dp

    题目描述 一个o/x序列的得分为其中每个o的极大连续子段长度的平方和,比如ooxxxxooooxxx,分数就是 \(2 \times 2 + 4 \times 4 = 4 +16=20.\) 现给定一 ...

  6. HashMap简要介绍

    https://www.cnblogs.com/vitasyuan/p/9220773.html 1.HashMap-1.8介绍 HashMap为Map接口的一个实现类,实现了所有Map的操作.Has ...

  7. ECharts 饼图切换数据源bug 开始没数据显示 切换或刷新后显示

    1.出现问题原因 一个饼图,右上方两个按钮分别为今天和本月,分别调用不同接口控制,点击则调用不同接口同时饼图绑定数据源刷新:出现此问题原因点击今日按钮有一个饼图区域形没有数据不显示,对应数据值比例都没 ...

  8. Module理解及使用

    ES6的模块化设计思想是静态化,也就是说,在编译的时候确定模块的依赖关系,以及输出输出入的变量.而CommonJS和AMD模块都是在运行时确定的.ES6的模块不是对象,而是通过export显示指定输出 ...

  9. JZOJ 3889

    \(\text{Problem}\) 小H是个善于思考的学生,她正在思考一个有关序列的问题. 她的面前浮现出了一个长度为 \(n\) 的序列 \({ai}\),她想找出两个非空的集合 \(S.T\). ...

  10. ArcGIS for Android 地图图文查询

    ArcGIS for Android 地图图文查询 1.前期项目准备 1.1. 创建新工程 新建一个空活动项目 选择语言.平台,修改命名等 1.2. 添加ArcGIS SDK build.gradle ...