作者:Peter

红色石头的个人网站:

红色石头的个人博客-机器学习、深度学习之路​www.redstonewill.com

今天带来第二周课程的笔记:梯度下降与正规方程。

主要内容:

  • 多维特征
  • 多变量梯度下降
  • 梯度下降法实践
  • 正规方程

多维特征Multiple Features

还是利用房价模型的例子,增加了更多的特征,比如:房间楼层、房间数量、地理位置等,构成了一个含有多个变量的模型

n:代表的是特征的数量

x(i):代表第i个训练实例,是特征矩阵中的第i行,是一个向量vector

xij:表示的是第i个训练实例的第j个特征;i表示行,j表示列

支持多变量的假设h表示为:

为了简化公式,引入,公式转化为:

特征矩阵X 的维度是m∗(n+1),公式简化为:

多变量梯度下降

算法目标

与单变量线性回归类似,在多变量线性回归中,构建一个代价函数,则这个代价函数是所有建模误差的平方和,即:

其中:

算法过程:

Python代码

给定特征矩阵X,输出y,学习率θ,求代价函数J

import 

梯度下降法实践

特征缩放

面对多维度特征问题,我们需要保证这些特征具有相近的尺度,帮助梯度下降算法更快地收敛。

以房价问题为例,假设仅用两个特征,房屋的尺寸和数量,以两个参数分别为横纵坐标,假设尺寸在0-2000平方英尺,数量在0-5之间。

绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。

解决办法:将所有的特征的尺度尽量缩放到-1到1之间,令:

其中un为平均值,sn为标准差

均值归一化

学习率问题

梯度下降算法的每次迭代受到学习率的影响

  • 如果学习率过小,则达到收敛所需的迭代次数会非常高,收敛速度非常慢
  • 如果学习率过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛

常用学习率包含:α=0.01,0.03,0.1,0.31,3,10α=0.01,0.03,0.1,0.31,3,10

特征和多项式回归

如房价预测问题,

同时房屋面积=宽度 * 深度

在实际拟合数据的时候,可能会选择二次或者三次方模型;如果采用多项式回归模型,在运行梯度下降法之前,特征缩放很有必要。

正规方程 Normal Equation

梯度下降缺点

需要多次迭代才能达到局部最优解

正规方程demo

正规方程具有不可逆性

正规方程就是通过求解下面例子中的方程找出使得代价函数最小参数θ:

不可逆矩阵不能使用正规方程求解

Normal Equation VS Gradient Descent

梯度下降和正规方程的比较:

参数θ求解过程

正规方程的Python实现

import 

至此,第一周的课程笔记完毕!

系列文章:

吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习

本文首发于公众号:AI有道(ID: redstonewill),欢迎关注!

python解zuobiaoxi方程_吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程相关推荐

  1. coursera—吴恩达Machine Learning笔记(1-3周)

    Machine Learning 笔记 笔记主要按照进度记录上课主要内容和部分代码实现,因为我会看一阶段再进行整理,内容会有一定交叉.关于代码部分,一开始我是只为了做作业而写代码的,现在觉得不妨仔细看 ...

  2. python解zuobiaoxi方程_从马尔可夫链到蒙特卡洛-Metropolis方法(Python)

    这学期在上郭璐老师的<计算物理>,结合<An Introduction to Computational Physics>与网上一些资料,整理一下马尔科夫链与蒙特卡洛法相关笔记 ...

  3. python解zuobiaoxi方程_滑坡稳定性分析程序初探---Python版!

    0 前言 山体滑坡是常见的自然灾害,从理论分析的角度讲,滑坡的稳定性分析方法源自于高中物理学,如图1所示.前者的滑动分析非常简单,在已知滑块的重量以及接触面摩擦系数的基础上通过计算下滑力和抗滑力的关系 ...

  4. python解zuobiaoxi方程_欧式期权定价的python实现

    0. pre 在<给你的二叉树期权定价>中就挖了坑要写期权定价的代码,这会有时间来填坑啦. 本文将会用python实现欧式期权定价.具体的定价算法分别是基于BS公式的.蒙特卡洛的以及二叉树 ...

  5. 逻辑回归python正则化 选择参数_吴恩达机器学习笔记(三)——正则化(Regularization)...

    1.过拟合的问题(Over-fitting) 如果我们有非常多的特征,我们通过学习得到的假设可能能够非常好地适应训练集(代价函数可能几乎为0),但是可能会不能推广到新的数据. (1)下图是一个回归问题 ...

  6. python 异常检测算法_吴恩达机器学习中文版笔记:异常检测(Anomaly Detection)

    大数据文摘经授权转载 作者:黄海广 在接下来的一系列视频中,我将向大家介绍异常检测(Anomaly detection)问题.这是机器学习算法的一个常见应用.这种算法的一个有趣之处在于:它虽然主要用于 ...

  7. 吴恩达ex3_吴恩达Machine Learning Ex3 python实现

    1.Multi-class classification 使用Logistic regression和neural networks来识别手写数字识别(从0到9).在第一部分练习中使用Logistic ...

  8. 吴恩达机器学习(八)多元梯度下降

    文章目录 1.多特征量的线性回归 2.多元梯度下降法 1.多特征量的线性回归 开始讨论一种新的线性回归的版本,这种形式适用于多个变量或者多特征量的情况. 假设我们不仅有房屋面积作为预测房屋价格的一种特 ...

  9. 吴恩达机器学习,监督学习线性回归与梯度下降(MATLAB实现)

    监督学习模型描述 学习算法通过训练集得到一个假设函数h,h接收输入可以得到一个输出. 列如: 已知房子大小与对应的价格,通过学习算法驯良可以得到一个假设函数 h h h: h = θ 0 + θ 1 ...

最新文章

  1. Vagrant 管理部署 VirtualBox (推荐使用)
  2. C 函数 strstr 的高效实现
  3. linux 软件装到hone,如何在Linux系统安装Apollo
  4. node process.env
  5. 布尔运算_实例解析!布尔运算运用技巧!
  6. 科大星云诗社动态20210311
  7. 有1,2,3,4四个数字,能组成多少个互不相同且无重复数字的三位数 都是多少
  8. node --- 监听文件变化(静态、动态、子进程)
  9. P2350-[HAOI2012]外星人【线性筛】
  10. java paint调用,求教 如何调用这个paint
  11. 一个CSS3滤镜Drop-shadow阴影效果
  12. 黑苹果之驱动小米随身WiFi
  13. 小新air14学计算机,小新Air14对比小新Pro13哪个更香,盘点办公学习的
  14. 基于Easy CHM和VS的帮助文档制作
  15. 计算机编程是什么专业 难学吗
  16. 渗透测试工程师面试题大全(164道)
  17. 软件需求分析——非功能性需求
  18. 七个关键心理学(2)损失厌恶
  19. YIT-CTF—隐写术
  20. 民锋国际期货:5年后我会更有钱吗?

热门文章

  1. sign check fail: check Sign and Data Fail
  2. Android自定义view详解,使用实例,自定义属性,贝塞尔曲线
  3. ListView隐藏右侧滚动条,listview去掉分割线,自定义分割线,ListView添加HeaderView和FooterView
  4. centos 安装pm2
  5. data:image data url 文件上传
  6. 计算机应用基础专科作业二,电子科大18秋《计算机应用基础(专科)》在线作业2...
  7. python标准库(一)
  8. 自己常用的Linux命令总结
  9. vs设置html的模板快
  10. CF468B Two Sets