这篇笔记,主要记录花书第五章机器学习的基础知识。通过对基础知识的理解,看看如何把前面几章学到的数学知识运用到实际的机器学习当中。
什么是机器学习?
在1959年,Arthur Samuel:不用编程去指定机器做什么,而是让机器有能力自己学习;
在1998年,Tom Mitchell:首先定义任务T,经验E,表现P,如果机器有一个任务T,随着经验E的增多,表现P也会变好,则表示机器正在经验E中学习;
在本书中我们采用Tom Mitchell的定义来解释机器学习。
一些概念
通常在训练机器学习模型时,我们需要使用某个训练集(training set),在训练集上的度量误差称为训练误差(training error)。以及用来测试性能的测试集(test set),测试集上的误差称为测试误差(test error)。
欠拟合(underfitting):是指模型不能再训练集上获得足够低的误差。
过拟合(overfitting):是指训练误差和测试误差之间的差距太大。
容量(capacity):是指拟合各种函数的能力。通常容量高的模型可能过拟合,容量低的模型可能很难拟合训练集。
正则化(regularizatioin):是指修改学习算法,使其降低测试误差而非训练误差。
超参数(Hyperparameters):大多数机器学习算法都有多个设置来控制机器学习算法的行为。这些设置成为超参数。
验证集(validation set):用于挑战超参数的数据子集,称为验证集。
点估计(point estimator):是用样本统计量来估计总体参数,点估计可以是样本参数上的任意一个函数。
函数估计(function estimation):描述输入和目标变量之间关系的点估计,称为函数估计。
偏差(bias):是指个别测定值与测定的平均值之间的差,它可以用来衡量测定结果的精密度高低。一个估计的偏差记作:
如果偏差为0,则称为无偏(unbiased),如果m趋向无限,偏差趋向0,则称为渐进无偏(asymptotiacally unbiased).尽管无偏估计是令人满意的,但是不一定是最好的估计。偏差度量着偏离真实函数或者参数的误差期望;而方差度量着数据上任意指定采样可能导致的估计期望的误差。
均方误差(mean squared error):为了度量方差偏差估计和方差估计差异比较大的情况下。偏差平方+方差。
最大似然估计
最大似然估计(Maximum Likelihood Estimation):在已经得到试验结果的情况下,我们应该寻找使这个结果出现的可能性最大的那个参数作为真的参数估计。
求最大似然函数估计值的一般步骤:
(1) 写出似然函数
(2) 对似然函数取对数,并整理
(3) 求导数
(4) 解似然方程
最大似然估计一些性质:
1.一致性:当训练样本数目趋向于无穷大的时候,参数的最大似然估计会收敛到参数的真实值。
2.统计效率:某些一致估计可能只需要较少的样本就能达到一个固定程度的泛化误差。
贝叶斯统计
先验分布(prior probability distribution):它是总体分布参数θ的一个概率分布。贝叶斯学派的根本观点,是认为在关于θ的任何统计推断问题中,除了使用样本X所提供的信息外,还必须对θ规定一个先验分布,它是在进行推断时不可或缺的一个要素。贝叶斯学派把先验分布解释为在抽样前就有的关于θ的先验信息的概率表述,先验分布不必有客观的依据,它可以部分地或完全地基于主观信念。
后验分布(posterior distribution):根据样本 X 的分布Pθ及θ的先验分布π(θ),用概率论中求条件概率分布的方法,可算出在已知X=x的条件下,θ的条件分布 π(θ|x)。因为这个分布是在抽样以后才得到的,故称为后验分布。贝叶斯学派认为:这个分布综合了样本X及先验分布π(θ)所提供的有关的信息。抽样的全部目的,就在于完成由先验分布到后验分布的转换。
最大后验估计(Maximum A Posterior Estimation):最大后验估计是根据经验数据获得对难以观察的量的点估计。与最大似然估计类似,但是最大的不同时,最大后验估计的融入了要估计量的先验分布在其中。故最大后验估计可以看做规则化的最大似然估计。
用“瓜熟蒂落”这个因果例子,从概率(probability)的角度说一下以上几个概念。
先验概率,就是常识、经验所透露出的“因”的概率,即瓜熟的概率。应该很清楚。
后验概率,就是在知道“果”之后,去推测“因”的概率,也就是说,如果已经知道瓜蒂脱落,那么瓜熟的概率是多少。后验和先验的关系可以通过贝叶斯公式来求。也就是:
P(瓜熟 | 已知蒂落)=P(瓜熟)×P(蒂落 | 瓜熟)/ P(蒂落)
似然函数,是根据已知结果去推测固有性质的可能性(likelihood),是对固有性质的拟合程度,所以不能称为概率。在这里就是说,不要管什么瓜熟的概率,只care瓜熟与蒂落的关系。如果蒂落了,那么对瓜熟这一属性的拟合程度有多大。似然函数,一般写成L(瓜熟 | 已知蒂落),和后验概率非常像,区别在于似然函数把瓜熟看成一个肯定存在的属性,而后验概率把瓜熟看成一个随机变量。
再扯一扯似然函数和条件概率的关系。似然函数就是条件概率的逆反。意为:
L(瓜熟 | 已知蒂落)= C × P(蒂落 | 瓜熟),C是常数。具体来说,现在有1000个瓜熟了,落了800个,那条件概率是0.8。那我也可以说,这1000个瓜都熟的可能性是0.8C。
注意,之所以加个常数项,是因为似然函数的具体值没有意义,只有看它的相对大小或者两个似然值的比率才有意义,后面还有例子。
----------------------------------------------------------------------------------------------------
同理,如果理解上面的意义,分布就是一“串”概率。
先验分布:现在常识不但告诉我们瓜熟的概率,也说明了瓜青、瓜烂的概率
后验分布:在知道蒂落之后,瓜青、瓜熟、瓜烂的概率都是多少
似然函数:在知道蒂落的情形下,如果以瓜青为必然属性,它的可能性是多少?如果以瓜熟为必然属性,它的可能性是多少?如果以瓜烂为必然属性,它的可能性是多少?似然函数不是分布,只是对上述三种情形下各自的可能性描述。
那么我们把这三者结合起来,就可以得到:后验分布 正比于 先验分布 × 似然函数。先验就是设定一种情形,似然就是看这种情形下发生的可能性,两者合起来就是后验的概率。
至于似然估计:
就是不管先验和后验那一套,只看似然函数,现在蒂落了,可能有瓜青、瓜熟、瓜烂,这三种情况都有个似然值(L(瓜青):0.6、L(瓜熟):0.8、L(瓜烂):0.7),我们采用最大的那个,即瓜熟,这个时候假定瓜熟为必然属性是最有可能的。
但如果现在是冬天,瓜熟概率为零,那么你根据贝叶斯估计,就不会判断瓜熟了……
监督学习算法
监督学习算法(Supervised Learning Algorithms):通俗来讲,监督学习算法是给定一组输入x和输出y的训练集,学习如何关联输入和输出关系。
支持向量机(Support Vector Machines):在机器学习中,支持向量机是最有影响力的监督学习模型之一,可以分析数据,识别模式,用于分类和回归分析。
(博文分享)
K最近邻(k-NearestNeighbor):该方法的思路是:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。
决策树(decision tree):是一种简单但是广泛使用的分类器。通过训练数据构建决策树,可以高效的对未知的数据进行分类。决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。
无监督学习算法
无监督学习(Unsupervised Learning Algorithms):无监督学习只处理特征,而不操作监督信号。机器将使用无标记的数据,在这种场景下,我们只需要提供输入数据,机器学习的关键点是通过计算找出数据隐含的特性。
主成分分析(Principal Components Analysis): PCA学习算法提供一种比原始输入更低维度的一种表示。如第二章中提到的压缩算法就是PCA算法。
K均值聚类(k-means Clustering):K-MEANS算法是输入聚类个数k,以及包含 n个数据对象的数据库,输出满足方差最小标准k个聚类的一种算法。
随机梯度下降
随机梯度下降(Stochastic Gradient Descent):因为每次计算梯度都需要遍历所有的样本点。这是因为梯度是J(θ)的导数,而J(θ)是需要考虑所有样本的误差和 ,这个方法问题就是,扩展性问题,当样本点很大的时候,基本就没法算了。所以接下来又提出了随机梯度下降算法(stochastic gradient descent )。随机梯度下降算法,每次迭代只是考虑让该样本点的J(θ)趋向最小,而不管其他的样本点,这样算法会很快,但是收敛的过程会比较曲折,整体效果上,大多数时候它只能接近局部最优解,而无法真正达到局部最优解。
好了,书上关于机器学习的基本概念回顾结束了,为下一章开始深度学习奠定基础知识。
Q&A:
如果有兴趣相投的朋友,欢迎来http://www.jokls.com/提问或者解答其他小伙伴的提问。