Successfully reported this slideshow.
Your SlideShare is downloading. ×

机器学习与深度学习简介.pdf

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
一淘广告机器学习
一淘广告机器学习
Loading in …3
×

Check these out next

1 of 68 Ad

More Related Content

Similar to 机器学习与深度学习简介.pdf (20)

Advertisement

机器学习与深度学习简介.pdf

  1. 1. Head First Machine Learning Cyanny Liang, 2021 Sept
  2. 2. 目录 • 什么是机器学习 • 机器学习发展历程 • 机器学习算法类型 • 机器学习算法框架 • 最佳实践方法 • 深度学习和应用 • 未来的研究方向
  3. 3. 目录 • 什么是机器学习 • 机器学习发展历程 • 机器学习算法类型 • 机器学习算法框架 • 最佳实践方法 • 深度学习和应用 • 未来的研究方向
  4. 4. 什么是机器学习? • 机器可以学习和思考么? • “Machine Learning”, 1959, IBM, Arthur Samuel • 机器学习(统计学习): 计算机系统基于数据运用统计方法提升系统 性能的过程 • 基本假设: 同类型的数据具有一定的统计规律性 Data ML Skill
  5. 5. 机器学习的定义 • 形式化定义: • A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E (Tom M.Mitchell) Data ML Skill Improved performance measure (e.g. prediction accuracy) Experience Task: e.g. prediction
  6. 6. 什么时候用机器学习 • 机器学习是一种构建复杂系统的方式 • 很难用程序清楚地定义和表达问题 • 存在有规律的模式 • 可以收集到足够的数据 时尚推荐 地图导航 房价预测 餐厅选址
  7. 7. 目录 • 什么是机器学习 • 机器学习发展历程 • 机器学习算法类型 • 机器学习算法框架 • 最佳实践方法 • 深度学习和应用 • 未来的研究方向
  8. 8. 先驱 • 神话和科幻 • 哲学和形式推理 • 亚里士多德, 三段论逻辑的形势分析; 17世纪, 笛卡尔, 莱布尼兹, 霍布斯将理性的 思考转化为数学体系 • 图灵机, 将任意数学推理过程转化为对0和1二元符号的处理 古希腊火神赫准斯托斯 铸造的金属巨人塔罗斯 中世纪炼金术 人造人(Homunculus) 2001太空漫游
  9. 9. AI的诞生: 40~50年代 • 1943, Pitts和McCulloch提出人工神经网络(ANN) • 1950, 图灵测试,如果一台机器能够与人类展开对话而不能被辨别出 其机器身份,那么称这台机器具有智能 • 1952, 游戏AI, Samuel的国际象棋程序可以挑战有相当水平的业务 爱好者 • 1955, Newell&Simon开发了逻辑理论家证明数学原理的38个原理 • 1956, 达特茅斯Workshop, 提出AI定义 • 人工智能就是要让机器的行为和人所表现的智能行为一样 • Every aspect of learning or any other feature of intelligence can be so precisely described that a machine can be made to simulate it.
  10. 10. AI黄金年代: 50~60年代 • 1958, 搜索式推理, Herbet Gelernter的几何定理证明机器 • 自然语言, ELIZA第一个聊天机器人, 按固定套路说英语 • 60年代, Minsky和Papert制作了一个会搭积木的机器臂 • 乐观思潮: • 1958年,艾伦·纽厄尔和赫伯特·西蒙:“十年之内,数字计算机将成为国际象棋世界冠军。 十年之内,数字计算机将发现并证明一个重要的数学定理。” • 1965年,赫伯特·西蒙:“二十年内,机器将能完成人能做到的一切工作。” • 1967年,马文·闵斯基:“一代之内……创造‘人工智能’的问题将获得实质上的解决。” • 1970年,马文·闵斯基:“在三到八年的时间里我们将得到一台具有人类平均智能的机 器。”
  11. 11. AI第一个寒冬: 60~70年代 • 1966, 自动语言处理顾问委员会的报告批评机器翻译的进展缓 慢, NRC停止政府自助 • 70年代, AI遭遇瓶颈: 现实问题的复杂度是指数级的; 算力和数 据不够等问题 • 人工神经网络遭到冷落, 1969, Minsky&Papert, 线性模型无法 计算XOR
  12. 12. AI第二波浪潮: 70~80年代 • 专家系统(Knowledge Based System) • 1965, Dendral,根据分光计读数分辨混合物 • 1972年设计的MYCIN能够诊断血液传染病 • 1980, CMU, 客户订单转化为规格说明, 节省DEC公司4千万美元 • 1981年, 日本八亿五千万美元, 第五代计算机项目
  13. 13. AI第二次低谷: 80~90年代 • 专家系统的一系列问题, • 规则越来越复杂, 老一代Lisp机器, 升级维护费用昂贵 • 很难处理现实中的不确定性情况 • 直到1991年, 第五代工程没有实现
  14. 14. AI第三波浪潮: 90年代至今 • 神经网络重生 • 1986, Rumelhart, Hinton, 推广反向传播算法训练神经网络 • 1989, Lecun, CNN, 手写数字识别 • 1997, 深蓝战胜国际象棋世界冠军 • 2009, 蓝脑计划, 模拟部分鼠脑 • 2011, IBM沃森, 危险边缘项目打败人类
  15. 15. AI第三波浪潮: Bigdata+AI • Deep Learning兴起 • ImageNet识别准确率已经达到90.45 • 2016, AlphaGO, Deep Reinforcement Learning
  16. 16. Hype Cycle
  17. 17. 目录 • 什么是机器学习 • 机器学习发展历程 • 机器学习算法类型 • 机器学习算法框架 • 最佳实践方法 • 深度学习和应用 • 未来的研究方向
  18. 18. 算法基本分类: 监督学习 学习系统 模型 预测系统 P(y|x)或 y = f(x) 样本数据: (x1, y1), (x2, y2), … (xn, yn) 测试数据: xn+1, xn+2, … yn+1, yn+2, … • 监督学习: 从标注的样本数据中学习从输入到输出的映射关系或条件概率分布 • 经典算法: 线性回归, 逻辑斯谛回归, 决策树, 感知机, 支持向量机, 朴素贝叶斯, K近邻法, Boosting提升方法, EM, 隐马尔可夫模型, 条件随机场, 神经网络
  19. 19. 算法基本分类: 无监督学习 学习系统 模型 预测系统 Z = g(x) P(z|x) P(x|z) 样本数据: x1, x2, …, xn 测试数据: xn+1, xn+2, … • 无监督学习: 从没有标注的样本数据中学习潜在的统计规律和结构 • 经典算法: kmeans聚类, DBSCAN聚类, GMM, PCA主成分分析, t-SNE降维, 潜在语义分析, 马尔可夫链蒙特卡洛方法, 潜在狄利克雷分配(LDA), PageRank算法, AutoEncoder算法 𝑍!"# = 𝑔 𝑋!"# 𝑍!"# = argmax P(z| 𝑋!"#) P(𝑋!"# | 𝑍!"#)
  20. 20. 算法基本分类: 强化学习 • 智能体系统与环境的连续互动中学习最优的行为策略, 其目标 不是短期奖励最大化, 而是长期累积奖励最大化 • 例如: AlphaGo, 自动驾驶, 交易策略, 医疗实验, 电商推荐…
  21. 21. 算法基本分类: 半监督学习 • 利用标注和未标注的数据学习模型, 利用未标注数据的信息, 节省标注成本
  22. 22. 其他分类维度
  23. 23. 目录 • 什么是机器学习 • 机器学习发展历程 • 机器学习算法类型 • 机器学习算法框架 • 三种经典算法 • 算法框架和套路 • 什么是梯度下降 • 最佳实践方法 • 深度学习和应用 • 未来的研究方向
  24. 24. 经典算法一: 线性回归(Linear Regression) • 例如: 预测广告投放的销售额 • 模型: 𝑦 = 𝜔𝑥 + 𝑏 • 策略: 最小化 Mean Squared Error • 算法: 最小二乘法, 梯度下降法
  25. 25. 经典算法二: 逻辑回归(Logistic Regression) • 基于逻辑分布函数的对数线性模型 • Logistic函数: S型函数(Sigmoid), 1838, 数学家Pierre, 人口增长模型 • 例如: 垃圾邮件判别, 欺诈用户判别, 癌症判别 • 函数输出[0, 1], 概率估计 • 概率模型,解决分类问题 • 𝑃 𝑦 = 1 𝑥) = &! '(&! = ' '( &"!
  26. 26. 经典算法二: 逻辑回归(Logistic Regression) • 输入: (𝑥!, y!), y = 0 or 1 • 模型: 𝑦 = # #$ %!" 𝑧 = 𝜔𝑥 + 𝑏 • 策略: 最小化交叉熵损失 • 算法: 拟牛顿法, 梯度下降法
  27. 27. 经典算法三: 决策树 • 基于特征对实例进行划分, 构建树形结构模型 • 解释性好: 类似if-else的规则, 互斥且完备 • 内部节点表示特征属性, 叶节点表示属性 • 概率模型, 非参数模型
  28. 28. 经典算法三: 决策树 • 模型: 利用特征集合递归地生成树 • 策略: 特征选择, 决策树生成, 决策树剪枝 • 算法: • 特征选择: 信息熵最小, 不确定性最小 • ID3 信息增益, C4.5 信息增益比, CART基尼指数
  29. 29. 算法框架: 三要素 模型 • 学习什么样的模型 • 模型假设空间: 决策函数集合Ϝ = 𝑓 𝑌 = 𝑓(𝑋) 或条件概率分布族F = 𝑃 𝑃(𝑌|𝑋) 策略 • 用什么标准选择最优模型 • 经验风险最小化(损失函数):min ! " ∑#$! " 𝐿(𝑦#, 𝑓(𝑥#)) • 结构风险最小化(正则化):min ! " ∑#$! " 𝐿(𝑦#, 𝑓(𝑥#)) + 𝜆𝐽(𝑓) 算法 • 用什么算法学习模型, 如何找到全局最优解, 如何加快学习效率 • 学习问题归结为最优化问题: 梯度下降, 牛顿法, 最小二乘法, 拉格朗日函数法等
  30. 30. Demo: 如何学习线性回归(Linear Regression) • 例如: 预测广告投放的销售额 • 模型: 𝑦 = 𝜔𝑥 + 𝑏 • 策略: 最小化 Mean Squared Error • 算法: 最小二乘法, 梯度下降法
  31. 31. 什么是梯度下降(Gradient Descent) • 一种求解无约束最优化问题的迭代算法 • 问题定义: min 𝐽 𝜃 , 𝜃 ∈ 𝑅% • 前提假设: 𝐽 𝜃 具有一阶连续偏导数 • 梯度 • 由各方向的偏导数组成的向量 • [ &' &(! , &' &(" , . . , &' &(# ]) • 向量的方向是函数在该点变化最快的方向 • 向量的模是方向导数的最大值 • 梯度下降 • 迭代执行 𝜃 = 𝜃 − α &' &( • 目标函数凸函数可以求得全局最优解, 一般情况不保证全局最优
  32. 32. Demo: 线性回归 1.损失函数 2.求偏导数(chain rule) 3.求偏导数(chain rule)
  33. 33. 为什么梯度下降可以逼近最优值? 1.损失函数一阶连续可导, 对损失函数进行一阶泰勒展开 2.令𝜃 − 𝜃$ = 𝜆d (d是单位向量,𝜆是步长) 3.向量的内积转化为向量的模和夹角余弦值的乘积 损失函数越小越好, cos(theta) = -1, 两个向量方向相反, 4.代入公式 𝜃 − 𝜃$ = 𝜆d
  34. 34. 为什么梯度的方向是下降最快的方向? • 证明梯度向量是变化率最大的向量 1.多元函数在某一个点(𝒙𝟎, 𝒚𝟎)处延某个方向的变化率 假设该方向的单位向量e' = (cos 𝛼, sin 𝛼), 𝛼是该向量和x轴正方向的夹角 沿此方向的最大变化率(方向导数): 2.改写为标量和余弦夹角的乘积 当𝜃 = 0, 函数变化率最大, 两个向量方向相同, 即正梯度 当𝜃 = 𝜋, 函数变化率最大, 两个向量方向相反, 即负梯度
  35. 35. 梯度下降的人生启示 • 要有目标, 你需要有目标。短的也好,长的也好 • 目标要大, 目标在哪儿你不知道, 如果知道就太简单了 • 坚持走, 虽然有人赢在起点, 但只要坚持, 很远也能到达, 可以开始 给自己一些小目标, 每次按一个方向(梯度), 迈一步(下降), 不断积累 • 痛苦的卷, 每一步改变模型参数, 改变会带来痛苦, 但没有改变就没 有进步 • 四处看看, 四处走走,迈过舒适区(局部最优), 可能会做些错误的决定 • 简单最好, 有更复杂的算法, 可以看到更远更准, 但快也是慢, 如果 目标很复杂, 简单的随机梯度下降反而效果最好
  36. 36. 目录 • 什么是机器学习 • 机器学习发展历程 • 机器学习算法类型 • 机器学习算法框架 • 最佳实践方法 • 特征工程 • 模型评估 • 模型调优 • 深度学习和应用 • 未来的研究方向
  37. 37. 机器学习工程化Pipeline 收集数据 特征工程 模型训练 • 模型,策略,算法 • 大规模训练 模型评估 • 准确率, 召回率 模型调优 • 超参调优, 正则化 模型部署 效果评估 • 收集Bad Case
  38. 38. 特征工程: 连续型变量 • 正则化(Normalization) • 数值型变量归一化到[-1, 1]或[0,1] • 提升梯度下降收敛速度, 防止数值溢出 • 标准化(Standardization) • 归一化为标准正态分布 • 适合场景 • 无监督学习算法 • 神经网络: 加快收敛速度, 避免局部最优 • 特征分布接近正太分布 • 存在一些异常的特征值
  39. 39. 特征工程: 离散型变量 • Integer encoding • red 1, yellow 2, green 3 • 保留了标签的顺序性, 可能会导致过拟合 • One-hot encoding • 增加特征维度 • 适合场景 • 标签集合可数 • 模型只能接收数值类型的输入, 例如神经网络, 逻辑回归
  40. 40. 特征工程
  41. 41. 模型评估: 分类问题 Spam(Predicted) Not Spam(Predicted) Spam(actual) 23(TP) 1(FN) Not Spam(actual) 12(FP) 556(TN) 混淆矩阵(Confusion Matrix) 准确率(Accuracy) = ()"(* ()"+*"+)"(* = ,-"../ ,-"#"#,"../ = 0.97 精确率(Precision) = () ()"+) = ,- ,-"#, = 0.65 召回率(Recall) = () ()"+* = ,- ,-"# = 0.95 Precision Recall Curve F1-Score = ,)∗1 )"1 = , ∗$./. ∗$.3. $./."$.3. = 0.77 适合正样本很少的场景
  42. 42. 模型评估: ROC Curve Spam(Predicted) Not Spam(Predicted) Spam(actual) 23(TP) 1(FN) Not Spam(actual) 12(FP) 556(TN) 混淆矩阵(Confusion Matrix) 召回率(Recall), True Positive Rate = () ()"+* = ,- ,-"# = 0.95 Receiver Operating Characteristic Curve ROC AUC Score(Area Under the ROC Curve) • ROC Curve曲线下方的面积 • 值域是[0, 1], 越大模型的性能越好 • 表达正样本比负样本排名更靠前的概率 • 与Threshold的选择无关, 综合指标 False Positive Rate = +) +)"(* = #, #,"../ = 0.02
  43. 43. 模型评估: 回归问题 1.Mean Squared Error: 对误差惩罚度高 2.Root Mean Squared Error: 与样本量纲相同, 相比MSE, 解释性更好 3.Mean Absolute Error: 线性的, 忽略小误差 4.Mean Absolute Percentage Error 对相对误差更敏感 5. R2 Score 确定系数 [0, 1], 越大越好, R2=1表示没有错误
  44. 44. 模型调优 模型 • 过拟合问题与模型选择 策略 • 正则化与交叉验证 算法 • 超参调优
  45. 45. 模型选择: Overfitting vs Underfitting • 偏差(Bias): 预测值和真实值之间的差异 • 方差(Variance): 预测值的变化范围, 离散程度
  46. 46. 模型选择: Trade-Off • 模型泛化能力: 平衡模型偏差和方差 • 欠拟合: 高偏差, 低方差 • 提高模型复杂度, 例如NN • 过拟合: 低偏差, 高方差 • 模型: 降低模型复杂度, 例如线性模型 • 策略: 正则化, 降低结构风险 • 算法: 超参数调优 • 数据: 降低特征维度, 数据增强(降采样, 过采样)
  47. 47. 策略: 正则化 • 结构风险最小化策略的一种实现, 遵循奥卡姆剃刀原则 • 正则化项是模型复杂度的单调递增函数 • L1: 生成稀疏模型, 可用于特征选择, 提升可解释性, 也叫做Lasso回归 • L2: 可微函数, 适合梯度下降算法, 也叫做ridge回归 • 神经网络: dropout, batch normalization
  48. 48. 算法: 超参调优 • 如何挑选参数? • Random Search • Grid Search • Bayesian Optimization • Multi Armed Bandit • 如何验证? • 交叉验证
  49. 49. K折交叉验证
  50. 50. 超参数调优
  51. 51. 超参数调优: 贝叶斯优化
  52. 52. 目录 • 什么是机器学习 • 机器学习发展历程 • 机器学习算法类型 • 机器学习算法框架 • 最佳实践方法 • 深度学习算法和应用 • 反向传播算法 • 图像识别 • 自然语言处理 • 未来的研究方向
  53. 53. 什么是深度学习?
  54. 54. MLP--Multilayer Perceptron • 全连接多层神经网络 • 隐藏层超过2层叫做深度神经网络 • 𝑦 = 𝑓3(𝑓2(𝑓1(𝑤1𝑥 + 𝑏))), 如何训练? • 例如: 损失函数: 𝐽 = $ % ∑&'$ % (𝑦& − 𝑦& ( )) , 梯度下降: 𝑤& ← 𝑤& - *+ *,!
  55. 55. 反向传播(Backpropagation) • 训练前向神经网络的方法, 基于链式法则(chain rule)计算梯度
  56. 56. Backward Pass Chain Rule
  57. 57. 图像识别: 卷积神经网络CNN • 卷积层: 一种特殊的线性变换, 表征特征的空间关系 • 优势: 稀疏链接, 参数共享, 训练效率高, 模型性能更好
  58. 58. 自然语言: Recurrent Neural Network • RNN • 输入: 序列数据, 例如: 时间序列, 自然语言序列 • 网络中包括循环
  59. 59. 深度学习框架
  60. 60. 总结与展望 • 机器学习是基于数据运用统计方法提升系统性能的算法和技术 • 主要分类: 监督学习, 无监督学习, 强化学习, 半监督学习 • 算法框架三要素: 模型(假设空间), 策略(损失函数), 算法(梯度 下降) • 实践中需要做好特征工程, 构建模型评估体系, 调优中遵循奥 卡姆剃刀原理 • 深度学习核心算法: 反向传播
  61. 61. 未来研究方向: 解决ML的Tech Debt
  62. 62. AutoML
  63. 63. 未来研究方向: 因果推理 • 演绎推理 • 关联 • 干预 • 反事实
  64. 64. 推荐书单 • 入门 • The Hundred-Page Machine Learning Book • Machine Learning Course, Andrew NG • 进阶 • 统计学习方法 • 机器学习的基石, 台湾大学, 林轩田 • Deep Learning(花书)
  65. 65. THANK YOU

×