参见Coursesa的机器学习课程,来自斯坦福大学人工智能实验室的Andrew Ng。
什么是机器学习?
Arthur Samuel在1959年给出过一个非正式的定义:“the field of study that gives computers the ability to learn without being explicitly programmed”。通俗地讲,就是赋予计算机一种不用明确编码而能自动学习的能力。
1998年卡耐基梅隆大学的Tom Mitchell给了更现代的定义:“A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P,improves with experience E.” 通俗地讲就是,根据经验E来完成任务T,用P进行测量完成效果。
以 下象棋 为例:
E = 历史上下象棋的棋谱经验
T = 下象棋
P = 程序下一盘获胜的概率
监督学习
监督学习中,已经给定了数据集的正确结果,同时有输入和输出之间的因果关系。
监督学习分为两种问题,“回归(regression)”和“分类(classification)”。 回归问题中,我们用一个连续值来预测结果,也就是说将输入变量映射到某个连续函数。而分类问题中,我们用离散值来预测结果,也就是将输入变量映射为离散的分类。
例如:给定房子的大小,尝试预测它的价格。价格作为大小的一个函数,是个连续值输出,所以这是个回归问题。如果我们将任务改为“卖家是否高于200万”,就变成一个2分类问题。
无监督学习
无监督学习,也就是我们完全知道输入的结果是什么。例如给一堆水果(苹果、梨子、桔子),要求把水果按它们的品种非开;然后再拿一个桔子,期望能被划分到桔子那一堆。这个过程就是聚类(Clustering)。