吴恩达老师机器学习课程01——序言+线性回归

本文是非计算机专业新手的自学笔记,欢迎指正与其他任何合理交流。

本文仅作速查备忘之用,对应吴恩达(AndrewNg)老师的机器学期课程第一章、第二章、第四章。



序言

机器学习中两种最基本的类别:

- 监督学习(Supervised learning)
- 回归(Regression)
- 分类(Classification)
- 无监督学习(Unsupervised learning)
- 聚类(Cluster)

最简单的线性回归(单特征)

基本概念

例题如下:

m:训练集中样本数量;

i:样本序号;

x:输入;

y:输出;

θ:为待定参数组成的向量,一般记成列向量。

单特征(x为一维向量)线性规划中:

\[h_{\theta} (x ) = \theta _{0} x_{0}+\theta _{1} x_{1}
\]

其中x0=1,可以用\(\theta _{0} x_{0}\)表示常数。

问题:如何确定θ?

代价函数

定义代价函数\(J(θ)\):

\[J(θ)=\frac{1}{2m} \sum_{i=1}^{m} \left ( h_{\theta} (x^{(i)} ) -y^{(i)} \right ) ^2
\]

不同的θ会导致\(J(θ)\)大小变化。

例如:

(1)

(2)

认为\(J(θ)\)越小,拟合效果越好。

故问题转化为优化问题如下:

利用梯度下降解最优问题

此处不推导梯度下降法,直接使用。

这里使用的梯度下降法,为Batch Gradient Descent,即每一步下降使用了所有训练样本。

利用梯度下降法解该最优问题的表达式如下:

\[\theta _{j} = \theta _{j} -\alpha \frac{\partial }{\partial \theta _{j}}J\left (\theta \right )
\]

其中,α表示步长,机器学习中称之为学习率(learning rate)。

学习率的选取很重要:过大会导致发散,无法收敛;过小会导致算法步数过多,花费时间长。吴恩达老师建议,可以如“0.03,0.1,0.3,1……”这样取值。

梯度下降法在编程时应当注意同步更新θ:

多特征线性回归

特征的向量x不再是一维向量。

例题如下:

因此要做出以下改变:

利用梯度下降解优化问题

直接求导/正规方程法

正规方程方法的推导如下(不包含矩阵与向量求导的推导):

几点注意

  • 特征的缩放(Feature Scaling)

    特征的数量级差别过大会导致梯度下降步数过多。可以通过$x=\frac{x-\mu }{max(x_{i} )-min(x_{i} )} $的方法进行规格化。

    正规方程法中就不需要了。
  • 多项式回归(Polynomial Regression)

    可以将x、x^2、x^3……视为不同特征,进行多特征拟合,得到多项式回归结果,进行非线性拟合。
  • 正规方程中不可求逆

    求逆(inv)时,出现矩阵不可逆很可能是因为特征出现冗余,不同特征之间线性相关。可以删除部分特征。无法删除时可以求其伪逆(pinv)。
  • 正规方程法很直接,但是在n很大时,求矩阵乘法和逆的过程运算会变慢。

吴恩达老师机器学习课程chapter01——序言+回归的更多相关文章

  1. 机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 http://www.ai-start.com/

    机器学习爱好者 -- 翻译吴恩达老师的机器学习课程字幕 GNU Octave    开源  MatLab http://www.ai-start.com/ https://zhuanlan.zhihu ...

  2. 吴恩达《机器学习》课程笔记——第六章:Matlab/Octave教程

    上一篇  ※※※※※※※※  [回到目录]  ※※※※※※※※  下一篇 这一章的内容比较简单,主要是MATLAB的一些基础教程,如果之前没有学过matlab建议直接找一本相关书籍,边做边学,matl ...

  3. 吴恩达《机器学习》课程总结(5)_logistic回归

    Q1分类问题 回归问题的输出可能是很大的数,而在分类问题中,比如二分类,希望输出的值是0或1,如何将回归输出的值转换成分类的输出0,1成为关键.注意logistics回归又称 逻辑回归,但他是分类问题 ...

  4. 深度学习 吴恩达深度学习课程2第三周 tensorflow实践 参数初始化的影响

    博主 撸的  该节 代码 地址 :https://github.com/LemonTree1994/machine-learning/blob/master/%E5%90%B4%E6%81%A9%E8 ...

  5. 吴恩达《机器学习》课程笔记——第七章:Logistic回归

    上一篇  ※※※※※※※※  [回到目录]  ※※※※※※※※  下一篇 7.1 分类问题 本节内容:什么是分类 之前的章节介绍的都是回归问题,接下来是分类问题.所谓的分类问题是指输出变量为有限个离散 ...

  6. 吴恩达《机器学习》课程总结(18)_照片OCR

    18.1问题描述和流程图 (1)图像文字识别是从给定的一张图片中识别文字. (2)流程包括: 1.文字侦测 2.字符切分(现在不需要切分了) 3.字符分类 18.2滑动窗口 在行人检测中,滑动窗口是首 ...

  7. 吴恩达《机器学习》编程作业——machine-learning-ex1:线性回归

    ❄❄❄❄❄❄❄❄[回到目录]❄❄❄❄❄❄❄❄ 本次编程作业中,需要完成的代码有如下几部分: [⋆] warmUpExercise.m - Simple example function in Octa ...

  8. 跟我学算法-吴恩达老师(超参数调试, batch归一化, softmax使用,tensorflow框架举例)

    1. 在我们学习中,调试超参数是非常重要的. 超参数的调试可以是a学习率,(β1和β2,ε)在Adam梯度下降中使用, layers层数, hidden units 隐藏层的数目, learning_ ...

  9. 跟我学算法-吴恩达老师(mini-batchsize,指数加权平均,Momentum 梯度下降法,RMS prop, Adam 优化算法, Learning rate decay)

    1.mini-batch size 表示每次都只筛选一部分作为训练的样本,进行训练,遍历一次样本的次数为(样本数/单次样本数目) 当mini-batch size 的数量通常介于1,m 之间    当 ...

  10. 跟我学算法-吴恩达老师的logsitic回归

    logistics回归是一种二分类问题,采用的激活函数是sigmoid函数,使得输出值转换为(0,1)之间的概率 A = sigmoid(np.dot(w.T, X) + b ) 表示预测函数 dz ...

随机推荐

  1. 20200420关于mysql突然停止服务的记录

    期待评论ing... 前天开发商城项目的时候,没注意d盘满了,后来5.5的mysql就突然无法启动,而且提示2003错误,在cmd中启动也是没有任何报错信息. 然后就找5.5原因,在windows的, ...

  2. macOS 系统安装提示应用程序副本已损坏的解决方法

    错误预览: 操作方法,关闭Wi-Fi,网线(以修改时间为 2020 为例): 再次尝试安装吧...

  3. Rstudio 快捷键无法使用

    今天突然发现我的R studio 很多快捷键不能使用,后面发现是因为Rstudio 的快捷键与MobaXterm的快捷键起冲突了,后面关掉MobaXterm后就恢复了,如果有类似的问题可以在自己电脑打 ...

  4. HCIP-ICT实战进阶07-BGP路由选路

    HCIP-ICT实战进阶07-BGP路由选路 1 BGP路径属性 任何一条BGP路由拥有多个路径属性; 当路由器将BGP路由拥有通告他的对等体时, 在Update报文中一并被通告的还有路由所携带的各个 ...

  5. 登录注册的小项目对比.Net Core与 .Net Framework的一些区别

    一.需求: 1.功能只有登录.注册. 二.架构: 1.分别为 UserSys.IServices:主要有实体和对实体的配置,还有对实体的操作接口 UserSys.Services :主要是对自ISer ...

  6. Pytorch实战学习(一):用Pytorch实现线性回归

    <PyTorch深度学习实践>完结合集_哔哩哔哩_bilibili P5--用Pytorch实现线性回归 建立模型四大步骤 一.Prepare dataset mini-batch:x.y ...

  7. 实验一 Python程序设计入门 20203412马畅若

    课程:<Python程序设计>班级: 2034姓名: 马畅若学号:20203412实验教师:王志强实验日期:2021年4月13日必修/选修: 公选课 实验一 (一)实验内容 1.熟悉Pyt ...

  8. 记一次redis集群搭建过程

    在搭建前,我们先用vmware创建3台虚拟机,并确保它们相互之间能够ping通. 1. redis源码安装 1.1 编译安装 apt install gcc make wget http://down ...

  9. 性能测试-Jmeter无图型界面运行模式

    1.Jmeter进入帮助中心 1.在机器内安装jmeter的安装bin目录内直接输入cmd,会打开dos命令行 2.再cmd里输入,jmeter --help可以查看参数说明 2.Jmeter参数说明 ...

  10. 【转载】Adobe Acrobat XI Pro闪退原因及解决办法

    https://www.cnblogs.com/zohoo/p/12704689.html https://www.cnblogs.com/zohoo/p/12704689.html