文章目录
- 机器学习应用背景
- 数据挖掘
- 个性化定制
- 替代人力的软件应用
- 什么是机器学习
- 示例
- 机器学习系统举例
- IBM Watson DeepQA
- IBM Watson
- 技术需求
- 相关技术 -- DeepQA
- 通用机器学习系统设计
- 设计一个学习系统 1
- 系统设计1 —— 用于训练的经验
- 设计学习系统 2
- 系统设计2 —— 到底应该学什么?
- 设计学习系统 3
- 系统设计3 —— 假设的表示
- 设计学习系统 4
- 系统设计4 —— 学习算法
- 设计学习系统 5
- 系统设计 5 —— 综合起来
- 总结
- 系统设计与方案选择
- 机器学习领域的基本概念
- 基本概念 (通常在机器学习领域中使用)
- 总结
机器学习应用背景
数据挖掘
- 使用历史数据改善决策
- 商业智能
- 例子:商品摆放位置(P&G, Walmart, … )
- ……
- 信用危机分析
个性化定制
- 学习用户兴趣的应用( e.g. 信息流、论坛、社交网络 …)
- 电子商务中的推荐
- 邮件过滤
- … …
替代人力的软件应用
- 模式识别:人脸识别,语音识别 ,手势识别, OCR, ……
- 自动驾驶
- 信息检索(如搜索引擎)
- … …
例:自动驾驶: Google Driverless Car
http://www.extremetech.com/extreme/189486-how-googles-self-driving-cars-detect-and-avoid- obstacles
Uber 无人驾驶汽车事故 Sunday, Mar. 18 2018
- 2018 年 3 月 18 日,一辆 Uber 无人驾驶汽车发生事故导致 49
岁的 Elaine Herzberg 死亡。 - 一位 Uber 工程师在汽车驾驶座上,但发生事故时正处于自动
驾驶模式。这被认为是第一起有关自动驾驶的严重事故。 - Toyota停止了自动驾驶技术在公共道路上的测试
例:信息检索(续)
• 相关性反馈
• e.g. 图像检索、视频检索 …
什么是机器学习
- “学习是要表示出系统中的变化 … 使得系统在下次进行同样的任务时变得更有效” – Herbert Simon
- Herbert Simon (1916 – 2001)
- 1956,达特茅斯会议,“人工智能之父” • 1975 年获得图灵奖
- 1978年获的诺贝尔经济学奖
- 1986年获得国家科学奖章
- 1993年由于其心理学方面的杰出贡献被授予美国心理学会奖
- 1994年他成为一名外籍中科院科学家
- “学习是对经验的表示方法的构造或修改” --Ryszard S. Michalski
- Ryszard S. Michalski (1937-2007)
http://www.mli.gmu.edu/michalski/- Michalski, Ryszard S. and Kodratoff, Y. Machine Learning, an AI approach (《机器学习:一种人工智能方法》) 1990
- 共同创始人: Machine learning research field
- 共同创始人: Machine Learning (Journal)
- 共同创始人: ICML
- 学习 = 在某种任务上基于经验不断进步
- Tom M. Mitchell (CMU)
- 1973 MIT S.B. ; 1979 Ph.D. Stanford Uni.
- 共同创始人: Machine Learning (Journal)
- 共同创始人: ICML
- IJCAI Computers and Thought Award, 1983
- T (Task 任务)
- E (Experience 经验)
- P (Performance 性能)
学习:变化 / 构造或修改 / 进步
示例
- 学习如何下国际跳棋
- T: 下国际跳棋
- P:获胜率
- E:e.g. 和自己下棋
- 手写识别
- T: 识别字符
- P: 识别精度
- E: 已知类别的字符集
机器学习系统举例
IBM Watson DeepQA
Jeopardy:
一个美国的电视节目。需要参赛者分辨出笑话、双关、反讽、字谜等语句中的微妙之处
IBM Watson @ Jeopardy
- February 14, 15, and 16, 2011
- Jeopardy 的两个著名冠军
- Brad Rutter(右):
- 赢得 Jeopardy 史上最多的奖金 (325 万美金)
- Johns Hopkins 大学辍学生
- Ken Jennings(左):
- Jeopardy 连胜纪录保持者(2004年连续获胜 74 场)
- 拥有 Brigham Young 大学的计算机和英语学位以及Seoul Foreign 的学士学位
IBM Watson 在 Jeopardy 中获胜
- 体现了在问答领域的出色成果
最终结果:
$77,147 (5,000 + 35,734 +41,413) vs. $21,600 & $24,000.
IBM Watson
- 开发 4 年
- 90 台 Power 7 服务器 (每台有4 个 8 核 power 7 处理器)
- 基于大规模知识库而不是互联网的检索(没有联网)
- 3 秒内在上百亿的页面进行检索
- 用之前节目的题目进行训练
- Jeopardy 参与者: 77 (2009) + 55 (2010, 优胜者)
- 缺乏实时学习的能力
Category: US City
Q: “Its largest airport was named for a World War II hero; its second largest,
for a World War II battle.”
A: “What is Toronto?” (Chicago)
技术需求
-
回答任意话题的问题
- 自然科学、地理、流行文化 …
-
准确度:不只是一个答案,还需要高置信度
-
速度:3 秒内甚至更快
-
语言理解
- 解析复杂句子,理解笑话、双关、反讽等
-
问题的实时分析
-
从错误中学习
-
应对意料之外的情况 …
相关技术 – DeepQA
- 一种大规模的基于概率和实例的问答架构
- 不基于数据库
- 深度文本分析
- NLP 以及基于统计的 NLP
- 确定多种相似可能性的置信度
- 投票、问题解释… • 搜索
- 风险评估
- Hadoop、UIMA
- 现实应用场景中的挑战 / 问题
通用机器学习系统设计
设计一个学习系统 1
例 :让机器学习下国际跳棋
- 有什么经验?
系统设计1 —— 用于训练的经验
-经验是否代表目标性能?
例 :国际跳棋游戏
- 训练中看到的数据(游戏对局) 能代表实际中遇到的数据吗?
- 自我对抗 vs. 与大师对抗
- 意料之外的结果
- 示例1 :月亮还是香蕉?
- 示例2:神经网络数字识别
- 示例3:IBM Watson 认为多伦多是 “美国城市”
意料之外的结果
- 问题出在哪里?
- 注意训练数据偏差
- 数据 (月亮还是香蕉)
- 训练过程 ( NN数字识别)
- 特征 ( IBM Watson)
设计学习系统 2
例 :让机器学习下国际跳棋
- 有什么经验?
- 注意训练数据偏差:
- 数据, 训练过程,功能
- 注意训练数据偏差:
- 到底应该学什么?
系统设计2 —— 到底应该学什么?
- 要学习一个 目标 函数 (目标概念)
- 什么类型?即有哪些概念种类?
- 例 :国际跳棋游戏: 目标函数 V(b) 的可能定义
- 如果 b 是一个最后获胜的棋盘状态,则V(b) = 100
- 如果 b 是一个最后失败的棋盘状态,则V(b) = -100
- 如果 b 是一个最后平局的棋盘状态,则V(b) = 0
- 如果b不是最终棋盘状态,则 V(b) = V(b’)
- b’ 是从b开始能达到的最优终盘状态。
- 能给出正确的结果,但是不可行
- 计算过于低效
- 通常使用一个 V 的近似
V
^
\hat V
V^, 又称作假设
- 例: V ( b ) ← V ^ ( S u c c e s s o r ( b ) ) V(b) \leftarrow \hat V(Successor(b)) V(b)←V^(Successor(b))
设计学习系统 3
例 :让机器学习下国际跳棋
- 有什么经验?
- 注意训练数据偏差:
- 数据, 训练过程,功能
- 注意训练数据偏差:
- 到底应该学什么?
- 正确 vs. 可行 :近似 (假设)
- 应该如何表示?
系统设计3 —— 假设的表示
- 例 :国际跳棋: 可能的表示
- 状态表
- 规则集合
- 棋盘特征的多项式函数
- 神经网络
- ……
- 函数类型必须依据表达能力仔细选取
- 好的近似 vs. 数据要求
- 例 :国际跳棋的训练样例 < b, Vtrain(b) >
- Vtrain(b) 是 b 的 label
- wp(b) :棋盘 b 上的白色棋子数量
- rp(b) :棋盘b上的红色棋子数量
- wk(b):棋盘b上的白色国王数量
- rk(b):棋盘b上的红色国王数量
- wt(b) :受红方威胁的白色棋子数量(在红方下一回合将被吃掉)
- rt(b) :受白方威胁的红色棋子数量
V ^ ( b ) = w 0 + w 1 ⋅ w p ( b ) + w 2 ⋅ r p ( b ) + w 3 ⋅ r k ( b ) + w 4 ⋅ r k ( b ) + w 5 ⋅ w t ( b ) + w 6 ⋅ r t ( b ) \hat V(b) = w_0 + w_1\cdot wp(b) + w_2 \cdot rp(b) + w_3\cdot rk(b) + w_4 \cdot rk(b)+w_5 \cdot wt(b) + w_6 \cdot rt(b) V^(b)=w0+w1⋅wp(b)+w2⋅rp(b)+w3⋅rk(b)+w4⋅rk(b)+w5⋅wt(b)+w6⋅rt(b)
- 例如: <<wp=0, rp=3, wk=0, rk=1, wt=0, rt=0>,+100>
设计学习系统 4
例 :让机器学习下国际跳棋
- 有什么经验?
- 注意训练数据偏差:
- 数据, 训练过程,功能
- 注意训练数据偏差:
- 到底应该学什么?
- 正确 vs. 可行 :近似 (假设)
- 应该如何表示?
- 表达能力:好的近似 vs. 数据要求
• 具体用什么算法去学习?
- 表达能力:好的近似 vs. 数据要求
系统设计4 —— 学习算法
- 本例: 选择一个权重训练的规则 :数据的最优拟合
- 一个常用算法:**最小均方误差 Least Mean Squares (LMS) **
∑
t
r
a
i
n
i
n
g
s
e
t
(
V
t
r
a
i
n
(
b
)
−
V
^
(
b
)
)
2
\sum_{training set} (V_{train}(b) - \hat V(b))^2
trainingset∑(Vtrain(b)−V^(b))2
- 初始化权重
- 重复:
- 随机地选择一个训练样例 b
- 计算 e r r o r ( b ) = V t r a i n ( b ) – V ^ ( b ) error(b) = V_{train}(b) –\hat V(b) error(b)=Vtrain(b)–V^(b)
- 对于每个棋盘特征fi ,fi 属于 {wp, rp, …, rt},更新权重 wi
w i ← w i + c ⋅ f i ⋅ e r r o r ( b ) w_i \leftarrow w_i + c \cdot f_i \cdot error(b) wi←wi+c⋅fi⋅error(b)
c是一个小常数(如0.1),以控制学习速度
设计学习系统 5
例 :让机器学习下国际跳棋
- 有什么经验?
- 注意训练数据偏差:
- 数据, 训练过程,功能
- 注意训练数据偏差:
- 到底应该学什么?
- 正确 vs. 可行 :近似 (假设)
- 应该如何表示?
- 表达能力:好的近似 vs. 数据要求
• 具体用什么算法去学习?
综合起来: 最终设计
- 表达能力:好的近似 vs. 数据要求
系统设计 5 —— 综合起来
- 初始化 V ^ \hat V V^的权重
- 用 V ^ \hat V V^和自己下棋,输出每局游戏的棋盘状态序列
- 用
V
^
(
S
u
c
c
e
s
s
o
r
(
b
)
)
\hat V(Successor(b))
V^(Successor(b))标注每个 b
- 学习新的权重,产生新的
- 开始新的游戏
总结
系统设计与方案选择
机器学习领域的基本概念
基本概念 (通常在机器学习领域中使用)
- 给定:
- 实例空间(Instance Space) X
- 例 :每一天由一些属性描述 天空,空气温度,湿度, 风,水,预报
- 假设空间(Hypothesis Space) H
- 例 :一个假设 if (温度 = 寒冷 AND湿度 = 高) then 打网球 = 否
- **训练样例空间(Sample Space) D 目标概念(Target Concept) C **
- 正例和负例 (基于问题设定) <x1 ,c(x1)>,……, <xm , c(xm)>
- 实例空间(Instance Space) X
- 求 :假设 h ∈ H 满足
h ( x ) = c ( x ) f o r a l l x ∈ X h(x) = c(x)\ \ for\ all\ x \in X h(x)=c(x) for all x∈X
-通常 X 是的大小是指数级甚至更大,所以通常我们无法保证 h(x)=c(x) 对所有 x∈X
• 作为替代,我们寻求一个好的近似,例: h(x)=c(x) 对 所有 x ∈D
例如:假设h为n 个二值属性 / 特征(例:温暖 / 寒冷)
- 实例空间 X:2^n 元素
- 概念(假设)空间 H:最多 2 2 n 2^{2^n} 22n 个元素(为什么?)
总结
- 应用背景
- 什么是机器学习
- T (Task,任务)
- E (Experience,经验)
- P ( Performance,性能)
- 机器学习系统举例
- 通用机器学习系统设计
- 有什么经验?数据
- 到底应该学什么? 特征和表示
- 如何表示?算法
- 具体用算法学习?评价
- 机器学习领域的基本概念