机器学习的定义
-
Arthur Samuel(1959)
Field of study that gives computers the ability to learn without being explicitly programmed.
在没有明确的定义下,使计算机具有学习能力的研究领域
-
Tom Mitchell(1998)
A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.
计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,通过P测定T上的表现因经验E而提高
例如:
我要编写一个自动下棋的AI程序,对于这个程序来说,它的任务T就是下棋并获得胜利,性能度量P就是与新对手下棋时赢的概率,经验E就是下棋时最终的胜负
用这个例子套入第二个定义去解释,我们就有了:
下棋程序从下棋时最终的胜负学习,解决下棋并获得胜利这一任务,测定与新对手下棋时赢的概率,通过预测获胜概率测定获胜的表现而提高。
另一个例子:
假设你的程序可以观察你是否将一份邮件标记为垃圾邮件并从中学习如何更好地过滤垃圾邮件。
对于上述任务来说,其任务T,经验E,度量P分别是什么?(先自己思考一下)
- 任务T是:将邮件分类为垃圾或者非垃圾邮件
- 经验E是:观察你是否将一封邮件标记为垃圾邮件
- 度量P是:正确将一封邮件标记的概率(即标注正确的概率)
分类
主要分为一下两类:
-
监督学习(supervised learning)
我们教会计算机做某件事情
- 回归问题
- 分类问题
-
非监督学习(unsupervised learning)
让计算机自己从数据中学习
- 聚类问题
- 鸡尾酒舞会
其他还有:
- 强化学习(reinforcement learning)
- 推荐系统(recommender systems)