2. label列存在情况进行分类¶
预期收益
- ★ 可以举例说明, 经常遇到的哪些问题是无监督学习
- ★ 能够说明无监督学习和有监督学习的区别
- ☆ 可以给出半监督学习示例, 并且说明为什会有半监督学习
- ☆ 能够通过举例说明强化学习基本思想
时间成本
- 阅读 03 分钟
- 思考 05 分钟
2.1. 回顾有监督学习¶
所谓有监督学习, 即在学习过程中, 能够及时发现学习的好坏. 怎么才能知道学习的好坏呢? 就必然要求训练的过程中知道我们预测的目标列真实值
- 如果学习给出的结果和实际的目标列基本一致, 说明学习到数据的一般规律
- 反之, 没有学习到数据的一般规律
这样在学习的过程中, 就能根据监督的结果及时调整学习策略, 以便改正错误, 提高学习效率. 通常这类问题, 可以描述成 “根据历史数据, 预测新情况是哪种分类/具体数值”
- 历史数据, 通常包含两部分
- 一部分是特征通常包含多个属性, 可以通过简单观察去获取
- 另外一部分是目标列, 通常是用户关注的最终结果(类别、数值、序列), 不易观察, 需要大量时间、人力获得, 但这种结果对于用户又非常重要, 所以通常要预测甚至, 有些目标列即使花了大量人力也无法获得, 必须等待事物真实发生才可以得到最终结果
- 新数据
- 特征(属性)通常和历史数据一样去采集
- 然后参照历史的经验去判断当前数据最可能的结果是什么, 以便用户采取后续动作
生活中常见的一些有监督学习
- 预测用户申请信用卡是否通过, 银行根据历史数据(是否有价值用户), 根据申请人的信息状况识别出哪些是潜在有价值用户
- 用户基本信息, 年龄、工龄、月收入等信息, 通常是客观很容易获取
- 最终关注的目标列是否审核通过, 通常不易采集, 根据审核人员的经验去判断是否满足要求
- 预测房价, 历史房屋基本状况和相应价格, 根据新的房屋信息预测房价
- 房屋基本信息, 地理位置、朝向、周边配套、面积、楼层, 容易获取
- 人们关注的房屋最终价格, 在没有交易之前似乎不可能获取, 通常有经验的房产经纪人能够给出相对准确的价格
有监督学习知道最终要学习的目标列, 明确知道学习的目标列的含义, 并且历史数据有对应的目标列例子以便参考. 然而, 现实生活中有很多时候, 由于时间、人力等原因, 并没有目标列
2.2. 无监督学习¶
无监督学习, 较监督学习而言, 学习过程中没有了历史数据目标列作为评价学习的好坏的指导, 其一般过程
- 识别历史数据中是否有目标列, 如果没有则可以视为无监督学习
- 对历史数据通过数学变换,看其空间结构, 将数据进行划分
- 确定每一组的含义, 根据每一组中的特征(属性)的特点, 其现实意义, 确定每一组的含义
注解
先通过数学结构获取划分, 再通过分析每一组的特征分布情况, 最终确认每一组的实际含义.
很多时候, 无监督学习最终学习得到分组结果, 从空间结构上很明显进行区分, 但并不一定有很好的业务含义, 这时候可以调整构造的特征
有些算法可能会预设分多少个类, 但这种预设个数通常是否合理, 还要看最终业务上有实际意义
现在先来看一下几个无监督学习的例子
- 对新闻进行主题分组
- 分类前, 我们并不知道具体有哪些主题
- 分类后, 根据每一组的统计信息或者内容情况, 给每一个组一个主题名称, 比如: 体育、娱乐、财经、…
- 客户群体细分, 根据市场销售数据, 客户信息, 对客户进行细分, 然后针对细分群体自定推广策划
- 分类前, 我们不知道有哪些群体
- 分类后, 根据每一组年龄、职业、消费能力, 我们可以给每一个组一个名称, 比如: 都市白领、大学生、外来务工、…
对于无监督学习, 进一步细化
- 聚类问题
- 新闻主题
- 市场细分
- 异常检测问题
- 工件异常
- 消费行为异常
- …
2.3. 半监督学习¶
半监督学习从名字上看, 介于监督学习和无监督学习之间, 其根本原因是获取目标列成本太大
- 有些目标列
- 目标列历史数据太少, 远远小于历史数据, 无法直接用监督学习的方法的学到规律
2.4. 强化学习¶
强化学习通常使用未标记的数据, 但是在使用数据的过程中引入奖惩函数, 从而判断当前状态是否离正确答案越来越近
通常, 应用在多次迭代执行才能完成的任务, 比如
- 玩游戏, 每一步都有奖惩机制
- 训练宠物
- 宠物的行为向正确方向靠近, 奖励一些食物、玩具让宠物高兴的.
- 若宠物的行为和正确的方向背道而驰, 这时候需要用一些惩罚的措施, 让宠物感觉到不高兴