机器学习(二):监督学习、无监督学习和强化学习

还是先说下,本文基于吴恩达老师的机器学习课程。看了吴恩达老师的机器学习课程,收获很多,想把课上学做的笔记结合自己的理解以及找到的一些资料综合起来做一个总结。大家感兴趣也可以自己去看一看吴恩达老师的课,这套课程,被公认为最好的机器学习的入门教程,下面是课程视频链接:

斯坦福大学公开课 :机器学习课程

上一篇博客机器学习(一):什么是机器学习提到了机器学习的算法广义上来说,分为三类:监督学习、无监督学习和强化学习,这篇博客就来详细聊一聊这三种学习算法。


一、监督学习(Superuised Learning)

先讲个例子,如果我们采集一个地方的房屋价格和房屋面积统计,我们把房屋面积和房屋价格在坐标系中对应的点都画出来。横坐标是房子的面积(平方英尺为单位),纵坐标是房子的价格(单位千美元)。

假设我们想卖一栋房子,想知道我们的房子大概能卖多少钱,我们可以怎样使用学习算法来帮助我们呢?我们可以通过数据在坐标系中找到一条直线或者一条二次曲线,可能一个二元函数能够更好的匹配所有数据,后面会介绍怎么决定是选择线性函数还是二次函数来拟合数据。我们可以根据曲线找到我们房子的面积大小所对应的价格,从而得到我们想要的房屋价格的预测结果。

算法的作用就是帮助我们在坐标系中拟合这些点,找到最符合数据的曲线表达式。就像我们小学时根据物品单价就能画出物品数量和花费之间关系的一条直线一样,只不过现在我们要找的关系不再是一条直线的二元一次方程就可以表示的了,可能需要更高次的方程。并且我们要求的结果也就是本例中的房屋价格可能不仅仅只受房屋面积这一点影响,还受到所在地区,房屋的新旧程度等等影响,这些都可能是我们输入算法中的学习数据。下面我们来看下监督型算法的定义。

监督型算法:给算法提供了一组"标准答案"之后,算法学习标准输入和标准答案之间的联系。像上面例子中的房屋面积和房屋价格,找到两者之间的联系,以尝试对于其他的输入给我们提供更为标准的答案输出。

上面的房屋例子是一个监督学习的例子,它属于一类被称为"回归问题"的问题范畴。回归(regression)这个词代表了我们需要预测的对象是连续的,另一类监督学习的问题,被称为"分类问题",在分类问题中,我们要处理的变量是离散的而不是连续的。

例如:有一组关于乳腺肿瘤的数据,我们需要让一个算法学会预测一个肿瘤是否为恶性。为了简单起见,我们只要考虑肿瘤的大小,来确定肿瘤是恶性还是良性。

算法学习了如上的数据后,就会给出恶性肿瘤的大小范围,我们再输入肿瘤大小后,它就会根据这个范围来预测肿瘤是否为恶性。在分类问题中,我们要处理一些离散值,他们的结果不是0就是1。但更多时候,我们要考虑多个输入变量和多个特征。

像上面的图这里给出了两个特征,年龄和肿瘤的大小。学习型算法可以在数据中画出一条线把数据分为两部分,将两类肿瘤分开。年龄和大小落在上面上面区域,算法会预测为恶性,落在下面的区域,算法会预测为良性。

在之后我们还会用到一个非常伟大的被称为支持向量机算法它可以把数据映射到无限维中。因为在现实问题中,通常两种属性不能够确定我们要得到的结果,所以当我们的数据不能在二维、三维甚至任何有限维空间表示出来时,我们就会用到支持向量机算法。


二、无监督学习(Unsuperuised Learning)

上面肿瘤的例子中,我们给出的数据中,为每一个病人都设定了所谓的标准答案。这些答案告诉我们,这个病人的肿瘤是恶性还是良性,因为我们设定了标准答案,所以我们希望我们的算法能够得到一个同样比较标准的答案,这是监督学习。

而无监督学习,就是给你一组数据,但是不知道数据的任何"正确答案"。在给算法输入一组数据后,算法会在这组数据中找出不同的结构

例如:同样是上面的肿瘤问题,我们只给出肿瘤数据的大小和年龄而不告诉它哪些是恶性肿瘤哪些是良性肿瘤。

无监督型算法会去寻找具有相同结构的数据,并把它们分类,这就是聚类问题。聚类问题就是一个无监督学习的例子,聚类算法还可以用来理解基因数据,尝试按照基因在实验中体现出的形状,对单独的基因进行分类,当然,这也只是尝试。

另外,在计算机视觉中,我们可以用聚类算法来进行图像处理。对于一张图片,使用特定的无监督学习算法,它会学习对这些像素进行聚类。就是说,每一种像素可能是在一起的,即对像素进行分组。

把这些像素分到不同的区域后,经过一些预处理的过程,我们甚至可以建立这张图片的3D模型(因为csdn只能上传5M以下的图片,压缩的有点糊,将就着看看)。这是监督学习和无监督学习的综合,而无监督学习,也就是那个聚类过程,将是第一步。

除此以外,无监督学习和聚类算法还可以被用在很多不同的问题上,比如:

1、管理集群,找出哪些机器倾向于协同合作,将这些机器放在一起,可以大大提高集群工作的效率。

2、用于社交网络的分析,知道哪些朋友用email联系的多,你的facebook的朋友等,知道了这些之后,我们可以自动分析出哪些是十分要好的朋友组,哪些是互相认识的朋友组。

3、许多公司拥有大量的客户信息数据库,给你一个客户数据集,你能否自动找出不同的市场分割,将客户细分到不同的细分市场中,从而有助于在不同的细分市场中进行更加有效的营销,我们有这些客户数据,但是我们不知道有哪些细分市场,而且对于数据集的某个客户,我们预先也不知道他们属于哪个细分市场,我们必须让算法自己去数据中发现这一切。

4、无监督学习也被用于天文数据分析。


三、强化学习(Reinforcement Learning)

你有可能不知道强化学习,但你一定看到过人工智能AlphaGO战胜了世界围棋冠军李世石的新闻,而人工智能AlphaGO就是使用了强化学习。

我们先来看看强化学习的定义:强化学习的本质是解决做决定的问题,即自动进行决策,并且可以做连续决策。它主要包含四个元素,agent环境状态行动奖励,强化学习的目标就是获得最多的累计奖励。agent是智能体,环境状态是当前环境的情况,行动是智能体在当前情况下可以采取的所有可能的行动,奖励就是环境的即时返回值,以评估智能体的上一个动作。

强化学习与监督学习、非监督学习之间的关系:

强化学习可以被用在你不需要进行一次决策的情形中。例如,在利用监督学习进行癌症预测的例子中,对于每一个病人,你要预测他们的肿瘤是否为恶性,你的预测决定了病人的生死。我们只通过决策产生了一个结论,要么对,要么错。但在强化学习的问题中,通常会在一段时间内做出一系列的决策。只有当你做出一系列的坏的决策时,才会得到坏的结果,所以相反的,只要我们连续做出一系列总体上还不错的决策,就可以得到不错的结果。强化学习背后的基本概念是回报函数(RewardFuction)。

 上图是一个十分魔性的小游戏flappy bird,每次点击屏幕,小鸟就会往上跳一段距离,不点击小鸟就会往下落,如果撞到柱子就游戏结束。在这个游戏中,小鸟就需要不断的进行决策,什么时候应该跳一下,以此来控制位置躲避柱子。如果我们想写一个学习算法,来帮助我们控制小鸟的每次跳动,以达到让小鸟通过尽可能多的柱子,这种情况下我们就不能使用监督学习。因为,我们不能提供所有情况下的柱子的位置,而且就算有所有的柱子位置做样本,也因为样本过多而使得学习的代价过于昂贵。这时候如果我们有一个适合的强化学习模型对小鸟使用,然后让小鸟不断进行游戏,如果小鸟撞到柱子了,那就获得-1的回报,否则获得0回报。通过这样的若干次训练,我们最终就可以得到一只飞行技能高超的小鸟,它知道在什么情况下采取什么动作来躲避柱子。

在这个强化学习的例子中,小鸟是智能体,周围的柱子是环境状态,小鸟向上跳和下落是行动,最后我们在小鸟撞到柱子和通过了柱子时给它的回报是奖励。由此我们可以看到,增强学习其实就是试错学习(Trail-and-error),智能体要以不断与环境进行交互,通过试错的方式来获得最佳策略。

强化学习的应用方向:

   1、机器人、机械臂控制、视频游戏(CNN获取图像信息,提取特征信息等处理),无人驾驶等

   2、文本序列预测,机器翻译等

下面这些是一些应用了强化学习可以在不同地形中行动的机器人展示:

写的若有错误之处,欢迎大家批评指正!

机器学习(三):线性回归:梯度下降算法

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值