手记

了解机器学习之导论

  • 最早的机器学习应用-垃圾邮件分辨
    • 传统的计算机解决问题思路:
      • 编写规则,定义“垃圾邮件”,让计算机执行
      • 对于很多问题,规则很难定义
      • 规则在不断变化
  • 图像识别
  • 人脸识别
  • 数字识别

基础概念

数据

  • 著名的鸢尾花数据https:/len.wikipedia.org/wiki/lris flower data set


  • 数据整体叫数据集(data set)
  • 每一行数据称为一个样本(sample)
  • 除最后一列,每一列表达样本的一个特征(feature)
  • 最后一列,称为标记(label)
  • (P.S. 大写字母表示矩阵,小写字母表示向量)
  • 本文表征用列向量表示


特征可以很抽象

基本任务之分类任务

  • 二分类
    • 判断邮件是垃圾邮件;不是垃圾邮件
    • 判断发放给客户信用卡有风险;没有风险
    • 判断病患良性肿瘤;恶性肿瘤
    • 判断某支股票涨;跌
  • 多分类
    • 数字识别
    • 图像识别
    • 判断发放给客户信用卡的风险评级
    • 很多复杂的问题也可以转换成多分类问题
      • 自动玩游戏,围棋,无人车,2048
    • 一些算法只支持完成二分类的任务
    • 但是多分类的任务可以转换成二分类的任务
    • 有一些算法天然可以完成多分类任务
  • 多标签分类

基本任务之回归任务

  • 结果是一个连续数字的值,而非一个类别
    • 房屋价格
    • 市场分析
    • 学生成绩
  • 有一些算法只能解决回归问题
  • 有一些算法只能解决分类问题
  • 有一些算法的思路既能解决回归问题,又能解决分类问题。
  • 一些情况下,回归任务可以简化成分类任务

学习方法之监督学习

  • 给机器的训练数据拥有“标记”或者“答案”
  • 图像已经拥有了标定信息
  • 银行已经积累了一定的客户信息和他们信用卡的信用情况
  • 医院已经积累了一定的病人信息和他们最终确诊是否患病的情况
  • 市场积累了房屋的基本信息和最终成交的金额
  • k近邻
  • 线性回归和多项式回归
  • 逻辑回归
  • SVM
  • 决策树和随机森林

学习方法之非监督学习

  • 给机器的训练数据没有任何“标记”或者“答案”
  • 对没有“标记”的数据进行分类-聚类分析
  • 对数据进行降维处理
    • 特征提取:信用卡的信用评级和人的胖瘦无关?
    • 特征压缩:PCA
    • 降维处理的意义:方便可视化
  • 异常检测


学习方法之半监督学习

  • 一部分数据有“标记”或者“答案”,另一部分数据没有更常见:各种原因产生的标记缺失
  • 通常都先使用无监督学习手段对数据做处理,之后使用监督学习手段做模型的训练和预测

学习方法之增强学习

  • 根据周围环境的情况,采取行动,根据采取行动的结果,学习行动方式。
  • 很适合机器人的自我学习

其他方向

在线学习和批量学习(离线学习) Online Learning And Batch Learning

  • Batch 不用校正模型
    • 优点:简单
    • 问题:如何适应环境变化?
    • 解决方案:定时重新批量学习
    • 缺点:每次重新批量学习,运算量巨大
    • 在某些环境变化非常快的情况下,甚至不可能的。
  • Online 坏数据怎么办?
    • 优点:及时反映新的环境变化
    • 问题:新的数据带来不好的变化?
    • 解决方案:需要加强对数据进行监控
    • 其他:也适用于数据量巨大,完全无法批量学习的环境。

参数学习和非参数学习 Parametric Nonparametric

  • 参数学习
  • 一旦学到了参数,就不再需要原有的数据集。先假设

  • 非参数学习
    • 不对模型进行过多假设
    • 非参数不等于没参数!
    • 不对整个问题做一个建模,不把问题定义为学习参数

思考

  • 数据确实非常重要
  • 收集更多的数据
  • 数据驱动·提高数据质量
  • 提高数据的代表性
  • 研究更重要的特征

  • 奥卡姆的剃刀
    • 简单的就是好的
    • 到底在机器学习领域,什么叫“简单”?
  • 没有免费的午餐定理
    • 可以严格地数学推导出:任意两个算法,他们的**期望性能(简单可以理解为平均值)**是相同的!
    • 具体到某个特定问题,有些算法可能更好
    • 但没有一种算法,绝对比另一种算法好
    • 脱离具体问题,谈那个算法好是没有意义的。
    • 在面对一个具体问题的时候,尝试使用多种算法进行对比试验,是必要的。
  • 面对不确定的世界,怎么看待使用机器学习进行预测的结果?
3人推荐
随时随地看视频
慕课网APP