【吴恩达机器学习笔记】 1.机器学习基本介绍 | 监督学习与无监督学习

本博客是基于吴恩达老师的机器学习视频教程出的系列学习笔记中的一篇,主要内容是介绍机器学习以及监督学习与无监督学习。希望能帮助大家更好地去理解与学习机器学习这门学习人工智能的关键课程。原视频地址:吴恩达机器学习

目录

引言

一、什么是机器学习?

1.1 Arthur Samuel 的定义

1.2 Tom Mitchell 的定义

1.3 机器学习的主要类型

二、监督学习

三、无监督学习


引言

机器学习是信息技术领域中最令人兴奋的方向之一,它的影响已经深深融入我们的日常生活。从网络搜索到垃圾邮件过滤,再到社交媒体上的照片分类,机器学习算法无处不在。每一次你用谷歌或必应快速找到所需内容,每一次你在 Facebook 上上传照片被自动识别好友,这背后都是机器学习的功劳。正是因为这些智能化的技术,我们的生活变得更加便捷、高效。

机器学习的核心在于让机器模仿人类大脑的学习方式,以解决传统编程难以攻克的问题。例如,我们可以轻松设计一个程序来寻找最短路径,但让机器通过学习来解决复杂的 Web 搜索、图片标记或垃圾邮件识别,却需要依靠机器学习算法的强大能力。正因如此,机器学习已经成为计算机科学的一项基本技能,并广泛应用于众多行业和领域。

从医疗记录的分析到基因组学研究,从无人机的自主飞行到个性化推荐系统,机器学习展现了其巨大的潜力。硅谷的企业利用它分析海量的点击流数据以更好地理解用户行为;生物学家借助它解读 DNA 序列;工程师通过它优化机械设备的运行。无论是自然语言处理、计算机视觉,还是定制化的用户服务,机器学习都在为各行各业注入新的活力。

在接下来的内容中,我们将深入探讨机器学习的基本概念、主要算法以及如何选择适合特定问题的算法。通过理论学习与实践结合,我们将揭开机器学习的神秘面纱,让你能够亲手实现这些令人着迷的技术。

一、什么是机器学习?

机器学习是计算机科学的一个分支,它赋予计算机在没有明确编程的情况下,通过经验学习并完成任务的能力。然而,如今在机器学习领域内,并没有一个被广泛认可的统一定义。以下是两种经典的定义,它们能够帮助我们理解机器学习的本质及其应用场景。

1.1 Arthur Samuel 的定义

Arthur Samuel 是机器学习的早期先驱,他在20世纪50年代提出了机器学习的概念。他将机器学习定义为“一个使计算机能够学习的领域,无需为特定任务进行显式编程”。
一个著名的例子是 Samuel 开发的西洋棋程序。尽管 Samuel 本人并不是高水平的棋手,但他的程序通过与自己对弈上万次,从中学习哪些棋局布局更有利,逐步提升了棋艺,最终击败了 Samuel。这种基于大量经验的自我学习能力展示了机器学习的潜力:通过积累经验,计算机可以超越其编程者的能力。

1.2 Tom Mitchell 的定义

更为正式的定义来自卡内基梅隆大学的 Tom Mitchell。他将机器学习定义为:
“一个程序被认为可以从经验 E 中学习,以解决任务 T,并以性能度量P 衡量效果。当且仅当程序在有了经验 E后,基于P的评价标准,其完成T的能力得到提升。”
以垃圾邮件过滤为例:

  • 任务 T 是识别垃圾邮件。
  • 经验 E是观察用户手动标记邮件为垃圾邮件的过程。
  • 性能度量 P是过滤垃圾邮件的准确率。
    当程序通过用户的标记数据学习后,其对垃圾邮件的识别能力提升,即表现了机器学习的作用。

1.3 机器学习的主要类型

机器学习算法可以分为多个类别,其中最常用的是以下两种:

  1. 监督学习:计算机在已标注的数据集上学习,明确目标任务(如分类或回归)。
  2. 无监督学习:计算机在未标注的数据集中寻找数据的结构或模式(如聚类或降维)。

此外,还有强化学习和推荐系统等类型,每种算法适用于不同的场景。在后续内容中,我们将重点讨论监督学习和无监督学习,同时探索如何应用这些算法解决实际问题。

二、监督学习

监督学习是最常见的一种机器学习问题,在正式定义它之前,我们先举个例子介绍什么是监督学习:

某位学生收集了波特兰地区房价的数据,其中横轴表示房屋面积(平方英尺),纵轴表示房价(千美元)。基于这组数据,假如你有一位朋友想出售一套750平方英尺的房子,他想知道这房子能卖多少钱。那么关于这个问题,机器学习算法将会怎么帮助你呢?

我们应用学习算法,进行拟合一条直线,根据直线我们可以推测出这套房子可能卖$150,000。当然可能还有更好的,比如我们不用直线拟合这些数据,用二次方程去拟合,根据二次方程的曲线,我们可以从这个点推测出,这套房子能卖接近$200,000。稍后我们将讨论如何选择学习算法,如何决定用直线还是二次方程来拟合。两个方案中有一个能让你朋友的房子出售得更合理。这些都是学习算法里面很好的例子。以上就是监督学习的例子。

可以看出,监督学习是一种机器学习方法,其中我们提供一个包含“正确答案”的数据集,算法通过这些已知的答案进行学习,以预测或推断新的、未知的结果。在房价的例子中,我们提供了多套房子的面积和相应的实际售价,这些数据中的售价就是“正确答案”。通过这些数据,算法学习到如何将房子的面积与价格之间的关系建模,以便能够预测新房子的售价。

在术语上,这个任务被称为回归问题,因为目标是预测一个连续值(即房价)。回归问题的特点是预测的结果是一个实数,像房价这样的数值是连续的,可以取任意大小,而不像分类问题那样输出离散的类别标签。

总结来说,监督学习的定义是:通过已知的“输入-输出”数据对学习算法进行训练,算法通过学习这些已知的正确答案,来推测或预测更多未知的数据的结果。

另一个监督学习的例子是预测乳腺肿瘤的良恶性。我们用肿瘤大小和是否恶性的数据绘制图表:

  • 良性肿瘤标记为0,恶性肿瘤标记为1。
  • 给定一个新肿瘤样本,算法可以预测其为良性还是恶性的概率。

有5个良性肿瘤样本,在1的位置有5个恶性肿瘤样本。现在我们有一个朋友很不幸检查出乳腺肿瘤。假设说她的肿瘤大概这么大,那么机器学习的问题就在于,你能否估算出肿瘤是恶性的或是良性的概率。用术语来讲,这是一个分类问题。 

分类指的是,我们试着推测出离散的输出值:0或1良性或恶性,而事实上在分类问题 中,输出可能不止两个值。比如说可能有三种乳腺癌,所以你希望预测离散输出 0、1、2、 3。0 代表良性,1 表示第1类乳腺癌,2表示第2类癌症,3表示第3类,但这也是分类问题。

因为这几个离散的输出分别对应良性,第一类第二类或者第三类癌症,在分类问题中我 们可以用另一种方式绘制这些数据点。

现在我用不同的符号来表示这些数据。既然我们把肿瘤的尺寸看做区分恶性或良性的特征,那么我可以这么画,我用不同的符号来表示良性和恶性肿瘤。或者说是负样本和正样本现在我们不全部画X,良性的肿瘤改成用 O 表示,恶性的继续用 X 表示。来预测肿瘤的恶性与否。

在其它一些机器学习问题中,可能会遇到不止一种特征。举个例子,我们不仅知道肿瘤的尺寸,还知道对应患者的年龄。在其他机器学习问题中,我们通常有更多的特征,比如肿块密度,肿瘤细胞尺寸的一致性和形状的一致性等等,还有一些其他的特征。

如上图中,我列举了总共5种不同的特征,坐标轴上的两种和右边的3种,但是在一些学习问题中,你希望不只用3种或5种特征。相反,你想用无限多种特征,好让你的算法可以利用大量的特征,或者说线索来做推测。那你怎么处理无限多个特征,甚至怎么存储这些特征都存在问题,因为你电脑的内存肯定不够用。我们以后会讲一个算法,叫支持向量机,里面有 一个巧妙的数学技巧,能让计算机处理无限多个特征。

现在来个小测验:假设你经营着一家公司,你想开发学习算法来处理这两个问题:

  1.  你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你 想预测接下来的三个月能卖多少件?
  2. 你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户, 你要判断它们是否曾经被盗过?

那这两个问题,它们属于分类问题、还是回归问题?

三、无监督学习

现在我们将介绍第二种主要的机器学习问题:无监督学习

我们回顾一下上面监督学习中的分类问题。回想当时的数据集,如左图表所示,这个数据集中每条数据都已经标明是良性肿瘤还是恶性肿瘤。所以,对于监督学习里的每条数据, 我们已经清楚地知道,训练集对应的正确答案,是良性或恶性了。

而在无监督学习中,我们已知的数据不同于监督学习,给定的数据与任何输出标签都无关,比如给定了肿瘤大小和患者年龄的数据,但不知道肿瘤是良性还是恶性,数据集就如右图表一样。在这种情况下,我们不用去诊断肿瘤是良性还是恶性,因为没有给我们任何标签。相反,我们的工作是找到一些结构或模式。针对数据集,无监督学习算法可能会将数据分为两个不同的组或两个不同的集群,如上面右图表所示,这是一种特殊类型的无监督学习,称为聚类算法。

这种算法能用于许多地方,其中一个例子就是谷歌新闻。谷歌新闻每天都在,收集非常多,非常多的网络的新闻内容。 它再将这些新闻分组,组成有关联的新闻。所以谷歌新闻做的就是搜索非常多的新闻事件, 自动地把它们聚类到一起,形成新闻主题或故事簇。例如,关于某一事件的报道,可能来自不同的新闻媒体,使用不同的标题和措辞。聚类算法会分析这些文章的文本内容,识别出它们之间的相似性,并将相关的报道归为同一组。这样,用户在浏览谷歌新闻时,可以看到关于同一事件的不同报道,方便比较和获取全面的信息。

如上图,谷歌新闻就分出了澳门回归祖国25周年反腐这两个新闻主题,这些新闻事件全是同一主题的,所以显示到一起。

聚类算法和无监督学习算法同样还用在很多其它的问题上。

 其中就有基因学的理解应用。一个DNA微观数据的例子。基本思想是输入一组不同个体,对其中的每个个体,你要分析出它们是否有一个特定的基因。技术上,你要分析多少特定基因已经表达。所以这些颜色,红,绿,灰等等颜色,这些颜色展示了相应的程度,即不同的个体是否有着一个特定的基因。你能做的就是运行一个聚类算法,把个体聚类到不同的类或不同类型的组(人)。

思考:这个例子为什么符合无监督学习?

在监督学习中,数据同时带有输入 x 和输出标签 y,而在无监督学习中,数据仅带有输入 x 而没有输出标签 y ,并且算法必须在数据中找到结构。

在这一节中我们了解到的只是一种称为聚类算法的无监督学习示例,它将相似的数据点组合在一起。其他无监督学习算法还有:

  • 异常检测:用于检测异常事件,如金融系统中的欺诈检测
  • 降维:将一个大的数据集神奇地压缩成一个小的多的数据集同时丢失尽可能少的信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值