ML笔记第一周(一):有监督学习与无监督学习

文章内容大多来自互联网,只是加了点排版和整理补充,我是搬运工~~
机器学习: 一个程序被认为能从经验E(Experience )中学习,解决任务 T(Task),达到性能度量值P(Performance measure),当且仅当,有了经验E后,经过P评判, 程序在处理 T 时的性能有所提升。

1 有监督学习(Supervising Learning)

在监督学习中,给定一组数据,我们知道正确的输出结果应该是什么样子,并且知道在输入和输出之间有着一个特定的关系。
监督学习问题分为“回归”和“分类”问题。

1.1回归(Regression)

回归问题中,我们试图在连续输出中预测结果,这意味着我们正在尝试将输入变量映射到某个连续函数。

举例 :通过房地产市场的数据,预测一个给定面积的房屋的价格就是一个回归问题。这里我们可以把价格看成是面积的函数,它是一个连续的输出值。 但是,当把上面的问题改为“预测一个给定面积的房屋的价格是否比一个特定的价格高或者低”的时候,这就变成了一个分类问题, 因为此时的输出是‘高’或者‘低’两个离散的值。
在这里插入图片描述

1.2 分类(Classification)

分类问题中,我们试图在离散输出中预测结果。换句话说,我们正在尝试将输入变量映射到离散类别。

举例
给定医学数据,通过肿瘤的大小来预测该肿瘤是恶性瘤还是良性瘤(课程中给的是乳腺癌的例子),这就是一个分类问题,它的输出是0或者1两个离散的值。(0代表良性,1代表恶性)。

分类问题的输出可以多于两个,比如在该例子中可以有{0,1,2,3}四种输出,分别对应{良性, 第一类肿瘤, 第二类肿瘤, 第三类肿瘤}。

下图中上下两个图只是两种画法。第一个是有两个轴,Y轴表示是否是恶性瘤,X轴表示瘤的大小; 第二个是只用一个轴,但是用了不同的标记,用O表示良性瘤,X表示恶性瘤。
在这里插入图片描述
在这个例子中特征只有一个,那就是瘤的大小。 有时候也有两个或者多个特征, 例如下图, 有“年龄”和“肿瘤大小”两个特征。(还可以有其他许多特征,如下图所示)
在这里插入图片描述

2 无监督学习(Unsupervised Learning)

在无监督学习中,我们基本上不知道结果会是什么样子,但我们可以通过聚类的方式从数据中提取一个特殊的结构。在无监督学习中给定的数据是和监督学习中给定的数据是不一样的。在无监督学习中给定的数据没有任何标签或者说只有同一种标签。如下右图所示:
在这里插入图片描述
在无监督学习中,我们只是给定了一组数据,我们的目标是发现这组数据中的特殊结构。例如我们使用无监督学习算法会将这组数据分成两个不同的簇,,这样的算法就叫聚类算法

2.1 新闻分类

第一个例子举的是Google News的例子。Google News搜集网上的新闻,并且根据新闻的主题将新闻分成许多簇, 然后将在同一个簇的新闻放在一起。如图中红圈部分都是关于BP Oil Well各种新闻的链接,当打开各个新闻链接的时候,展现的都是关于BP Oil Well的新闻。
在这里插入图片描述

2.2 根据给定基因将人群分类

如图是DNA数据,对于一组不同的人我们测量他们DNA中对于一个特定基因的表达程度。然后根据测量结果可以用聚类算法将他们分成不同的类型。这就是一种无监督学习, 因为我们只是给定了一些数据,而并不知道哪些是第一种类型的人,哪些是第二种类型的人等等。
在这里插入图片描述

2.3 鸡尾酒派对效应

有一个宴会,有一屋子的人,大家都坐在一起,而且在同时说话,有许多声音混杂在一起。因为每个人都是在同一时间说话的,在这种情况下你很难听清楚你面前的人说的话,因此,比如有这样一个场景,宴会上只有两个人同时说话,我们准备好了两个麦克风,把它们放在房间里。然后,因为这两个麦克风距离这两个人的距离是不同的,每个麦克风都记录下了来自两个人的声音的不同组合。
在这里插入图片描述

也许A的声音在第一个麦克风里的声音会响一点,也许B的声音在第二个麦克风里会比较响一些,因为2个麦克风的位置相对于 2个说话者的位置是不同的,但每个麦克风都会录到来自两个说话者的重叠部分的声音。

这里有一个来自一个研究员录下的两个说话者的声音,我们能做的就是把这两个录音输入,一种无监督学习算法中(称为“鸡尾酒会算法”)可以帮你找出其中蕴含的分类。然后这个算法,就会去听这些录音。此外,这个算法还会分离出这两个被叠加到一起的音频源。

使用Octave软件实现的算法,只要一行代码就可以实现如上所述的效果。(Unbelievable…)
在这里插入图片描述

而事实上在硅谷,很多人会先用Octave 来实现这样一个学习算法原型,只有在确定 这个算法可以工作后,才开始迁移到 C++、Java或其它编译环境。事实证明,这样做实现的算法,比一开始就用C++ 实现的算法要快多了。

2.4 其他示例

在这里插入图片描述
(图片顺序为从左到右,从上到下)
图一:用来组织大型的计算机集群。
大型计算机集群的管理人员会试图找出哪些机器趋向于协同工作,如果把这些机器放在一起,就可以让你的数据中心更高效地工作。(Really?)

图二:用于社交网络的分析。
如果可以得知哪些朋友你用email联系的最多,或者哪些是使用Facebook或者Google+联系,我们可以自动识别哪些是很要好的朋友组,哪些仅仅是互相认识的朋友组。

图三:在市场分割中的应用。
许多公司拥有庞大的客户信息数据库,给定一个客户数据集,找出不同的市场分割,并自动将你的客户分到不同的细分市场中,从而有助于在不同的细分市场中进行更有效的销售。

图四:用于天文数据分析。
通过这些聚类算法,我们发现了许多惊人的、有趣的,以及实用的、关于星系是如何诞生的理论。

参考资料

1、机器学习 - Introduction | Coursera
2、机器学习笔记 (一) 监督学习、无监督学习
3、我的机器学习笔记(一) - 监督学习vs 无监督学习

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值