ng机器学习视频笔记(三)

——线性回归的多变量、特征缩放、标准方程法

(转载请附上本文链接——linhxx)

一、多变量

当有n个特征值,m个变量时,h(x)= θ0+θ1x1+θ2x2…+θnxn,其中可以认为x0=1。因此,h(x)= θTx,其中θ是一维向量,θ=[θ0, θ1…θn] T,x也是一维向量,x=[x0,x1..xn] T,其中x0=1。

二、特征缩放(Feature Scaling)

特征缩放的目的,是为了让每个特征值在数量上更加接近,使得每个特征值的变化的影响相对比较“公平”。

其将每个特征值,除以变量中该特征值的范围(特征值最大值减最小值),将结果控制在-1~1之间。

对于x0,不需要改变,其仍是1,也在期望的范围内(-1~1)。

公式:特征值=(原值-特征平均值)/取值区间,取值区间=最大值-最小值。

三、学习速率α

α表示迭代至稳定值的速率。当θ用公式进行迭代,两次迭代之间的Δθ的值小于某个值(一般可以用10-3),则可以认为代价函数已经最小。

对于α,可以使用下列数据进行测试:

0.001、0.01、0.1、1、10…,或者可以用0.001、0.003、0.01、0.03、0.1、0.3、1…,即可以用3倍或10倍的速度,将α的值慢慢调整到一个区间,再进行微调。

四、多项式回归(Polynomial regression)

当图像用直线表示不是很准确的时候,可以考虑使用其他函数,如二次、三次、根号等函数进行表示。

五、标准方程法(normal equation)

1、公式推导

标准方程法是与梯度下降法功能相似的算法,旨在获取使代价函数值最小的参数θ。代价函数公式如下:

根据上述代价函数,令J对每个θ的倒数都为0,可以解得θ=(XTX)-1XTY。其中,Y=[y1,y2…yn]表示每个样本的结果,表示样本的集合。

由于这个方法是直接通过代数的方式,解出每个θ,因此,其不需要进行特征缩放,也不需要学习速率α。

2、特殊情况

由于用标准方程法时,涉及到要计算矩阵XTX的逆矩阵。但是XTX的结果有可能不可逆。

当使用python的numpy计算时,其会返回广义的逆结果。

主要原因:

出现这种情况的主要原因,主要有特征值数量多于训练集个数、特征值之间线性相关(如表示面积采用平方米和平方公里同时出现在特征值中)。

因此,首先需要考虑特征值是否冗余,并且清除不常用、区分度不大的特征值。

3、比较标准方程法和梯度下降算法

这两个方法都是旨在获取使代价函数值最小的参数θ,两个方法各有优缺点:

1)梯度下降算法

优点:当训练集很大的时候(百万级),速度很快。

缺点:需要调试出合适的学习速率α、需要多次迭代、特征值数量级不一致时需要特征缩放。

2)标准方程法

优点:不需要α、不需要迭代、不需要特征缩放,直接解出结果。

缺点:运算量大,当训练集很大时速度非常慢。

4、综合

因此,当训练集百万级时,考虑使用梯度下降算法;训练集在万级别时,考虑使用标准方程法。在万到百万级区间时,看情况使用,主要还是使用梯度下降算法。

——written by linhxx

更多最新文章,欢迎关注微信公众号“决胜机器学习”,或扫描右边二维码。

转载于:https://www.cnblogs.com/linhxx/p/8412687.html

ng机器学习视频笔记(三) ——线性回归的多变量、特征缩放、标准方程法相关推荐

  1. ng机器学习视频笔记(十四) ——推荐系统基础理论

    ng机器学习视频笔记(十三) --推荐系统基础理论 (转载请附上本文链接--linhxx) 一.概述 推荐系统(recommender system),作为机器学习的应用之一,在各大app中都有应用. ...

  2. ng机器学习视频笔记(二) ——梯度下降算法解释以及求解θ

    ng机器学习视频笔记(二) --梯度下降算法解释以及求解θ (转载请附上本文链接--linhxx)   一.解释梯度算法 梯度算法公式以及简化的代价函数图,如上图所示. 1)偏导数 由上图可知,在a点 ...

  3. ng机器学习视频笔记(十三) ——异常检测与高斯密度估计

    ng机器学习视频笔记(十三) --异常检测与高斯密度估计 (转载请附上本文链接--linhxx) 一.概述 异常检测(anomaly detection),主要用于检查对于某些场景下,是否存在异常内容 ...

  4. 吴恩达机器学习 Coursera 笔记(三) - 线性回归回顾

    1 矩阵和向量 矩阵 向量 2 加法和标量乘号 加法 标乘 转载于:https://juejin.im/post/5c1953b2e51d4545020b46ce

  5. 吴恩达机器学习训练1:线性回归(多变量)

    吴恩达机器学习训练1:线性回归(多变量) 本小节为练习1中选做题,为多变量(多特征参数)的线性回归计算. 还是预测房价的例子,假设已经两个特征参数,分别是房子的尺寸和卧室的数量,在数据的第一列和第二列 ...

  6. 线性回归 --梯度下降法与标准方程法

    线性回归 简单线性回归 机器学习三要素 – 模型 策略 算法 线性回归 输入空间为XXX 输出空间为Y" role="presentation" style=" ...

  7. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 6_Logistic Regression 逻辑回归

    Lecture6 Logistic Regression 逻辑回归 6.1 分类问题 Classification 6.2 假设表示 Hypothesis Representation 6.3 决策边 ...

  8. 学习笔记(三) 线性回归算法(Linear Regression)

    一.算法简介 代码下载:https://download.csdn.net/download/xdg2008/14017829 1.1 什么是回归分析 回归分析是一种预测性的建模技术,它研究的是因变量 ...

  9. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 12—Support Vector Machines 支持向量机...

    Lecture 12 支持向量机 Support Vector Machines 12.1 优化目标 Optimization Objective 支持向量机(Support Vector Machi ...

最新文章

  1. 银行的双重生物识别实验,是双重麻烦还是双重安全?
  2. 解决 C# GetPixel 和 SetPixel 效率问题(转)
  3. another rejection from Cambridge MPhil in Management
  4. C++异常(exception)第一篇--综合讲解
  5. rocketmq中各个角色介绍
  6. usb扩展坞同时接键盘鼠标_笔记本扩展伴侣,轻松解决接口烦恼,毕亚兹USB-C扩展坞体验...
  7. IOT物联网观察之物联网建设为什么是供给侧改革的重要途径?
  8. Hibernate深入浅出(六)事务2——锁locking
  9. RS232 DB9串口设备
  10. 计蒜客-英文金曲大赛
  11. android手机切换手写输入法,安卓搜狗输入法手写输入切换怎么设置
  12. 插值算法(最邻近差值、双线性插值、双三次插值)
  13. shal+php,PHP微信开发——第二弹
  14. Python学习思维导图
  15. apple tv 开发_如何在Apple TV上重新排列,添加和删除频道
  16. 计算机网络初探(ip协议)
  17. NVIDIA,怎么查看显卡
  18. android button 字母自动变大写的解决
  19. 【去后厂村开游戏厅吧】基于pp-tinypose的体感贪吃蛇游戏
  20. 官方MySQL解压版安装说明

热门文章

  1. 爱我的人请别走远(转载)
  2. 校招刷题---java选择题笔记02
  3. AIR通过mx:html访问本地image
  4. 数据分析学习笔记—python_word处理及邮件发送
  5. 用计算机绘制v-t图像,2.用计算机绘制v-t图象. [预习导引]
  6. c语言数据类型简介表格,C语言基本数据类型简介.docx
  7. android app打开流程_app开发模式的应用
  8. java实现蛇形输出,Java 输入一个正整数,按蛇形打印。
  9. Hihocoder 1142 三分
  10. 2018: 跑图(深搜)