机器学习定义
机器学习:假设用 P(Performance) 来评估计算机程序在某任务类 T (Task) 上的性能,若一个程序通过利用经验E (Experience) 在 T 中任务上获得了性能改善,则我们就说关于 T 和 P,该程序对 E 进行了学习。这是Mitchell 于1997年给出的关于机器学习的定义。用下面一个例子来帮助理解:
小黄设计了一个五子棋程序,让程序和自己对弈几万次,通过观察哪些布局容易赢,哪些布局容易输,一段时间后,程序自己知道了什么是好的布局,什么是不好的布局,最终程序学会了玩五子棋,还玩的挺溜。在这个例子中任务 T 是下五子棋,经验 E 是程序与自己下了几万次棋,性能度量 P 是与新对手玩五子棋时获胜的概率。
总的来说,机器学习是致力于研究如何通过计算的手段,利用经验来改善系统自身的性能,在计算机系统中,“经验”通常以“数据”形式存在,因此,机器学习所研究的主要内容,是关于在计算机上从数据中产生“模型”的算法,即“学习算法”。有了学习算法,我们把经验数据提供给它,它就能基于这些数据产生模型,在面对新的情况是,模型会给我们提供相应的判断,可以说机器学习是研究关于“学习算法”的学问。
机器学习主要算法类型:有监督学习和无监督学习
有监督学习:即给算法一个数据,同时每个数据的属性值也给出,对于数据集中的每个样本,我们想要算法预测正确并给出答案。例如回归问题,分类问题。
回归问题
图1是美国波特兰市房价数据,横轴为不同房屋的平方英尺数,纵轴为不同房屋的价格,单位是千美元。此时有一套房子的面积是750平,请问该套房子出售多少千美元合适?
如果我们根据这些数据计算出图2中的紫色线,这样估计该房子大约值150K;而如果我们根据这些数据拟合出蓝色曲线,用该曲线计算的话,该套房子的价格大约在200K左右。以上为有监督学习的例子,有监督学习是指,我们给算法一个数据集,其中包含了正确答案,在这个数据中的每个样本,我们都给出了正确答案,即房子的实际卖价。怎么才能给出一个最准确的结果就是机器学习的需要计算的。更准确来说,这就是统计上的回归问题。
分类问题
图3是肿瘤大小和肿瘤性质的数据(肿瘤良性用0表示,恶性用1表示)
现在假设有一个图4箭头所指的大小的肿瘤,请问肿瘤为良性还是恶性的概率为多少?这是一个分类问题,分类是指我们设法设定一个或多个离散值,学习算法那就是在数据集中画一条线,将数据根据属性分类,然后根据新投入数据所处的类别,得出其属性值,这就是分类问题。
无监督学习:数据没有标签或者是有一样标签,我们不知道数据的含义和作用,只知道是有一个数据集且数据集能自己进行分类,这也是聚类学习。
聚类问题
图5有一个数据集,但我们不知道这些数据集的含义和作用,通过无监督学习,可判定数据集分为两个簇(如图6示),这就是聚类算法。聚类问题在现实中的应用例如社交网络的分析,通过分析你的社交好友或者社交圈子的数据,可以自动识别互相是否同属于一个圈子?是否互相认识。