1. 内容概要

  • Multivariate Linear Regression(多元线性回归)

    • 多元特征
    • 多元变量的梯度下降
    • 特征缩放
  • Computing Parameters Analytically
    • 正规公式(Normal Equation )
    • 正规公式非可逆性(Normal Equation Noninvertibility)

2. 重点&难点

1)多元变量的梯度下降

2) 特征缩放

为什么要特征缩放

首先要清楚为什么使用特征缩放。见下面的例子

  • 特征缩放前



由图可以知道特征缩放前,表示面积的x1变量的值远大于x2,因此J(θ)图像表示就是椭圆的,导致在梯度下降的过程中,收敛速度非常慢。

  • 特征缩放后

对各变量特征缩放后绘制出来的损失函数J(θ)明显收敛更快,这也是为什么需要特征缩放的原因了。

实现方法

  • feature scaling

\[
\begin{equation}
x_i := \frac{x_i}{x_\max - x_\min}
\end{equation}
\]

每个输入值除以(max - min)

  • mean normalization

\[
\begin{equation}
x_i := \frac{x_i - μ_i}{s_i}
\end{equation}
\]

μi: 均值

si: max - min

3) Normal Equation 正规方程式

Normal Equation

\[
\begin{equation}
θ = (X^T·X)^{﹣1}·X·Y
\end{equation}
\]

具体推理过程详见掰开揉碎推导Normal Equation

与梯度下降方法进行比较

梯度下降 正规方程式
需要选择步长α 不需要选择步长α
需要迭代训练很多次 一次都不需要迭代训练
O(kn2) O(n3,计算(XT·X)-1需要花费较长时间
即使数据特征n很大,也可以正常工作 n如果过大,计算会消耗大量时间

4) 正规方程不可逆

当XT·X不可逆时,很显然此时正规方程将不能正常计算,常见原因如下:

  • 冗余特征,在两个特点紧密相关(即它们呈线性关系,例如面积和(长,宽)这两个特征线性相关)
  • 太多的特征(例如:m≤n)。 在这种情况下,可以删除一些特征或使用"regularization"。

补充:

  • A是可逆矩阵的充分必要条件是 |A|≠0

MARSGGBO♥原创







2017-8-2

Andrew Ng机器学习课程笔记--week2(多元线性回归&正规公式)的更多相关文章

  1. Andrew Ng机器学习课程笔记--汇总

    笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归& ...

  2. Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)

    title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ...

  3. Andrew Ng机器学习课程笔记(一)之线性回归

    Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ...

  4. Andrew Ng机器学习课程笔记(五)之应用机器学习的建议

    Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ...

  5. Andrew Ng机器学习课程笔记(四)之神经网络

    Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ...

  6. Andrew Ng机器学习课程笔记(三)之正则化

    Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ...

  7. Andrew Ng机器学习课程笔记(二)之逻辑回归

    Andrew Ng机器学习课程笔记(二)之逻辑回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364636.html 前言 ...

  8. Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计

    Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7392408.h ...

  9. 斯坦福机器学习视频笔记 Week2 多元线性回归 Linear Regression with Multiple Variables

    相比于week1中讨论的单变量的线性回归,多元线性回归更具有一般性,应用范围也更大,更贴近实际. Multiple Features 上面就是接上次的例子,将房价预测问题进行扩充,添加多个特征(fea ...

随机推荐

  1. 关于阻止PROE联网的一些想法!

    前言:商业上使用盗版proe会被官方警告,官方是通过proe软件联网来获取你的ip地址,那他是怎么知道你是商业用途而不是个人(一般不会对个人的盗版行为进行警告)?这不难,应该是通过检测同一ip下有多台 ...

  2. 号称精通Java的你,是否真的名副其实

    慎用精通 随着猎头行业的兴盛,一些应聘者往往可以从猎头那得到一些注意事项和过往经验.比如,在简历中切不可随意用上"精通"二字,尤其对于刚入职场的小伙伴. 因为,对于应聘者写上精通和 ...

  3. 文本处理常用命令--sort,uniq,cut,wc

    #文本处理命令--sort,cut,wc及其他 文本处理命令还有其他常用的,比如:sort,cut,wc 1.cut命令的用法 cut命令: cut - remove sections from ea ...

  4. Java中的数值和集合

    数组array和集合的区别: (1) 数值是大小固定的,同一数组只能存放一样的数据. (2) java集合可以存放不固定的一组数据 (3) 若程序事不知道究竟需要多少对象,需要在空间不足时自动扩增容量 ...

  5. (转)完整java开发中JDBC连接数据库代码和步骤

    JDBC连接数据库 •创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.l ...

  6. Ant Design UI组件

    Ant Design 是面向中台的 UI 设计语言.  http://ant.design/

  7. 1.Why Apache Spark?

    Why Apache Spark? 1 Why Apache Spark 2 关于Apache Spark 3 如何安装Apache Spark 4 Apache Spark的工作原理 5 spark ...

  8. Android学习笔记- ProgressBar(进度条)

    本节引言: 本节给大家带来的是Android基本UI控件中的ProgressBar(进度条),ProgressBar的应用场景很多,比如 用户登录时,后台在发请求,以及等待服务器返回信息,这个时候会用 ...

  9. Jmeter之app性能测试(ios,android)

    测试小菜鸟alter今天一大早又学习了一点东西关于jmeter-app性能测试,现在记录一下.提到性能测试,那我就简单总结一下.(想跳过的,直接将页面下移到下一个红色字体处) 性能测试的相关知识介绍 ...

  10. CSS3伪类实现动画旋转效果

    一个简单的动画效果demo,keyframes为关键帧,图片贴在代码下方.利用了伪类实现css3动画效果,初学者可以看一下,恩.<!doctype html> <html lang= ...