吴恩达ML简略总结

吴恩达ML简略总结过拟合与欠拟合 支持向量机SVM 无监督学习神经网络学习机器学习系统设计
机器学习概览 监督学习
监督学习,指根据一个已有正确答案的数据集,训练后得到一个算法可以根据特征数据对结果数据进行预测并且预测结果尽可能符合正确结果
回归问题 : 例如课程中所例举的房价预测问题,虽然给定的数据集是离散的,但是在数据可视化后对所有的点进行拟合,即可根据房子平方数预测房价
分类问题:问题的结果只有有限个,例如诊断肿瘤的问题,根据所给的数据集把诊断结果划分为良性与恶性,分类问题又分为单特征分类问题和多特征分类问题,单特征分类问题指根据单个特征数据来划分数据集,例如根据肿瘤大小判断良性/恶性;多特征问题通过多个特征数据划分数据集,例如,肿瘤诊断后有病人年龄和肿瘤大小两个特征数据,以此划分决策界限,判断良/恶性肿瘤
单变量线性回归
单变量模型
通过训练数据集与学习算法得到假设函数,在将单变量输入假设函数后的到的估计值要尽可能接近目标变量
房价预测的假设函数:
θ \theta θ是假设函数的参数,是通过训练数据集所确定的,所选择的参数应该要使得通过假设函数得到的预测值应该近似正确值 。
代价函数,计算预测值与正确值的均方误差得:
代价函数采用1/2的均方误差是为了后续使用梯度下降时,由于偏导可以将其约去,方便计算
记为J( θ \theta θ),即代价函数,参数最优化的目标就是使代价函数取到最小值,在只有一个参数的假设函数中,所得到的代价函数曲线为一条二次曲线,其最低点即为代价函数的最小值点,即为最优的参数
对于含有两个或多个参数的假设函数,所绘制出的代价函数将是一个碗装的图像(称为凸函数),图像的最低点即为最优化的参数(常用等高线表示凸函数):
梯度下降算法, ,对于有一个或者两个参数的代价函数可以通过对 θ \theta θ求偏导,并令偏导数值为零即可求得使代价函数最小的参数值,但是对于含有多个参数的代价函数,采用数学方程来计算代价函数的最小值点会十分复杂,产生极大的运算开销,故先通过学习算法训练出初始的一组参数,然后不断的迭代优化器,使其到达代价函数的最小位置,这里采用梯度下降的算法进行优化,即每一次迭代都向代价函数的梯度方向更新参数的值,直到下降到局部最优的点,如图所示:
且每一次迭代参数的值时,必须同步更新;
其中 α \alpha α决定梯度下降的不长,称为学习率,学习率如果太小会导致梯度下降算法收敛的很慢,不过一定可以收敛到最小的代价函数;学习率过大会导致错过代价函数的最小值点,可能不会收敛,故应当选择合适的学习率 。
多变量线性回归
代价函数,如单变量线性回归中房价预测的例子,在实际情况中对于房价的预测必定不仅仅需要房间大小一个特征变量,可能还会有楼层、卧室数、房子年龄等变量,因此通过训练得到的假设函数不仅仅只有一个输入变量(特征变量),由此可以得到的假设函数如下:
特征变量x0=1,则可以把假设函数看作是x向量和 θ \theta θ向量的内积,
即:
hθ(x) = θTX;
对于多变量线性回归的梯度下降算法与单变量线性回归模型的梯度下降算法是一样的,只是需要同时迭代更新多个参数值 。
在实际中,多个特征值的取值范围可能会相差很大,这样往往会造成绘制的代价函数的等高线十分狭长,从而导致梯度下降收敛的特别慢,因而引入特征缩放( ),如图左通过将特征变量除其最大值以限制特征变量在相似的特征区间