《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。
网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html
参考博文:http://www.cnblogs.com/jianxinzhou/p/4019949.html
课程分为四个部分:
(1)supervised Learning (监督学习)
(2)Learning Theory (学习理论)
(3)Unsupervised Learning (无监督学习)
(4)Reinforcement Learning (强化学习)
What is machine learning
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.
【如果一个计算机程序在任务 T 上的性能度量 P ,通过经验 E 而提高,那么我们称这个计算机程序通过经验 E 来学习。】
Supervised Learning
1、以房屋面积(Size in feet²)和房价(Price)为例:(这是一个回归问题)
我们目前已经收集到了一组数据,并且可以认为这组数据是房屋面积和对应房价的一组正确数据,我们采用直线或者二次函数去拟合这组数据(可以看出这个例子中二次函数更加符合),我们的目的是当给出一个新的房屋面积时,可以计算出更正确的房价,这也就是我们所说的回归问题。
回归问题要求我们将预测的结果看作是
连续的
。(不是离散的)
像这种我们给学习算法一个数据集,这个数据集由一组“正确答案”组成,这类机器学习算法就叫着监督学习。
2、以肿瘤大小(Tumor Size)和肿瘤是否为恶性(maligant为恶性记为1,benign为良性记为0)为例:(这是一个分类问题)
同样目前我们搜集了一组肿瘤大小和其是否为良性的数据,这是一组为0或者为1的离散值,我们的目的是当有一个新的肿瘤时,可以根据它的大小将其进行正确分类。
在上面这个例子中,我们判断肿瘤是否为良性是依靠肿瘤大小。然而在实际生活中,单凭这一个特征是无法正确分类的,可能还需要参考患者年龄、肿块厚度、细胞大小的一致性、细胞形状的一致性等等很多输入量。
例如当我们有两个特征:肿瘤大小和患者年龄 时,可以得到下图:(X表示恶性肿瘤,O表示良性肿瘤)
我们找到一条直线将不同性质的肿瘤分开,当有一个新的肿瘤时,就可以根据其大小以及患者年龄进行更正确的分类。
那当我们有更多的特征变量时,我们无法在二维,三维甚至任何有限维空间中表示出来,当这个数据是一个无限维时,要如何处理?
此时,就可以使用一个被称为
支持向量机
的算法,这个算法可以
把数据映射到无限维空间中
。
【这是一个非常有趣的问题,试想我们该如何将一个无限维的向量映射到电脑内存中?我们当然不可能有一个无限的计算机,所以我们要如何表示这个无限维空间中的点呢?】
Unsupervised Learning
以上面肿瘤为例,在上述supervised Learning例子中,我们已经有了一组分类的正确答案,即我们已经知道哪些是恶性肿瘤哪些是良性肿瘤。(X表示恶性,O表示良性)
而在Unsupervised Learning中,我们只是得到了一组数据,但并不知道这些数据代表什么意思,(如下图)这时就要求我们要自己找到这些数据中存在何种结构,有什么特点。
对于上图给定的数据集,Unsupervised Learning 可能判定该数据集包含两个不同的聚类。
Unsupervised Learning 会把这些数据分成两个不同的聚类,这就是所谓的聚类算法。
之后本节课程中列举了一些聚类算法的实例,这里不做更多介绍,感兴趣的同学可以观看公开课了解。