目录
2.单变量线性回归(Linear Regression with One Variable)
4.多变量线性回归(Linear Regression with Multiple Variables)
8. 神经网络的表述(Neural Networks: Representation)
9.神经网络的学习(Neural Networks: Learning)
10.应用机器学习的建议(Advice for Applying Machine Learning)
10.3 模型选择和交叉验证集( Model Selection and Train_Validation_Test Sets)
10.4 诊断偏差和方差(Diagnosing bias vs. variance)
10.5 正则化和偏差/方差(Regularization and Bias_Variance)
14.降维(Dimensionality Reduction)
14.1 动机一:数据压缩(Motivation I_ Data Compression)
14.2 动机二:数据可视化( Motivation II_ Visualization)
14.3 主成分分析问题(Principal Component Analysis Problem Formulation)
第1周
1.引言(Introduction)
1.3 监督学习
监督学习指的就是我们给学习算法一个数据集。
回归这个词的意思是,我们在试着推测出这一系列连续值属性。
分类指的是,我们试着推测出离散的输出值:0或1良性或恶性,而事实上在分类问题中,输出可能不止两个值。
1.4 无监督学习
无监督学习中,我们已知的数据。看上去有点不一样,不同于监督学习的数据的样子,即无监督学习中没有任何的标签或者是有相同的标签。针对数据集,无监督学习就能判断出数据有两个不同的聚集簇。
2.单变量线性回归(Linear Regression with One Variable)
2.1模型表示
,因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。
2.2 代价函数
目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数 最小。代价函数也被称作平方误差函数,平方误差代价函数可能是解决回归问题最常用的手段了。
2.5 梯度下降
梯度下降是一个用来求函数最小值的算法,批量梯度下降(batch gradient descent)算法的公式为:
其中a 是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。 如果a 太小的话,可能会很慢,因为它会一点点挪动,它会需要很多步才能到达全局最低点。如果a 太大,那么梯度下降法可能会越过最低点,甚至可能无法收敛,下一次迭代又移动了一大步,越过一次,又越过一次,一次次越过最低点。
结合梯度下降法,以及平方代价函数,我们会得出第一个机器学习算法,即线性回归算法。
2.7 梯度下降的线性回归
将梯度下降和代价函数结合,应用于具体的拟合直线的线性回归算法里。
上述称为 批量梯度下降。
第2周
4.多变量线性回归(Linear Regression with Multiple Variables)
4.1 多维特征
此时模型中的参数是一个 维的向量,任何一个训练实例也都是
维的向量,特征矩阵
的维度是
。 因此公式可以简化为:
4.2 多变量梯度下降
找出使得代价函数最小的一系列参数。 多变量线性回归的批量梯度下降算法:
开始随机选择一系列的参数值,计算所有的预测结果后,再给所有的参数一个新的值,如此循环直到收敛。
4.3 梯度下降法实践1-特征缩放
面对多维特征问题的时候,要保证这些特征都具有相近的尺度,这将帮助梯度下降算法更快地收敛。尝试将所有特征的尺度都尽量缩放到-1到1之间。
4.5 特征和多项式回归
线性回归并不适用于所有数据,有时我们需要曲线来适应我们的数据,比如一个二次方模型:或者三次方模型:
通常我们需要先观察数据然后再决定准备尝试怎样的模型。 另外,我们可以令:
从而将模型转化为线性回归模型。采用多项式回归模型,在运行梯度下降算法前,特征缩放非常有必要。
4.6 正规方程
求解方程来找出使得代价函数最小的参数,正规方程解出向量
梯度下降与正规方程的比较:
梯度下降 |
正规方程 |
需要选择学习率α |
不需要 |
需要多次迭代 |
一次运算得出 |
当特征数量n 大时也能较好适用 |
需要求逆 如果特征数量n 较大则运算代价大,因为矩阵逆的计算时间复杂度为On3 ,通常来说当n 小于10000 时还是可以接受的 |
适用于各种类型的模型 |
只适用于线性模型,不适合逻辑回归模型等其他模型 |
总结,只要特征变量的数目并不大,标准方程是一个很好的计算参数θ 的替代方法
5.6 向量化
写代码做矩阵乘法,不如用合适的向量化方法来实现。
第3周
6.逻辑回归(Logistic Regression)
6.1 分类问题
在分类问题中,你要预测的变量 y 是离散的值,我们将学习一种叫做逻辑回归。将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量 ,其中 0 表示负向类,1 表示正向类。这个算法的性质是:它的输出值永远在0到 1 之间。这个算法的名字中出现了“回归”使你感到困惑,但逻辑回归算法实际上是一种分类算法,它适用于标签 y 取值离散的情况。
6.2 假说表示
逻辑回归模型的假设是: 其中:
代表特征向量
代表逻辑函数(logistic function),常用的逻辑函数为S形函数(Sigmoid function),公式为:
。
的作用是,对于给定的输入变量,根据选择的参数计算输出变量=1的可能性(estimated probablity)即
例如,如果对于给定的x ,通过已经确定的参数计算得出
=0.7 ,则表示有70%的几率y 为正向类,相应地y 为负向类的几率为1-0.7=0.3。
6.3 判定边界
决策边界(decision boundary),我们可以绘制直线 ,这条线便是我们模型的分界线,将预测为1的区域和预测为 0的区域分隔开。
6.4 代价函数
对于线性回归模型,我们定义的代价函数是所有模型误差的平方和对逻辑回归模型沿用这个定义,得到的代价函数将是一个非凸函数(non-convexfunction),有许多局部最小值,影响梯度下降算法寻找全局最小值。
重新定义逻辑回归的代价函数为:,其中
构建的 函数的特点是:当实际的
且
也为