吴恩达 - 机器学习笔记

第一周

1.1监督学习

1.1.1监督学习定义

监督学习指的就是我们给学习算法一个数据集。这个数据集由"正确答案"组成。

1.1.2监督学习-回归

比如输入(x)是(email),而输出就是是否是垃圾邮件.这个算法将会提供垃圾邮件过滤器.再比如输入是一则语音,输出是文本.那么算法就是语音识别.最后比如输入是语言A,输出是语言B,这就是机器翻译.

扩展来说,就是提供给你的机器学习的算法一些样本集,算法从样本集中学习,然后就可以接收新的输入(不在样本集里的),不断训练,得到正确的输出(y).

看一个具体的例子,根据房子的大小来预测房价.横坐标是房子的大小,纵坐标是房子的价格.

我们应用学习算法,可以在这组数据中画一条直线,或者换句话说,拟合一条直线,根据这条线我们可以推测出,这套房子可能卖150k美元,当然这不是唯一的算法。可能还有更好的,比如我们不用直线拟合这些数据,用二次方程去拟合可能效果会更好.根据二次方程的曲线,我们可以从这个点推测出,这套房子能卖接近200k美元。稍后我们将讨论如何选择学习算法,如何决定用直线还是二次方程来拟合。两个方案中有一个能让你朋友的房子出售得更合理。这些都是学习算法里面很好的例子。以上就是监督学习的例子
在这里插入图片描述

1.1.2监督学习-分类

分类指的是,试着推测出离散的输出值:0或1良性或恶性,而事实上在分类问题中,输出可能不止两个值

举个例子,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄.
在这里插入图片描述

1.2 无监督学习

在无监督学习中,我们已知的数据.看上去有点不一样,不同于监督学习的数据的样子,无监督学习没有任何的如上要求输出的(y).

1.2.1 无监督学习-聚类算法

1.谷歌新闻每天都在,收集非常多,非常多的网络的新闻内容.它再将这些新闻分组,组成有关联的新闻.所以谷歌新闻做的就是搜索非常多的新闻事件,自动地把它们聚类到一起.所以,这些新闻事件全是同一主题的,所以显示到一起.
2.鸡尾酒算法:两个麦克风分别离两个人不同距离,录制两段录音,将两个人的声音分离开来

所以这个就是无监督学习,没有提前告知算法一些信息.比如,这是第一类的人,那些是第二类的人,还有第三类,等等.只是知道有一堆数据,不知道数据里面有什么.不知道谁是什么类型.甚至不知道人们有哪些不同的类型,这些类型又是什么.但能自动地聚类那些个体到各个类

2.单变量线性回归(Linear Regression with One Variable)

2.1模型表示

以之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示:
在这里插入图片描述
将要用来描述这个回归问题的标记如下:
m代表训练集中实例的数量
x代表特征/输入变量
y代表目标变量/输出变量
(x,y)代表训练集中的实例
代表第 i个观察实例
h代表学习算法的解决方案或函数也称为假设(hypothesis)
在这里插入图片描述
这就是一个监督学习算法的工作方式,我们可以看到这里有我们的训练集里房屋价格 我们把它喂给我们的学习算法,学习算法的工作了,然后输出一个函数,通常表示为小写 h表示。
假设函数 hθ(x) = θ0 + θ1x,,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题

2.2代价函数

目标便是选择出可以使得建模误差的平方和能够最小的模型参数。
即使得代价函数 在这里插入图片描述最小
代价函数也被称为平方误差函数或者平方误差代价函数,在线性回归问题中,平方误差函数是最常用的手段

2.2.1 只考虑一个参数 θ 1 θ_1 θ1

先取 θ 0 θ_0 θ0为0并改变 θ 1 θ_1 θ1的值,得到多组值
得到的minimize J( θ 0 θ_0 θ0) 就是线性回归的目标函数
在这里插入图片描述

2.2.2 θ 0 θ_0 θ0 θ 1 θ_1 θ1都考虑

在这里插入图片描述
代价函数的样子,等高线图,则可以看出在三维空间中存在一个使得在这里插入图片描述最小的点。
在这里插入图片描述

2.2.3 梯度下降

梯度下降是一个用来求函数最小值的算法

梯度下降背后的思想是:开始时我们随机选择一个参数的组合,计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。

梯度下降背后的思想是:
1.开始时随机选择一个参数的组合在这里插入图片描述,计算代价函数
2.然后寻找下一个能让代价函数值下降最多的参数组合
3.持续这么做直到到到一个局部最小值(local minimum)
4.选择不同的初始参数组合,可能会找到不同的局部最小值
梯度: 函数中某一点(x, y)的梯度代表函数在该点变化最快的方向
(选用不同的点开始可能达到另一个局部最小值)
在这里插入图片描述
批量梯度下降(batch gradient descent)算法的公式为:
在这里插入图片描述

其中是α 学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,每一次都同时让所有的参数减去学习速率乘以代价函数的导数。

θ0和θ1应同步更新,否则如果先更新θ0,会使得θ1是根据更新后的θ0去更新的,与正确结果不相符
在这里插入图片描述

2.3 梯度下降的直观理解

梯度下降算法如下:
在这里插入图片描述

描述:对θ赋值,使得J(θ)按梯度下降最快方向进行,一直迭代下去,最终得到局部最小值。其中是α 学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。
在这里插入图片描述
关于α
如果α选择太小,会导致每次移动的步幅都很小,最终需要很多步才能最终收敛
如果α选择太大,会导致每次移动的步幅过大,可能会越过最小值,无法收敛甚至会发散
在这里插入图片描述
现在,还有一个问题,如果预先把放在一个局部的最低点,你认为下一步梯度下降法会怎样工作?

假设将θ1初始化在局部最低点,在这儿,它已经在一个局部的最优处或局部最低点。结果是局部最优点的导数将等于零,因为它是那条切线的斜率。这意味着已经在局部最优点,它使得θ1不再改变,也就是新的θ1等于原来的θ1,因此,如果你的参数已经处于局部最低点,那么梯度下降法更新其实什么都没做,它不会改变参数的值。这也解释了为什么a即使学习速率保持不变时,梯度下降也可以收敛到局部最低点。

2.4 梯度下降的线性回归

梯度下降算法和线性回归算法比较如图:
在这里插入图片描述
对之前的线性回归问题运用梯度下降法,关键在于求出代价函数的导数,即:
在这里插入图片描述
上述称为批量梯度下降

梯度回归的局限性: 可能得到的是局部最优解
线性回归的梯度下降的函数是凸函数,因此没有局部最优解,只有全局最优解
凸函数

第二周

4.多变量线性回归(Linear Regression with Multiple Variables)

4.1多维特征

目前为止,我们探讨了单变量/特征的回归模型,现在对房价模型增加更多的特征,例如房间数楼层等,构成一个含有多个变量的模型,模型中的特征为(x1,x2,…,xn)。
在这里插入图片描述
增添更多特征后,我们引入一系列新的注释:
n 代表特征的数量

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

比方说,上图的
在这里插入图片描述

在这里插入图片描述代表特征矩阵中第i行的第j个特征,也就是第i个训练实例的第j个特征。
支持多变量的假设h表示为:在这里插入图片描述
此时模型中的参数是一个 n+1维的向量,任何一个训练实例也都是 n+1维的向量,特征矩阵X的维度是 m*(n+1)。 因此公式可以简化为: 其中T代表矩阵转秩。

4.2 多变量梯度下降

单变量线性回归类似,在多变量线性回归中,构建一个代价函数,则这个代价函数是所有建模误差的平方和,即:
在这里插入图片描述
目标和单变量线性回归问题中一样,是要找出使得代价函数最小的一系列参数。 多变量线性回归的批量梯度下降算法为:
在这里插入图片描述
在这里插入图片描述

4.3 梯度下降法实践1-特征缩放

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

当特征范围相差太大时,会一直来回振荡,梯度下降效率低

以房价问题为例,假设使用两个特征,房屋的尺寸和房间的数量,尺寸的值为 0-2000平方英尺,而房间数量的值则是0-5,以两个参数分别为横纵坐标,绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。
在这里插入图片描述

解决的方法是尝试将所有特征的尺度都尽量缩放到-1到1之间。如图:
在这里插入图片描述
即特征缩放:在这里插入图片描述

4.4 梯度下降法实践2-学习率

梯度下降算法收敛所需要的迭代次数根据模型的不同而不同,我们不能提前预知,我们可以绘制迭代次数和代价函数的图表来观测算法在何时趋于收敛。
在这里插入图片描述
梯度下降算法的每次迭代受到学习率的影响,如果学习率 α \alpha α过小,则达到收敛所需的迭代次数会非常高;如果学习率 α \alpha α过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛。

通常可以考虑尝试些学习率:
α \alpha α = 0.01,0.03,0.1,0.3,1,3,10

4.5 特征和多项式回归

在这里插入图片描述
如房价预测问题:有两个特征,x1 是土地宽度,x2 是土地纵向深度,则有 h θ h_θ hθ(x) = θ0 + θ1x1 + θ2x2
由于房价实际与面积挂钩,所以可假设x = x1 * x2,则有 h θ h_θ hθ(x) = θ 0 θ_0 θ0 + θ 1 θ_1 θ1x

线性回归并不适用于所有数据,有时需要曲线来适应我们的数据,比如一个二次方模型: h θ h_θ hθ(x) = θ 0 θ_0 θ0 + θ 1 θ_1 θ1 x 1 x_1 x1 + θ 2 θ_2 θ2 x 2 2 x^2_2 x22或者三次方模型: h θ h_θ hθ(x) = θ 0 θ_0 θ0 + θ 1 θ_1 θ1 x 1 x_1 x1 + θ 2 θ_2 θ2 x 2 2 x^2_2 x22+ θ 3 θ_3 θ3 x 3 3 x^3_3 x33

在这里插入图片描述
其中 h θ h_θ hθ(x) = θ 0 θ_0 θ0 + θ 1 θ_1 θ1 x 1 x_1 x1 + θ 2 θ_2 θ2 x 2 2 x^2_2 x22曲线后半明显下降,最终会变为0,显然不符合实际
通常需要先观察数据然后再决定准备尝试怎样的模型。 另外,我们可以令: x 2 x_2 x2 = x 2 2 x^2_2 x22 x 3 x_3 x3 = x 3 3 x^3_3 x33 ,从而将模型转化为线性回归模型。

根据函数图形特性,我们还可以使:
h θ h_θ hθ(x) = θ 0 θ_0 θ0 + θ 1 θ_1 θ1(size) + θ 2 θ_2 θ2 ( s i z e ) 2 (size)^2 (size)2

或者:
h θ h_θ hθ(x) = θ 0 θ_0 θ0 + θ 1 θ_1 θ1(size) + θ 2 θ_2 θ2 s i z e \sqrt{size} size
在这里插入图片描述

注:如果采用多项式回归模型,在运行梯度下降算法前,特征缩放非常有必要。

4.6 正规方程

对于某些线性回归问题,正规方程方法比梯度下降算法是更好的解决方案。如:
在这里插入图片描述
正规方程是通过求解下面的方程来找出使得代价函数最小的参数的: α α θ j \frac{\alpha}{\alphaθ_j} αθjαJ( θ j θ_j θj) = 0。 假设我们的训练集特征矩阵为X(包含了 x 0 x_0 x0 = 1)并且我们的训练集结果为向量y 则利用正规方程解出向量θ = ( X T X ) (X^TX) (XTX)-1XTy 。 上标T代表矩阵转置,上标-1 代表矩阵的逆。设矩阵A = XTX,则:(XTX)-1 = A-1 以下表示数据为例:
在这里插入图片描述
在这里插入图片描述

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值