User Tools

Site Tools


keynote:lesson01

第一课 课程导言

1.1 导言

大纲

  • 涵盖由浅入深的一系列机器学习技术
  • 将会学到:
    • PCA, MDS, K-mean, 基于频谱的聚类方法,贝叶斯分类,boosting, logistic回归,决策树,EM算法,隐马尔可夫模型,卡尔曼滤波……
  • 讲述算法、理论、应用背后的故事
  • 将会既有趣又辛苦

时间安排

  • 03.04 介绍
  • 03.11 分类
  • 03.18 聚类
  • 03.25 隐马尔可夫与卡尔曼滤波

原则

  • 简即美
  • 在理论性和应用性上达到平衡

先修课程

  • 概率论
    • 分布、密度、边界……
  • 统计基础
    • 矩、经典分布、回归……
  • 算法
    • 动态规划、基本数据结构、复杂度……
  • 编程
    • C/C++, Java, Matlab……
  • 将会提供一些背景知识,但课程步调还是会比较快
  • 处理抽象数学概念的能力

参考书

网络资源

享受之!

  • 机器学习在科学、工作及其它领域正变得无所不在
  • 本课程将提供应用机器学习、开发新方法的基础

1.2 机器学习单元概况

1.3 什么是机器学习?

大纲

  • 背景
  • 什么是机器学习
  • 机器学习对于计算机科学和技术有何帮助

当今计算机科学的最大挑战

  • 数据,数据,数据……
    • 需要大量乏味的重复的工作才能创建数字化的世界
      • 需要寻找新的交互方式,创造新类型的媒体
      • 花费高的代价才能请专家(科学家、工程师、电影制作人员、图形设计师、优秀艺术家和游戏设计人员)来完成工作
  • 需要高效地处理已经存在的数据,并通过它们获得新的数据

计算机是高效运行的机器

  • 各种图像、场景,只要人能够创造,就可以利用计算机来得到它
  • 但是如何来创造这些图像、场景

完全过程化合成VS完全数据化

  • 为电影中的一个角色创造动作
    • 完全过程化合成
      • 动作比较连贯,但是很容易让人觉得是伪造的,很少在实际中这样用
    • 完全手工制作或者完全数据化
      • 效果质量很高,但是连贯性不好
    • 把两者结合起来的混合方法或许是最好的!?

贝叶斯推理

  • 关于不确定性的一个规则模型
  • 非结构化数据的通用模型
  • 数据拟合和不确定分析的有效算法

但是,当前它通常被当做一个黑盒来使用

确定性 VS 机率性

数据驱动模型

81.jpg

什么是机器学习

82.jpg

机器学习 != 人工智能

  • Mitchell在1997年定义的:机器学习乃于某类任务兼性能度量的经验中学习之程序;若其作用于任务,可由度量知其于已知经验中获益。
  • Hertzmann在2003年的评论:对于计算机图形学上的一些应用,机器学习应该被看作处理数据的一系列技术。给定一些数据,可以得到一个方法模型用于生产新的数据。
  • 编制学习系统不只是用来解决一个问题,而是基于一些特征来使系统本身更加优化:
    • 关于系统应该如何做出响应的一些例子
    • 关于系统在解决问题的过程中反复试验学习到的经验
  • 不同于通常的计算机科学,去实现一个未知的功能;仅仅是处理已知的输入输出数据对(学习过程中的训练例子)

学习问题的主要分类

  • 学习情景根据训练例子中提供的有效信息的改变而改变
    • 监督的:需要正确的输出
      • 分类:输入N个目标,输出结果为选择其中一个(语音识别、目标辨认、医学诊断)
      • 回归:输出准确值(预测未来的市场价格、温度)
    • 部分监督的:只输出一部分有效结果
    • 无监督的:没有反馈,需要对输出进行自我评估
      • 聚类:聚类是指将数据分割成连贯的群集的技术
      • 结构异常识别:检测超出正常范围的数据点
    • 加强的:标量反馈,可能暂时推迟

更多信息

  • 时间序列分析
  • 降维
  • 模型选择
  • 泛型方法
  • 图形建模

为什么要学习机器学习?

  • 开发强化的计算机系统
    • 能够自动适应用户,更加符合用户要求
    • 旧的系统往往很难获得必要的知识
    • 发掘大型数据库中离线的新数据挖掘模式
  • 提高对人的认识,生物学习
    • 提供具体的理论计算分析,预测
    • 分析大脑的学习过程中的爆发式活动
  • 研究时机很好
    • 数据量的快速增长
    • 计算机不再昂贵而且功能强大
    • 理论得到了很好的发展,有一系列的算法组件

机器学习对计算机科学和技术有用吗?

  • 赞成方:所有事物都是机器学习,所有事物都是人的调整
    • 在有些时候,这个说法是正确的
  • 反对方:虽然是对“学习”的一种深化,但还有其它更强大和有效的算法。
    • 问题分类
    • 通用模型
    • 通过概率进行推算
  • 相信数学的魔力

怎样才是一个成功的机器学习算法?

  • 计算效率
  • 鲁棒性
  • 统计稳定性

一些实际应用

  • Google!
  • 目标识别和辨认——机器学习的力量
  • 文档处理——贝叶斯分类器
  • 网格处理——数据聚类和分割
  • 纹理合成和分析——隐式马尔科夫模型
  • 反射纹理合成——降维
  • 人体建模——降维
  • 图像处理和合成——图形建模
  • 人体运动合成——时间序列分析
  • 视频纹理——强化学习

总结

  • 机器学习就是这样简单明了的东西:-D
    • 关键字:
      • 名词:数据、模型、模式、特征
      • 形容词:概率性的、统计的
      • 动词:拟合、推理、挖掘

作业

  • 在你的研究方向上寻找机器学习的潜在应用

参考文献

  • Reinforcement learning: A survey

Edit by Xinyuan Luo(骆歆远), wisp@zju.edu.cn

未来体系结构对机器学习的支持

  • 通用图灵机模型与冯诺依曼架构在并行处理上的局限[1]
    • 冯诺依曼架构源自通用图灵机模型(Universal Turing Machine)
    • 优点:便于建造、编程
    • 缺点:“解析指令→执行指令→处理数据”这种循环存在瓶颈,不利于并行处理
  • 设计与演化:生物神经元系统的达尔文主义解释[2]
    • 生物的神经元网络是基于达尔文进化论的模式演化出来的
    • 知识和技能都是通过后天的不断学习和训练获得。在这种学习和训练中,大脑中神经元网络的结构不断完善
    • 不论是对一个物种的长期进化而言,还是单个个体的一生成长而言,其大脑的学习过程都是进化论(Darwinism)的
  • 区别“知识”与“技能”,即”Knowledge” vs “Skill”
    • 机器学习形成的知识,其应用过程的算法效率未必最优
    • 等价的知识,存在多种表达和应用方式
    • 对某一知识,更高效的表达和应用算法,可以称之为技能(Skill),以区别于知识(Knowledge)
    • 技能可以通过设计获得,也可以通过演化获得。
  • 演化思想在计算模式与体系结构设计中的萌芽
    • 自动并行化研究[3,4,5]
    • 代码级别的知识学习与存储[6]
    • 未来发展
      • 更高效的核间通讯:NoC、片上光通信
      • 新的计算模型:函数式编程语言、并行计算语言、GPGPU
      • 自主进化(可重构)的众核处理器架构
  • 参考文献
    • [1] John Backus, Can programming be liberated from the von Neumann style?: a functional style and its algebra of programs, Commun. ACM, Vol. 21, No. 8. (August 1978), pp. 613-641. doi:10.1145/359576.359579
    • [2] Gerald Edelman, “Bright Air and Brilliant Fire: on the matter of mind”, New York: Basic Books, 1992.
    • [3] Gurindar S. Sohi, Scott E. Breach, T. N. Vijaykumar, Multiscalar Processors, SIGARCH Comput. Archit. News In ISCA '95: Proceedings of the 22nd annual international symposium on Computer architecture, Vol. 23 (May 1995), pp. 414-425. doi:10.1145/223982.224451
    • [4] L. Hammond, B. A. Hubbert, M. Siu, M. K. Prabhu, M. Chen, K. Olukolun, The Stanford Hydra CMP, IEEE Micro, Vol. 20, No. 2. (March 2000), pp. 71-84. doi:10.1109/40.848474
    • [5] Guilherme Ottoni, Ram Rangan, Adam Stoler, David I. August, Automatic Thread Extraction with Decoupled Software Pipelining,Microarchitecture, 2005. MICRO-38. Proceedings. 38th Annual IEEE/ACM International Symposium on In Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture (2005), pp. 105-118. doi:10.1109/MICRO.2005.13
    • [6] Yushi Kamiya, Tomoaki Tsumura, Hiroshi Matsuo, Yasuhiko Nakashima, A Speculative Technique for Auto-Memoization Processor with Multithreading, (December 2009), pp. 160-166. doi:10.1109/PDCAT.2009.67

Edit by Ye Minjiao (叶敏娇, 11021036), johnye@zju.edu.cn

1.4 点估计

最大似然, 最大化后验估计, 贝叶斯估计, 回归方法与过拟合问题

你将要学习

  • 点估计
    • 最大似然估计(MLE, Maximal Likelihood Estimation)
    • 贝叶斯学习(Bayesian Learning)
    • 最大化后验(MAP, Maximize A Posterior)
  • 高斯估计
  • 回归(Regression)
    • 基础方程 = 特性
    • 方差和的最优化
    • 回归与高斯估计的关系
  • 倾向与方差的折中

你的第一个咨询工作

  • 一个北京的IT亿万富翁咨询你如下问题:
    • 富:我有一些图钉,我将其抛出,那么它尾部朝上的概率是多少?
    • 你:那么扔几次看看吧…
    • (图待上传)
    • 你:概率是3/5
    • 富:这是为什么呢?
    • 你:这是因为…

二值分布

  • 设头朝下的概率 P(Heads)= θ,尾朝下的概率 P(Tails)=1-θ,发生的事件D={T,H,H,T,T}
  • 抛图钉是一种独立重复分布(i.i.d. Independent Identically distributed)
  • 每一次实验彼此独立
  • 根据二值分布的分布概率相同
  • 如果一个事件D包含αH个头朝下的概率和αT个尾朝下的概率,这样事件的概率是:\\P(D|θ)=θαH(1-θ)αT

最大似然估计

  • 数据:观察事件集合D包含α H 个头朝下的事件和α T 个尾朝下的事件
  • 前提:二值分布
  • 在优化问题中对θ进行学习:
  • 目标函数是什么?
    D = {T, H, H, T, T}
  • MLE: 找出使观察到的现象的概率最大化的 θ

\begin{aligned} \hat{\theta} & = \arg\max_\theta P(D|\theta) \\
& = \arg\max_\theta \ln P(D|\theta) \\
& = \arg\max_\theta \ln (\theta^{\alpha_H} (1-\theta)^{\alpha_T}) \\
& = \arg\max_\theta \alpha_H\ln\theta + \alpha_T\ln(1-\theta) \end{aligned}

  • 导数为0时取极值,则有

\hat{\theta} = \frac{\alpha_T}{\alpha_H+\alpha_T} = \frac{3}{2+3}

我需要抛多少次?

θ<sup>^</sup> = α<sub>T</sub> / α<sub>H</sub> + α<sub>T</sub>
* 富:我抛了两个头朝上和三个尾朝上
* 你:θ是3/5,我可以证明
* 富:如果我抛了20个头朝上和30个尾朝上呢
* 你:答案依然一样,我可以证明
* 富:能多解释一下吗
* 你:越多约好吗
* 富:所以我才会给你这么多报酬啊

简单边界(基于Höffding不等式)

  • 对于N = αH + αT 和 θ^ = αT / αH + αT,有
  • 令θ*为真实值,对任意ε>0,有

P(|θ^ - θ*|≥ε)≤2e-2Nε^2

edit by Zhang Li,zhangli85@zju.edu.cn

keynote/lesson01.txt · Last modified: 2014/05/22 08:34 (external edit)