2. label列存在情况进行分类

预期收益

  • ★ 可以举例说明, 经常遇到的哪些问题是无监督学习
  • ★ 能够说明无监督学习和有监督学习的区别
  • ☆ 可以给出半监督学习示例, 并且说明为什会有半监督学习
  • ☆ 能够通过举例说明强化学习基本思想

时间成本

  • 阅读 03 分钟
  • 思考 05 分钟

2.1. 回顾有监督学习

所谓有监督学习, 即在学习过程中, 能够及时发现学习的好坏. 怎么才能知道学习的好坏呢? 就必然要求训练的过程中知道我们预测的目标列真实值

  • 如果学习给出的结果和实际的目标列基本一致, 说明学习到数据的一般规律
  • 反之, 没有学习到数据的一般规律

这样在学习的过程中, 就能根据监督的结果及时调整学习策略, 以便改正错误, 提高学习效率. 通常这类问题, 可以描述成 “根据历史数据, 预测新情况是哪种分类/具体数值”

  • 历史数据, 通常包含两部分
    • 一部分是特征通常包含多个属性, 可以通过简单观察去获取
    • 另外一部分是目标列, 通常是用户关注的最终结果(类别、数值、序列), 不易观察, 需要大量时间、人力获得, 但这种结果对于用户又非常重要, 所以通常要预测甚至, 有些目标列即使花了大量人力也无法获得, 必须等待事物真实发生才可以得到最终结果
  • 新数据
    • 特征(属性)通常和历史数据一样去采集
    • 然后参照历史的经验去判断当前数据最可能的结果是什么, 以便用户采取后续动作

生活中常见的一些有监督学习

  • 预测用户申请信用卡是否通过, 银行根据历史数据(是否有价值用户), 根据申请人的信息状况识别出哪些是潜在有价值用户
    • 用户基本信息, 年龄、工龄、月收入等信息, 通常是客观很容易获取
    • 最终关注的目标列是否审核通过, 通常不易采集, 根据审核人员的经验去判断是否满足要求
  • 预测房价, 历史房屋基本状况和相应价格, 根据新的房屋信息预测房价
    • 房屋基本信息, 地理位置、朝向、周边配套、面积、楼层, 容易获取
    • 人们关注的房屋最终价格, 在没有交易之前似乎不可能获取, 通常有经验的房产经纪人能够给出相对准确的价格

有监督学习知道最终要学习的目标列, 明确知道学习的目标列的含义, 并且历史数据有对应的目标列例子以便参考. 然而, 现实生活中有很多时候, 由于时间、人力等原因, 并没有目标列

2.2. 无监督学习

无监督学习, 较监督学习而言, 学习过程中没有了历史数据目标列作为评价学习的好坏的指导, 其一般过程

  1. 识别历史数据中是否有目标列, 如果没有则可以视为无监督学习
  2. 对历史数据通过数学变换,看其空间结构, 将数据进行划分
  3. 确定每一组的含义, 根据每一组中的特征(属性)的特点, 其现实意义, 确定每一组的含义

注解

先通过数学结构获取划分, 再通过分析每一组的特征分布情况, 最终确认每一组的实际含义.

很多时候, 无监督学习最终学习得到分组结果, 从空间结构上很明显进行区分, 但并不一定有很好的业务含义, 这时候可以调整构造的特征

有些算法可能会预设分多少个类, 但这种预设个数通常是否合理, 还要看最终业务上有实际意义

现在先来看一下几个无监督学习的例子

  • 对新闻进行主题分组
    • 分类前, 我们并不知道具体有哪些主题
    • 分类后, 根据每一组的统计信息或者内容情况, 给每一个组一个主题名称, 比如: 体育、娱乐、财经、…
  • 客户群体细分, 根据市场销售数据, 客户信息, 对客户进行细分, 然后针对细分群体自定推广策划
    • 分类前, 我们不知道有哪些群体
    • 分类后, 根据每一组年龄、职业、消费能力, 我们可以给每一个组一个名称, 比如: 都市白领、大学生、外来务工、…

对于无监督学习, 进一步细化

  • 聚类问题
    • 新闻主题
    • 市场细分
  • 异常检测问题
    • 工件异常
    • 消费行为异常

2.3. 半监督学习

半监督学习从名字上看, 介于监督学习和无监督学习之间, 其根本原因是获取目标列成本太大

  • 有些目标列
  • 目标列历史数据太少, 远远小于历史数据, 无法直接用监督学习的方法的学到规律

2.4. 强化学习

强化学习通常使用未标记的数据, 但是在使用数据的过程中引入奖惩函数, 从而判断当前状态是否离正确答案越来越近

通常, 应用在多次迭代执行才能完成的任务, 比如

  • 玩游戏, 每一步都有奖惩机制
  • 训练宠物
    • 宠物的行为向正确方向靠近, 奖励一些食物、玩具让宠物高兴的.
    • 若宠物的行为和正确的方向背道而驰, 这时候需要用一些惩罚的措施, 让宠物感觉到不高兴