紧接上一篇博客,多变量梯度下降法的表达式形式与单变量一致,只是变量的扩充以及每次迭代需要对每个变量进行操作(同样是所有变量一次性更新)。假设函数、代价函数和梯度下降的表达式分别如下:
hθ(x)=θTxh_\theta(x)=\theta^Txhθ​(x)=θTxJ(θ)=12m∑i=0m(hθ(xi)−yi)2J(\theta)=\frac{1}{2m}\sum_{i=0}^{m}(h_\theta(x_i)-y_i)^2J(θ)=2m1​i=0∑m​(hθ​(xi​)−yi​)2KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲\theta_j:=\thet…
对于多变量,往往每个特征变量的取值范围差异很大,在利用梯度下降法进行迭代运算求J(θ)J(\theta)J(θ)的最小值时,迭代路径受数值大的变量影响较大,而数值小的变量可能会在最优值附近反复振荡,造成迭代路径的曲折,收敛缓慢。因此为了更快收敛,一般把各变量归一化成取值范围大概一致(feature scaling)。一般取−1≤xi≤1-1\leq x_i \leq 1−1≤xi​≤1或者−0.5≤xi≤0.5-0.5 \leq x_i \leq 0.5−0.5≤xi​≤0.5,(不是严格规定)。对于一个一般变量,通常取xi:=xi−μisix_i:=\frac{x_i-\mu_i}{s_i} xi​:=si​xi​−μi​​这里μi\mu_iμi​是xix_ixi​的样本平均值,sis_isi​是取值范围(max - min),或者sis_isi​取为标准差。

[外链图片转存失败(img-69raoK7f-1562665150709)(https://img-my.csdn.net/uploads/201206/28/1340891220_5273.jpg)]

对于回归问题,显然假设函数hθ(x)h_\theta(x)hθ​(x)并不是与每个特征变量均成线性关系,可能会出现如$h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2^2 $的形式,这称为多项式回归(Polynomial Regression)

但是,可以通过适当变形把其转变为线性回归。在此例子中,令x2=x22x_2=x_2^2x2​=x22​,则hθ(x)=θ0+θ1x1+θ2x2h_\theta(x)=\theta_0+\theta_1x_1+\theta_2x_2hθ​(x)=θ0​+θ1​x1​+θ2​x2​。此外,可令x3=x1x2x_3=x_1x_2x3​=x1​x2​,x4=x1x_4=\sqrt{x_1}x4​=x1​​等各种不同方式对变量变形,使其成为线性回归问题。运用变形后,变量范围的归一化就变得尤为重要。

另一种解线性回归问题的方法是标准方程法(Normal Equation),运用该方法,可以不需要迭代而直接求出θ\thetaθ。该方程如下:θ=(XTX)−1XTy\theta=(X^TX)^{-1}X^{T}yθ=(XTX)−1XTy
这里θ=[θ0θ1θ2...]\theta =\left[\begin{matrix}\theta_0\\\theta_1\\\theta_2\\...\end{matrix}\right]θ=⎣⎢⎢⎡​θ0​θ1​θ2​...​⎦⎥⎥⎤​,y=[y0y1y2...]y=\left[\begin{matrix}y_0\\y_1\\y_2\\...\end{matrix}\right]y=⎣⎢⎢⎡​y0​y1​y2​...​⎦⎥⎥⎤​,X=[x0(1)x1(1)x2(1)...x0(2)x1(2)x2(2)...x0(3)x1(3)x2(3)...............]X=\left[\begin{matrix}x_0^{(1)}&x_1^{(1)}&x_2^{(1)}&...\\x_0^{(2)}&x_1^{(2)}&x_2^{(2)}&...\\x_0^{(3)}&x_1^{(3)}&x_2^{(3)}&...\\...&...&...&...\end{matrix}\right]X=⎣⎢⎢⎢⎡​x0(1)​x0(2)​x0(3)​...​x1(1)​x1(2)​x1(3)​...​x2(1)​x2(2)​x2(3)​...​............​⎦⎥⎥⎥⎤​
例子如下:

这个结论来源于线性代数中的投影,具体推导参考http://open.163.com/movie/2010/11/J/U/M6V0BQC4M_M6V2AJLJU.html

梯度下降法和标准方程法的比较:

Gradient Descent Normal Equation
需要选择合适的参数α\alphaα 不需要选择参数
需要多次迭代 不需要迭代
算法复杂度O(kn2)O(kn^2)O(kn2) O(n3)O(n^3)O(n3),因要计算XTXX^TXXTX的逆矩阵
当样本数n很大时依然高效 样本数n很大时计算慢

如果XTXX^TXXTX不可逆,有以下两方面原因:
1、存在多余的特征变量,如其中两个特征变量存在线性关系,如x2=2x1x_2=2x_1x2​=2x1​;
2、相比较样本数据,特征变量太多,即m&lt;nm&lt;nm<n,这里mmm是样本个数,nnn是特征变量个数

在Octave/Matlab中,用pinv()代替inv()实现矩阵取逆,即使矩阵不可逆时也可以得到正确的结果。
即标准方程的代码实现为:

theta = pinv(X'*X)*X'*y;

线性回归的补充与变量归一化相关推荐

  1. matlab数据归一化(补充),matlab数据归一化(补充)

    Yaksa版主对MATLAB中的归一化问题进行了详细的讲解和分析,下面我们对这议题进一步深入.再议归一化问题 [train_scale,test_scale,ps] = scaleForSVM(tra ...

  2. 【机器学习入门到精通系列】不废话直入正题之单变量线性回归(另附单变量非线性代码)

    文章目录 1 Model Represention 2 Cost Function 3 Gradient Decent 4 Gradient Decent for regression的代码实现 1 ...

  3. 吴恩达机器学习1——单变量线性回归、梯度下降

    目录 吴恩达机器学习第一周 一.什么是机器学习? 二.机器学习的分类 1. 监督学习 2. 非监督学习 3. 监督学习和非监督学习的举例 三.单变量线性回归(**Linear Regression w ...

  4. Tensorflow 笔记 Ⅱ——单变量线性回归

    文章目录 核心步骤 (1)数据准备 (2)构建模型 (3)训练模型 (4)模型预测 单变量线性回归原理 监督式机器学习 迭代训练原理图 损失与损失函数 与损失函数相关的其中一个词汇叫收敛 与损失函数相 ...

  5. 1-线性回归之单变量线性回归基本原理的python实现

    文章目录 单变量线性回归基本原理的python实现 1大环境准备 2jupyter工作路径的更改 3单变量线性回归 2.1数据读取 2.2特征构造 2.3其他准备 2.4线性回归主体 2.4.1计算代 ...

  6. 机器学习——标准化/归一化的目的、作用和场景

    对每个特征进行归一化处理,使得每个特征的取值缩放到0~1之间.这样做有两个好处: 模型训练更高效. 特征前的权重大小可代表该变量对预测结果的贡献度(因为每个特征值本身的范围相同). (一)归一化的作用 ...

  7. 线性回归算法梳理——Test1

    关于机器学习 概念 监督学习 输入数据被称为训练数据,它们有已知的标签或者结果,比如垃圾邮件/非垃圾邮件或者某段时间的股票价格.模型的参数确定需要通过一个训练的过程,在这个过程中模型将会要求做出预测, ...

  8. 【深度学习/机器学习】为什么要归一化?归一化方法详解

    [深度学习/机器学习]为什么要归一化?归一化方法详解 文章目录 1. 介绍 1.1 什么是归一化 1.2 归一化的好处 2. 归一化方法 2.1 最大最小标准化(Min-Max Normalizati ...

  9. 线性回归(Linear Regression)和逻辑回归(Logistic Regression)

    先举两个简单的例子,看上面的图片. 线性回归主要功能是拟合数据. 逻辑回归主要功能是区分数据,找到决策边界. 线性回归的代价函数常用平方误差函数. 逻辑回归的代价函数常用交叉熵. 参数优化的方法都是常 ...

最新文章

  1. CVPR 2020丨UDVD:用于可变退化的统一动态卷积超分辨率网络
  2. 20172328 2018-2019《Java软件结构与数据结构》第八周学习总结
  3. 谷歌宣布即将开放 .dev 顶级域名注册
  4. 一个UI布局框架,以最少的代码实现UI设置及布局控制
  5. Windows Phone开发者注册秘籍
  6. ping程序和tracert(traceroute)背后的故事--ICMP协议
  7. 如何把 Word 中的表格快速插入 LaTeX?
  8. 一个命名管道可以被多个客户端访问吗_Redis 的事务机制和管道技术Pipelining
  9. mysql的正则书写规则_MySql中正则表达式的使用方法描述
  10. MFC关键技术-命令传递机制
  11. 交换二叉树的每个节点的左右子树
  12. 锐捷交换机配置命令大全_锐捷交换机常用配置命令汇总
  13. css background 一半_CSS---阴阳图
  14. matlab有限域多项式除法_MATLAB极小值优化
  15. 袁永福的博客系列文章链接集合
  16. LOJ P10147 石子合并 题解
  17. 如何解决系统存储卡找不到,难一格式化的问题
  18. 360手机助手pc版 v2.4.0.1265 官方版
  19. 服务器共享文件设成禁止删除,服务器共享文件夹权限 禁止删除共享文件方法...
  20. windows win7电脑搜索功能失效怎么修复

热门文章

  1. B. Alyona and a Narrow Fridge( Codeforces Global Round 2)二分
  2. 童瑶担任奥伦纳素“冰白大使”,高端护肤品类加速扩张中国市场
  3. [iPhone-APP]手机归属地查询软件
  4. go语言之time包的使用
  5. 计算机产业能否迅速发展,工业计算机得到了迅速的发展和全面的普及
  6. pdf怎么编辑连续页码
  7. frontpage中没有动态HTML效果,FrontPage制作网页的动态效果(上)
  8. 【vim】禁止vim生成 un~文件
  9. scum服务器设置网站,SCUM服务器配置详解 参数设置推荐
  10. c罩杯尺码_教你三步正确测量内衣尺码!