Introduction to Machine Learning

本文最后更新于:3 个月前

百度智能云 飞桨平台

机器学习的常见算法

  • supervised learning & unsupervised learning 「main」
  • Reinforcement learning,recommender systems

机器学习的三大问题

regression problem 回归问题

  • 样本由离散的点构成,我们需要利用模型来拟合它,从而对连续的每个值都给出预测
  • 常见情况下 模型分为:linear model 和 polynomial model 两种

classification problem 分类问题

  • 和回归问题不同的地方在于 其产出是离散的 常见情况是 下判断

Clustering problem 聚类问题

Three Basic Mechine Learning method

Supervised Learning 「给出正确的答案,算法的目的是产生更多正确答案」

  • a data set with right answers given, the task of the algorithm is to produce more of these right answers.
  • 由监督学习引出的两种问题是 分类问题和回归问题(两者的区别在连续和离散)
  • 监督学习的集中算法
    • 线性回归、逻辑回归、决策树、神经网络、卷积神经网络、循环神经网络
  • 强监督和弱监督 如果你对每组数据都给出完整、正确的标签,那么就是强监督学习
    • 弱监督学习分为三类: 「周志华老师 A brief Introduction to Weakly Supervised Learning」 这三类并非我们人为选择,而是在实际操作中可能会同时发生的。
      • Incomplete su 不完全监督: 只对一部分数据给出label
        • 解决方案:
          • Active L 主动学习 => 先训练标注过的数据,剩下的自动查询。 有人工干预
          • Semi-su L半监督学习 => 观察未被标注的数据分布,比如说在一个positive和一个negative中间的,如果他附近的样本点很多为正,那么可以认为它大概率为正
      • Inexact su 不确切监督:给出的标签是粗粒度的,一个包里的示例只给了一个标签
        • 解决方案:
          • Multi-instance L 多实例学习 => 实际上几乎所有机器学习算法都有其多实例对等体,这个的应用非常广泛
      • Inaccurate su不精确监督: 给出的标签可能有错误
        • 解决方案:
          • L with label noise 带噪学习 => 基本思想是 识别潜在的误分类样本然后修正。在系统中建立相邻关系表,如果某个点和其相邻的点不同,它就可能被判定为可疑点,系统可能会将其删除或重新标记

Unsupervised Learning 「数据不含标签,算法的目的是找到数据中的结构 我们不知道正确答案」

  • a data set with no labels, the task of the algorithm is to find some structure in the data, the key is we don’t know how to divide the data in advance.
    • cluster algorithm (organize computing clusters or social network analysis)
    • cocktail party problem
  • 由非监督学习引出的问题则是 聚类问题,将训练数据分成几个类,自己去寻找结构

Reinforcement learning RL

强调探索和利用的平衡,通过某种奖惩机制刺激,逐步产生获得最大利益的习惯性行为。


AI必知必会基础

人工智能概论

人工智能的描述

  • 可以感知“环境”,并且根据环境变化做出决策或者行动,从而达成目标的程序。(AI 的所谓学习,可以被解释成一种 优化)
    • 机器学习 指的就是 特征提取构建模型 + 大量数据进行训练,从而达到对新样本的预测、识别
  • 为什么不能用编程解决机器学习问题?:比如在猫狗识别中,改变拍摄角度或者动物形态,可能就改变了我们用编程判断时的关键特征。
  • 为什么GPU为机器学习提供了支撑?: GPU一开始被设计成方便图形开发,在渲染图形时候需要大量浮点运算,并且GPU可以大量并行的进行浮点运算

弱、强、超人工智能的含义

  • 弱人工智能 指的是专注于且只能解决特定问题的AI, AlphaGo、Siri这种也只能叫弱人工智能
  • 强人工智能 又叫完全人工智能,可以胜任人类所有工作的人工智能,目前还无法实现。
    • 在我看来,一方面是由于人工智能的复杂决策和对不确定因素的推理能力还不成熟,另一方面,人工智能伦理问题也难以解决。
  • 超人工智能 比人类社会最聪明的人还要更逆天的存在
  • 人工智能与岗位的关系:不可避免的替代掉一部分人的工作,但在历史上也有先例,会产生更好的工作 解放人类生产力。 决策信息量小,过程简单的重复性工作,可能会被替代。

人工智能几个基本概念

  • 向量 => 二维 平面 => 矩阵 多维 => 张量(tensor)

  • 训练集、验证集(训练好之后用来调整参数)、测试集(用来评估)
    • 验证集是什么:在跑测试之前,防止自己的模型过拟合,想要获得更好的泛化能力来进行的小测试
    • 注意,三者其实都是数据集的划分而已,并不是独立的,一般的分配比例是 6 2 2(小型系统)
      • 每一个数据看作一个 包, 每个包里可以有多个instance.
  • 随机梯度下降法 Stochastic Gradient Descent

机器学习

机器学习7大步骤

收集数据 \(\rightarrow\) 数据准备 \(\rightarrow\) 选择模型 \(\rightarrow\) 训练 \(\rightarrow\) 评估 \(\rightarrow\) 参数调整 \(\rightarrow\) 预估

宏观上说,还是将现实问题抽象为数学问题,并利用计算机建立模型解决,最后评估模型的合理性。从过程上说,通过训练集,不断识别和提取特征,不断完善模型,最终形成有效模型的过程,就可以称为机器学习。

机器学习的评估指标 (以男女预测为例)

  • Accuracy
    • 正确数/总预测数 问题在于样本不平衡时(比如9成样本结果一样,那么即使全预测一样的结果仍然可能取得9成的准确率)
  • Precision
    • 以男女预测为例,这个指的是,比如预测为男的结果里,实际上确实为男的比率,而Accuracy 指的是,所有的预测结果里,预测正确的比率。
  • Recall 召回率/查全率
    • 实际为男的样本,确实被预测为男的概率
    • 为什么需要这个指标:有些系统必须找出全部含有某种特征的点, 比如必须找到所有欠债的人,至于有的人没欠债却被认为欠了,没关系。
  • PR曲线 / F1分数 「将精准率和召回率做出二维曲线」
    • P和R 并不能都同时达到高位,因此综合两者的表现,出现了F1分数 = (2 x p x r) / (p + r)
  • ROC 曲线 「TP率 和 FP率 真正率 / 假正率」
    • 我觉得这个不是很好懂,姑且记住 ROC曲线越陡说明模型的性能越好
  • AUC 曲线下面积

假设函数&损失函数和它们的优化

  • Hypothesis Function: 也就是模型本身。
  • Loss Function: L(x) 其中x是假设函数的预测结果,L(x)越小,与实际值的偏差越小
  • 优化方法:本质上,就是优化假设函数以使损失函数最小的过程。 优化方法 就是我们常听说的,如 梯度下降法、共轭梯度法 等等。
    • 经验误差(训练集数据的误差)
    • 泛化误差(测试集数据的误差)

拟合 fitting

拟合就是把平面坐标系中散落的点,用光滑的曲线连接起来,利用模型对数据进行拟合,就是机器学习的基本问题。 对训练集以外样本的预测能力,就是机器学习的泛化能力。

  • 过拟合,模型在训练样本中表现优越(从几何上看,模型曲线几乎包含了所有的样本点),但泛化能力差。 产生的原因是 特征太多和训练样本过少
  • 欠拟合(underfitting), 模型曲线不能很好的拟合数据,在训练和测试的时候表现都不好。 比如尝试用直线去拟合符合对数特征的样本点