小豆芽最近参加了一个在线课程,在学习吴恩达的机器学习课程。所以开辟一个新的系列,分享相关的学习笔记。
第一个概念:什么是机器学习?
Arthur Samuel在1959年给出了一个定义:
“机器学习是一个能使计算机不用显示编程就能获得能力的研究领域”
机器学习大佬Tom Mitchell在1999年给出的定义:
“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”
对于电脑来说,数据就是经验(experience), 机器通过对数据的分析处理,解决某一个问题的能力得到提升,也就完成了学习的过程。
机器学习一般分为两大类:1)监督式学习 2)无监督式学习
1)监督式学习(supervised learning)
这一类别,所提供的数据集已经给出了正确的输出,输入与输出之间存在着一定的关联,机器需要做的是找出这一关联,给出模型model,并利用这一模型对新的数据集进行预测。监督式学习可细分为两类:a)回归问题(regression), b)分类问题(classfication)。这两类的区别是输出是连续值还是分立值。线性回归的输出是连续的,而分类问题的输出是固定的几个数值。典型的例子如下图所示,根据已有的数据找出肿瘤大小与年龄之间的关系,得到一个数学模型(图中的黑线),用于预测新的数据。
2) 无监督式学习(unsuperivised learning)
所谓无监督式学习,也就是数据集中没有给出输出,需要机器自己去找寻数据内部的结构,其典型问题为聚类问题(clustering)。如下图所示,可以看出数据可以归纳为两类。
对于学习能力的好坏,采用代价函数(cost function)进行评估。典型的定义为,
其中h函数为假设的模型,y为数据集的输出值。对于某个特性模型,需要做的是找到最小的参数值,使得代价函数取最小值。