参考: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. 最容易懂的策略模式消除if-else分支,实现开闭原则,提高可扩展性

    1 介绍 策略模式最常用的场景就是用于消除代码中的if-else,这里所说的if-else并不是说任何简单的判断都引入策略模式来优化,这样反而会增加代码的复杂度. 反例:使用策略模式对一个boolea ...

  2. vue3 | isRef、unref、toRef、toRefs

    isRef 检查某个值是否是ref.是返回true,否则返回false. const num = ref(10); const num1 = 20; const num2 = reactive({ d ...

  3. Appium资源汇总

    Appium资源汇总 created: 2022-8-4 软件 网址 说明 https://github.com/appium/appium-inspector/releases 检查器的下载路径 h ...

  4. 学习Java Day8

    今天学习了for循环,与C语言几乎无差异: 也学习了while和do while循环 今天学习了for循环,与C语言几乎无差异: 也学习了while和do while循环

  5. 学习Java Day2

    今天学习了Java常量的关键字,与C/C++不同,Java是final,而且Java的常量一般用全大写表示:也学习了枚举变量,运算符,数学函数与常量,其中大多知识与C/C++相同,但是Java还提供M ...

  6. ChatGPT国内镜像模板,国内使用ChatGPT中文版本

    @ 目录 一.什么是ChatGPT国内镜像 二.ChatGPT国内镜像使用教程 免费ChatGPT镜像的功能: 三.ChatGPT中文版作用 四.怎么使用ChatGPT国内镜像 五.中文ChatGPT ...

  7. 【TS】联合类型--类型断言--类型推断

    联合类型 在实际开发中,我们接收的变量可能不是一个固定的数据类型,而是动态的多个数据类型,此时用单个固定的数据类型去接收很明显是不行的,为了解决这种可能会接收多个不同数据类型的变量就需要用到联合类型. ...

  8. LG P4173 残缺的字符串

    \(\text{Problem}\) 大概就是带通配符的字符串匹配问题,输出所有比配位置 \(1\le n \le 3\times 10^5\) \(\text{Solution}\) 这是 \(FF ...

  9. Java面向对象进阶第一天

    面向对象高级第一天 static关键字 是静态的意思,可以修饰成员变量,也可以修饰成员方法 成员变量的分类 静态成员变量 有static修饰,属于类,与类一起加载,内存中只有一份,可以被共享访问. 什 ...

  10. DBeaver连接clickhouse无法下载驱动的情况

    最近遇到dbeaver 连接clickhouse的时候提示下载驱动失败. 在网上找了些方法也不行,其中包括默认下载.配置阿里云的Maven. 最后在网上找到一个驱动包,自己手动添加即可.把下载地址分享 ...