Luozm +

机器学习课程笔记-1

Notes about Andrew Ng's Machine Learning course on Coursera-part 1

原创文章,转载请注明:转自Luozm's Blog

1. What is Machine Learning?

举例:下棋

2. Supervised Learning

监督学习:给定已知正确输出的数据集,来发现输入和输出之前的关系。

监督学习中的问题分为两类:

3. Unsupervised Learning

非监督学习:可以解决未知输出或已知输出很少的问题,从未知变量效果的数据中提取结构,没有基于预测结果的反馈。

聚类Clustering

例子:Cocktail party problem algorithm(分离一段对话中不同人的声音)

4. Model Representation

记号:

5. Cost Function

损失函数:表示预测值与实际值的误差。

训练目标即选择合适的参数来最小化损失函数。(梯度下降,最优化问题(参数估计?)

上式中的$\frac{1}{2}$是为了之后训练梯度下降算法的方便。

Squared error function = Mean squared error (MSE)

6. Gradient Descent

梯度下降:常用训练算法求解最小化损失函数的参数。

}

其中$\alpha$为学习率,控制训练的步长。(过小则迭代时间太长;过大则可能跳过最小值,不会收敛)

注意:一次迭代中必须同时更新每个参数,而不能一次迭代只更新一个参数

举例:线性回归模型

在线性回归中,损失函数总是一个凸函数(Convex function),所以使用梯度下降算法可以得到全局最优解。

求偏导之后更新式子简化为:

其中 $x_{ij}$ 表示第 $i$ 个训练样本的第 $j$ 个特征,$x_{i0}=1(i=1,\dots,m)$。

上面使用的梯度下降算法具体为:Batch Gradient Descent。其中,”Batch”指的是每步梯度下降使用全部训练样本。

还有其他版本的梯度下降算法不使用全部训练样本,而是每次使用一部分。

© Luozm . All rights reserved. | Top

Life

Theory

Develop