正规方程 Normal Equation


前几篇博客介绍了一些梯度下降的有用技巧,特征缩放(详见http://blog.csdn.net/u012328159/article/details/51030366)和学习率(详见http://blog.csdn.net/u012328159/article/details/51030961)。在线性回归中。为了求得參数

%5Ctheta" alt="">的最优值,一般採用梯度下降和本文将要介绍的正规方程(normal
equation)。

相比較梯度下降採用多次迭代逼近的方式。normal equation採用矩阵运算能够直接求解出參数

%5Ctheta" alt="">。先介绍下什么是normal equation,如果一个数据集X有m个样本,n个特征。则如果函数为:

H_%7B%5Ctheta%20%7D%28X%29%20%3D%20%5Ctheta%20_%7B0%7D%20+%20%5Ctheta%20_%7B1%7Dx_%7B1%7D%20+%20%5Ctheta%20_%7B2%7Dx_%7B2%7D%20+...%20+%20%5Ctheta%20_%7Bn%7Dx_%7Bn%7D" alt=""> 。数据集X的特征向量表示为:


表示第i个训练样本,表示第i个训练样本的第j个特征。之所以在X中加了第一列全为1,是为了让

若希望如果函数可以拟合Y,则。又由于  ,所以可以通过矩阵运算求出參数
熟悉线性代数的同学应该知道怎么求出參数。可是前提是矩阵X存在逆矩阵

但仅仅有方阵才有可能存在逆矩阵(不熟悉定理的同学建议去补补线性代数),因此能够通过左乘 使等式变成 

X%5E%7BT%7D%5Ccdot%20X%5Ccdot%20%5Ctheta%20%3D%20X%5E%7BT%7D%5Ccdot%20Y" alt="">,因此,有同学可能会有疑问

%28X%20%5E%7BT%7DX%29%5E%7B-1%7D" alt="">不一定存在啊,确实是,可是

%28X%20%5E%7BT%7DX%29%5E%7B-1%7D" alt="">极少不存在,后面会介绍不存在的处理方法,先别着急。如今你仅仅须要明确为什么就能够了。而且记住。


介绍完normal equation求解參数,我们已经知道了两种求解參数的方法。normal
equation和梯度下降。如今来对照下这两种方法的优缺点以及什么场景选择什么方法。

详细见下表吧:





回到上面说的不一定存在,这样的情况是极少存在的。假设

%28X%20%5E%7BT%7DX%29%5E%7B-1%7D" alt="" style="font-size:14px">不可逆了,一般要考虑一下两者情况:

(1) 移除冗余特征。一些特征存在线性依赖。
(2) 特征太多时,要删除一些特征。比如(m<n),对于小样本数据使用正则化。



正规方程 Normal Equation的更多相关文章

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

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

  2. normal equation(正规方程)

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

  3. Normal Equation Algorithm

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

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

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

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

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

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

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

  7. 5种方法推导Normal Equation

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

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

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

  9. Normal Equation

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

随机推荐

  1. gridcontrol的列头右键菜单问题

    Dev控件GridControl设置了一个右键菜单 this.gridControl1.ContextMenu = contextMenu2; 而GridControl在运行排序的时候,即 gridv ...

  2. 微信小程序~触摸相关事件(拖拽操作、手势识别、多点触控)

    touchstart     手指触摸动作开始 touchmove    手指触摸后移动 touchcancel  手指触摸动作被打断,如来电提醒,弹窗 touchend      手指触摸动作结束 ...

  3. 175. Combine Two Tables

    Table: Person +-------------+---------+ | Column Name | Type | +-------------+---------+ | PersonId ...

  4. AC日记——「SCOI2015」情报传递 LiBreOJ 2011

    #2011. 「SCOI2015」情报传递 思路: 可持久化树状数组模板: 代码: #include <bits/stdc++.h> using namespace std; #defin ...

  5. 运行在CentOS7.5上的Django项目时间不正确问题

    在Django的配置文件settings.py中,有两个配置参数是跟时间与时区有关的,分别是TIME_ZONE和USE_TZ 如果USE_TZ设置为True时,Django会使用系统默认设置的时区,即 ...

  6. YumRepo Error: All mirror URLs are not using

    yum 安装软件出错,最后发现是网络被拦截导致.

  7. python3 2017.3.19

    今天弄了一个晚上没弄出来一个小东西,只弄出来了写追加,而且还是笨方法,起码死不掉那种. global log 127.0.0.1 local2 daemon maxconn 256 log 127.0 ...

  8. Master定理学习笔记

    前言 \(Master\)定理,又称主定理,用于程序的时间复杂度计算,核心思想是分治,近几年\(Noip\)常考时间复杂度的题目,都需要主定理进行运算. 前置 我们常见的程序时间复杂度有: \(O(n ...

  9. BestCoder Round #65 (ZYB's Game)

    ZYB's Game Accepts: 672 Submissions: 1207 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...

  10. 2017 icpc 西安网络赛

    F. Trig Function 样例输入 2 0 2 1 2 2 样例输出 998244352 0 2 找啊找啊找数列和论文.cosnx可以用切比雪夫多项式弄成(cosx)的多项式,然后去找到了相关 ...