Coursera Machine Learning 学习笔记(六)

- Gradient descent

梯度下降算法是一个用来求得函数最小值的算法,这里我们将使用梯度下降算法来求出代价函数的最小值。

梯度下降的思想是:开始的时候我们随机选择一个参数的组合并计算代价函数,之后我们寻找下一个能使得代价函数值下降最多的参数的组合。

我们持续如此过程直到一个局部最小值(local minimum),由于我们并没有完全尝试完所有参数的组合,所以我们不能够确定我们得到的局部最小值是否为全局最小值(global minimum),而且选择不同的参数组合,我们可能会找到不同的局部最小值。

对于梯度下降算法(Gradient descent algorithm)的公式:

值得注意的是:alpha是学习率(learning rate),它决定了沿着代价函数下降程度最大的方向向下迈出的步子的大小。

注:即使学习速率被固定,梯度下降也会收敛到局部最小点。而且,当我们接近局部最小值时,梯度下降将自动的缩小步幅,所以我们不需要随着时间的推移来缩小学习速率。

在批量梯度下降中,我们每次都同时让所有的参数减去学习速率乘以代价函数的导数。







时间: 2024-10-14 08:45:10

Coursera Machine Learning 学习笔记(六)的相关文章

Coursera Machine Learning 学习笔记(一)

之前就对Machine Learning很感兴趣,假期得闲看了Coursera Machine Learning 的全部课程,整理了笔记以便反复体会. I. Introduction (Week 1) - What is machine learning 对于机器学习的定义,并没有一个被一致认同的答案. Arthur Samuel (1959) 给出对机器学习的定义: 机器学习所研究的是赋予计算机在没有明确编程的情况下仍能学习的能力. Samuel设计了一个西洋棋游戏,他让程序自己跟自己下棋,并

Coursera Machine Learning 学习笔记(二)

- Supervised Learning 对于监督学习我们先看一个例子,下图中表示的是一个房价预测的例子.图中横坐标表示房屋占地面积,纵坐标表示房屋交易价格.图中的每个叉则表示一个房屋实例. 现在,我们希望能够预测一个房屋占地面积为750平方英尺的房屋的交易价格是多少.简单的方法是根据这些数据点的分布,画出一条合适的直线,然后根据这条直线来预测.当然,在此房价预测例子中,一个二次函数更加适合已有数据的分布.因此,我们可能会更加希望使用这个二次函数的曲线来进行房价预测. 因此,我们称上述这样的学

Coursera Machine Learning 学习笔记(四)

 II. Linear Regression with One Variable (Week 1) - Model representation 以之前预测房价的问题为例,假设我们回归问题的训练集(Training Set)如下所示: 我们用如下符号来描述回归问题中的量: - m 代表训练集中实例的数量 - x 代表特征/输入变量 - y 代表目标变量/输出变量 - (x,y) 代表训练集中的实例 -  代表第i个观察实例 - h 代表学习算法的解决方案或函数,也称为假设(hypothesi

Coursera Machine Learning 学习笔记(三)

- Unsupervised Learning 在监督学习中,无论是回归问题还是分类问题,我们所用到数据都有明确的标签或相应的预测结果. 而在非监督学习中,我们现有的数据没有相应的结果或标签,有的只是特征.因此,非监督学习要解决的问题是发现这些数据是否可以分为不同的组. 非监督学习的一个典型问题是聚类问题,例如: - 分析大型数据中心网络传输数据情况,分析哪些机器在协同工作. - 社交网络分析 - 市场分割 - 天文数据分析 - 人类基因聚类分析 还有一个经典的例子是鸡尾酒会问题,在一个满是人的

Coursera Machine Learning 学习笔记(十)

- Learning rate 在梯度下降算法中,算法收敛所需要的迭代次数根据模型的不同而不同.由于我们不能提前预知,因此我们可以绘制出迭代次数和代价函数的对应关系图来观测算法在何时是趋于收敛. 当然,也有一些可以自动检测是否收敛的方法,例如我们将代价函数的变化值与某个预先设定的阈值(如0.001)进行比较,从而判断是否收敛.但是通常情况下,观测上面的图表更加直观. 梯度下降算法每次的迭代会受到学习率的影响,如果学习率过小,则达到收敛所需的迭代次数会非常高:如果学习率过大,每次迭代可能不会减小代

Coursera Machine Learning 学习笔记(十三)

VI. Logistic Regression (Week 3) - Classification 在分类问题中,我们所尝试预测的是结果是否属于某一类(例如正确或错误).分类问题的例子有:判断一封电子邮件是否是垃圾邮件:判断一封电子邮件是否是垃圾邮件:判断一次金融交易是否是欺诈等等. 我们从二元的分类问题开始讨论. 我们将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量 - Hypoth

Coursera Machine Learning 学习笔记(十四)

- Cost function 对于线性回归模型,我们定义的代价函数是所有模型误差的平方和.理论上来说,我们也可以对逻辑回归模型沿用这个定义,但是问题在于,当我们将带入到这样定义了的代价函数中时,我们得到的代价函数将是一个非凸函数(non-convex function). 这意味着我们的代价函数有许多局部最小值,这将影响梯度下降算法寻找全局最小值. 因此,我们重新定义逻辑回归的代价函数为: 其中 与之间的关系如下图所示: 这样构建的函数的特点是:当实际的y=1且也为1时误差为0,当y=1但不为

Coursera Machine Learning 学习笔记(五)

- Cost function 针对训练集以及我们的假设,下面我们将考虑如何确定假设中的系数. 我们现在要做的就是选择合适的参数,参数的选取直接影响着所得到的直线对于训练集描述的准确程度.所预测的值与训练集中实际值之间的差距就是建模误差(Modeling Error). 通过计算建模误差的平方和,进而定义代价函数(Cost Function).我们的目标则是通过对参数的选择来使得代价函数最小. 通过绘制等高线,我们可以看出三维空间中确实存在一个可以使得代价函数最小的点. 下图则展示了,通过选择合

Coursera Machine Learning 学习笔记(七)

- Gradient descent for linear regression 这里我们将梯度下降算法应用到线性回归模型中,我们先回顾一下梯度下降算法以及线性回归模型: 然后我们将梯度下降算法中的斜率也就是偏导数展开: 多数情况下,线性回归模型代价函数的分布形如凸面体,因此局部最小值也就相当于全局最小值: 下面是整个收敛以及参数确定过程: