吴恩达《机器学习》第一周学习笔记
1.1 欢迎
1.2 机器学习是什么
一个程序被认为能从经验中E中学习,解决任务T,达到性能度量值P,当且仅当,有了经验E后,经过P的评判,程序在处理T时的性能有所提升。
1.3 监督学习(Supervised Learning)
1:有标签(对于数据集中的每个数据,都有相应的正确答案(训练集))
1.4 无监督学习(Unsupervised Learning)
2:聚类:把具有相同特征的数据聚集在一起(谷歌新闻就是搜索非常多的新闻事件,自动的把他们聚类在一起)
二:单变量线性回归(Linear Regression with One Variable)
2.1 模型表示
2.2代价函数
代价函数也被称为平方误差函数,有时也被称为平方误差代价函数。
平方误差代价函数可能是解决回归问题最常用的手段了。
2.3代价函数的直观理解I
2.4代价函数的直观理解II
2.5 梯度下降
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降法来求出代价函数 的最小值。
梯度下降的思想是:开始的时候,我们随机选择一个参数的组合 ,计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到达一个局部最小值,因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否就是全局最小值,选择不同的初始参数组合,可能会找到不同的局部最小值。
批量梯度下降算法的公式:
其中 是学习率,它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习率乘以代价函数的导数。
2.6 梯度下降的直观理解
让我们来看看 太小或太大会出现什么情况?
如果太小,即我们的学习速率太小,它会一点点的挪动,需要很多步才会到达局部最低点。
如果太大,即我们的学习速率太大,可能会一次次的越过最低点,会导致无法收敛,甚至发散。
在梯度下降法中,当我们接近局部最低点时,梯度下降法会自动采取更小的幅度,这是因为当我们接近局部最低点时,很显然在局部最低是导数为零,所以当我们接近局部最低时,导数值会自动变得越来越小,所以梯度下降法将自动采取较小的幅度,这就是梯度下降法的做法,所以实际上没有必要再另外减小 。
这就是梯度下降算法,你可以用它来最小化任何代价函数J,不只是线性回归中的代价函数J。
2.7 梯度下降的线性回归