机器学习概述

文章目录

机器学习应用背景

数据挖掘

  • 使用历史数据改善决策
  • 商业智能
    • 例子:商品摆放位置(P&G, Walmart, ... )
  • ......
  • 信用危机分析

个性化定制

  • 学习用户兴趣的应用( e.g. 信息流、论坛、社交网络 ...)
  • 电子商务中的推荐
  • 邮件过滤
  • ... ...

替代人力的软件应用

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. 数据 要求
      • 具体用什么算法去学习?

系统设计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
    • 初始化权重
    • 重复:
      1. 随机地选择一个训练样例 b
      2. 计算 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)
      3. 对于每个棋盘特征f~i~ ,f~i~ 属于 {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. 数据 要求
      • 具体用什么算法去学习?
      综合起来: 最终设计

系统设计 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 **
      • 正例和负例 (基于问题设定 ) <x~1~ ,c(x~1~)>,......, <x~m~ , c(x~m~)>
  • 求 :假设 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,性能)
  • 机器学习系统举例
  • 通用机器学习系统设计
    • 有什么经验?数据
    • 到底应该学什么? 特征和表示
    • 如何表示?算法
    • 具体用算法学习?评价
  • 机器学习领域的基本概念
相关推荐
Doctor老王1 分钟前
TR3:Pytorch复现Transformer
人工智能·pytorch·transformer
热爱生活的五柒2 分钟前
pytorch中数据和模型都要部署在cuda上面
人工智能·pytorch·深度学习
HyperAI超神经2 小时前
【TVM 教程】使用 Tensorize 来利用硬件内联函数
人工智能·深度学习·自然语言处理·tvm·计算机技术·编程开发·编译框架
扫地的小何尚3 小时前
NVIDIA RTX 系统上使用 llama.cpp 加速 LLM
人工智能·aigc·llama·gpu·nvidia·cuda·英伟达
埃菲尔铁塔_CV算法6 小时前
深度学习神经网络创新点方向
人工智能·深度学习·神经网络
艾思科蓝-何老师【H8053】6 小时前
【ACM出版】第四届信号处理与通信技术国际学术会议(SPCT 2024)
人工智能·信号处理·论文发表·香港中文大学
秀儿还能再秀7 小时前
机器学习——简单线性回归、逻辑回归
笔记·python·学习·机器学习
weixin_452600697 小时前
《青牛科技 GC6125:驱动芯片中的璀璨之星,点亮 IPcamera 和云台控制(替代 BU24025/ROHM)》
人工智能·科技·单片机·嵌入式硬件·新能源充电桩·智能充电枪
学术搬运工7 小时前
【珠海科技学院主办,暨南大学协办 | IEEE出版 | EI检索稳定 】2024年健康大数据与智能医疗国际会议(ICHIH 2024)
大数据·图像处理·人工智能·科技·机器学习·自然语言处理
右恩7 小时前
AI大模型重塑软件开发:流程革新与未来展望
人工智能