引言
机器学习是什么?
Tom Mitchell对于机器学习的定义:一个程序被认为能从经验 E 中学习,解决任务 T,达到性能度量值P,当且仅当,有了经验 E 后,经过 P 评判,程序在处理 T 时的性能有所提升。
监督学习
监督学习中的数据中是提前做好了分类的信息的,如垃圾邮件检测中,他的训练样本是提前存在分类的信息,也就是对垃圾邮件和非垃圾邮件的标记信息。监督学习中,他的训练样本中是同时包含有特征和标签信息的。监督学习中,比较典型的问题就是
分类问题(Classfication)
和回归问题(Regression)
。它们两者最主要的特点就是分类算法中的标签是离散的值,就像上面说的邮件分类问题中的标签为{1, -1},分别表示了垃圾邮件和非垃圾邮件,而回归算法中的标签值一般是连续的值,如预测一个人的年龄,一般要根据身高、性别、体重等标签,这是因为年龄是连续的正整数。无监督学习
无监督学习的样本是不包含标签信息的,只有一定的特征,所以由于没有标签信息,学习过程中并不知道分类结果是否正确。典型的问题就是
聚类问题
,比较有代表性的算法有K-Means算法(K均值算法)等。
单变量线性回归
一种可能的表达方式为:
因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数 最小。
代价函数
代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择。还有其他的代价函数也能很好地发挥作用,但是平方误差代价函数可能是解决回归问题最常用的手段了。
梯度下降
梯度下降是一个用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数的最小值。
梯度下降背后的思想是:开始时我们随机选择一个参数的组合
计算代价函数,然后我们寻找下一个能让代价函数值下降最多的参数组合。我们持续这么做直到到到一个局部最小值(local minimum),因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值(global minimum),选择不同的初始参数组合,可能会找到不同的局部最小值。
批量梯度下降(batch gradient descent)算法的公式为:
其中α是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大,在批量梯度下降中,我们每一次都同时让所有的参数减去学习速率乘以代价函数的导数。
线性代数回顾
- 矩阵和向量
- 矩阵加法和乘法
- 矩阵乘法的性质
- 矩阵的逆矩阵和转置