吴恩达机器学习笔记总结 | Chapter01

吴恩达机器学习笔记 | Chapter01

  • 1. 引言(Introduction)
    • 1.1 欢迎(Welcome)
    • 1.2 机器学习是什么?(What is Machine Learning?)
    • 1.3 监督学习(Supervised Learning)
    • 1.4 无监督学习(Unsupervised Learning)

1. 引言(Introduction)

1.1 欢迎(Welcome)

机器学习是目前信息技术中最激动人心的方向之一。目前,机器学习已经广泛应用在各行各业中,可谓无处不在。你或许每天都在不知不觉中使用了机器学习的算法。在这门课中,我们将学习到这门技术的前沿,并可以自己实现学习机器学习的算法。

机器学习(Machine Learning)

  • 不只是应用于人工智能(AI)领域
  • 已经成为计算机的一个新能力(Capability)

一些常见的机器学习的应用,例如:

  • 垃圾邮件过滤
  • 搜索引擎排名
  • 图像处理&识别

相关案例(Examples):

  • 数据挖掘(Database mining)
    • 由于自动化技术或Web网站的发展,所产生的的大量数据集
    • 如:网页点击流数据分析;电子医疗记录;计算生物学;工程领域
  • 人工无法处理的工作
    • 无人直升机
    • 手写识别
    • 自然语言处理(Natural Language Processing)
    • 计算机视觉(Computer Vision)
  • 针对个人定制
    • 如:Amazon, Netflix等公司的产品推荐系统
  • 理解人类的学习&了解大脑

1.2 机器学习是什么?(What is Machine Learning?)

1.机器学习的定义,主要有以下两种:

  • Arthur Samuel (1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.

    这个定义有点不正式但提出的时间最早,来自于一个懂得计算机编程的下棋菜鸟。他编写了一个跳棋程序,但没有显式地编程每一步该怎么走,而是让计算机自己和自己对弈,并不断地计算布局的好坏,来判断什么情况下获胜的概率高,从而积累经验,就像是在学习。最后,这个计算机程序成为了一个比他自己还厉害的棋手。

  • Tom Mitchell (1998). Well-posed Learning Problem: 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.

    Tom Mitchell 的定义更为现代和正式。在过滤垃圾邮件这个例子中,电子邮件系统会根据用户对电子邮件的标记(是/不是垃圾邮件)不断学习,从而提升过滤垃圾邮件的准确率。定义中的三个字母分别代表:

    • T(Task): 将邮件分为垃圾邮件和非垃圾邮件。
    • P(Performance): 电子邮件系统过滤垃圾邮件(即Task)的准确率。
    • E(Experience): 观察用户对电子邮件的标记。

2.机器学习算法

主要有两种机器学习算法,分为:

  1. 监督学习(Supervised Learning)
  2. 无监督学习(Unsupervised Learning)

两者的区别为是否需要人工参与数据结果的标注。这两部分的内容占比很大,并且很重要,掌握好了可以在以后的应用中节省大量的时间。另外,这门课还会提供运用这些学习算法的实际建议,毕竟授人以鱼不如授人以渔。

其他一些也属于机器学习领域的算法:1

  • 半监督学习(Semi-Supervised Learning)

  • 强化学习(Reinforcement Learning)

  • 推荐系统(Recommender System)

1.3 监督学习(Supervised Learning)

监督学习是从标签化训练数据集中推断出函数的机器学习。在监督学习中,每个样本包含一个输入对象(通常由向量表示)和一个输出值(也叫做标签)。监督学习算法会分析训练集并产生一个推断函数,该函数能用于泛化新的样本。该算法可以采用一个最优化方案来正确地给出未知实例的类别标签。这要求学习算法以合理的方式将已知的训练数据集泛化到未知的情形。

监督学习一般可以分为两种:

  1. 回归问题(Regression)

    回归问题即为预测一系列的连续值

    在房屋价格预测的例子中,先给出一系列已知的房屋售价数据,然后根据这些离散数据(right answer)来预测任意面积的房屋价格。如图所示,其中横轴表示房子的面积,单位是平方英尺;纵轴表示房价,单位是千美元。假如你的朋友有一间750平方英尺的房屋,他想知道大概能卖多少钱。我们可以在这组数据中画一条直线,或者换句话说,拟合一条直线,根据这条线可以推测出,这套房子可能卖 $150,000。我们也可以用二次方程去拟合,可能效果会更好。根据二次方程的曲线,向纵轴投影后我们可以推测出,这套房子能卖接近 $200,000。

    稍后我们再讨论如何选择学习算法,如何决定用直线还是二次方程来拟合。总之,两个方案中有一个能让你朋友的房子出售得更加合理。

    吴恩达机器学习笔记总结 | Chapter01_第1张图片
  2. 分类问题(Classification)

    分类问题即为预测一系列的离散值,即根据已知数据来预测被预测的对象属于哪个分类。

    在乳腺癌这个例子中,针对肿瘤样本的诊断结果,可以分为良性或恶性。如图所示,其中横轴表示肿瘤的大小;纵轴上,标出1和0表示是或者不是恶性肿瘤。已知样本中有5个是良性肿瘤样本,有 5个恶性肿瘤样本。假如你的朋友很不幸检查出患有乳腺癌,若她的肿瘤大小已知,那么我们要解决的问题就在于能否估算出肿瘤是恶性的或是良性的概率。

    我们还可以用另一种方式绘制这些数据点,这里只需要一个横轴。既然我们把肿瘤的尺寸看做区分恶性或良性的特征,那么可以用不同的符号来表示良性和恶性肿瘤。我们不全部画 X,良性的肿瘤改成用 O 表示,恶性的继续用 X 表示,以此来预测肿瘤的恶性与否。

    事实上在分类问题中,输出可能不止两个值。比如说可能有2种乳腺癌,所以输出会有 0、 1、 2三个值。 0代表良性, 1表示第1类乳腺癌,2表示第2类癌症,但这也是分类问题。再例如垃圾邮件分类问题,同样属于监督学习中的分类问题。

    吴恩达机器学习笔记总结 | Chapter01_第2张图片

在其它一些机器学习问题中,可能会遇到不止一种特征。举个例子,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄。还有更多的特征,比如肿块密度,肿瘤细胞尺寸的一致性和形状的一致性等等。如下图所示,列举了总共5种不同的特征(坐标轴上的两种和右边的三种)。但是在实际情况下,我们希望不只用3种特征,而是能用无限多种特征,好让算法可以利用大量的特征来做推测。但是这样会出现“怎么处理无限多个特征”,“怎么存储这些特征”等问题,并且电脑的内存会不够用。

支持向量机算法可以解决这个问题,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征。

吴恩达机器学习笔记总结 | Chapter01_第3张图片

以上就是监督学习的内容。

1.4 无监督学习(Unsupervised Learning)

相对于监督学习,训练集不会有人为标注的结果(无反馈),我们不会给出结果或无法得知训练集的结果是什么样,而是单纯由计算机通过无监督学习算法自行分析,从而“得出结果”。计算机可能会把特定的数据集归为几个不同的簇,故叫做聚类算法。

无监督学习一般分为两种:

  1. 聚类(Clustering)
    • 新闻聚合
    • DNA个体聚类
    • 天文数据分析
    • 市场细分
    • 社交网络分析
  2. 非聚类(Non-clustering)
    • 鸡尾酒会问题

新闻聚合

在例如谷歌新闻这样的网站中,每天后台都会收集成千上万的新闻。它再将这些新闻进行分组,组成有关联的新闻专题,并显示到一起。

社交网络分析

如果可以得知你email最频繁的联系人或者知道你的Facebook好友等等,通过聚类算法我们可以自动识别出同属于一个圈子的朋友,判断哪些人互相认识。

鸡尾酒会问题

在鸡尾酒会上,大家说话声音彼此重叠,几乎很难分辨出面前的人说了什么。我们很难对于这个问题进行数据标注。

假设在一个有些小的鸡尾酒宴中只有两个人,并且他们同时在说话。我们放两个麦克风在房间中,因为麦克风在两个地方,离说话人的距离也不同,所以每个麦克风能记录下不同的声音。我们用无监督学习处理得到的两段录音,就可以将这两个人的声音分离开来。

吴恩达机器学习笔记总结 | Chapter01_第4张图片

看上去这似乎是一个复杂的程序,但其实只用一行代码就可以实现:

[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');

本系列笔记部分来源于开源项目https://github.com/scruel/ML-AndrewNg-Notes


  1. 专业术语概念均引自于维基百科Wikipedia ↩︎

你可能感兴趣的:(机器学习)