机器学习基石笔记1

机器学习基石笔记1

lecture 1: The Learning Problem

1. 机器学习是什么

通过对数据的经验计算(experience computed),提升性能度量

3个关键性质

a) 存在一种可以学习的潜在的模式(underlying pattern)

b) 没有明确的可编程的定义

c) 存在和模式相关的数据

2. 机器学习的应用

  • 教育
  • 推荐系统
  • etc.

3. 机器学习的元素

4. 机器学习和其他领域的关系

领域 描述
机器学习 使用数据计算假设g,以此估计目标函数f
数据挖掘 使用大数据,发现有趣的特性
人工智能 计算得到一个具有智能行为的结果
统计学 使用数据从一个未知的分布得出推论

lecture 2: Learning to Answer Yes/No

1. 感知机假设集(hypothesis set)

定义

对于特征 $\textbf{x}=(x_1, x_2, ..., x_d)$,计算每一个特征的权重值,当

$\sum_{i=1}^dw_ix_i > threshold$,$y=1$

$\sum_{i=1}^dw_ix_i < threshold$,$y=-1$

可以将感知机理解为线性(二元)分类器

线性形式公式

$h(\textbf{x}) = sign\Big(\big(\sum_{i=1}^d w_i x_i\big) - threshold\Big) $

向量形式公式

2. 感知机学习 (PLA)

目标:需要一个g,用来估计目标函数f ($g \approx f$)

必要条件:$g \approx f  on D$,理想情况是$g(x_n) = f(x_n) = y_n$

难点:$H$无穷大

思路:从某个 $g_0$ 开始,然后通过数据集 $D$ 纠正它的错误

tips: 之后会用权重向量 $\textbf{W}_0$ 代替 $g_o$

感知机算法

For t = 0, 1...

1) 找到下一个(Next) $\textbf{w}t$的错误,标记为$(\textbf{x}{n(t)}, y_{n(t)})$

$$sign\big( \textbf{w}t^T \textbf{x}{n(t)} \big) \neq y_{n(t)}$$

2) 尝试通过更新$\textbf{w}t$的值来更正分类错误:

$$ \textbf{w}{t+1} \leftarrow \textbf{w}t + y{n(t)} \textbf{x}{n(t)} $$

直到不再有错误出现,返回最后的$\textbf{w}$ (称之为 $\textbf{w}{PLA} $ )作为函数g

PLA的实现

1) 找到一个$\textbf{w}t$的错误,标记为$(\textbf{x}{n(t)}, y_{n(t)})$

$$sign\big( \textbf{w}t^T \textbf{x}{n(t)} \big) \neq y_{n(t)}$$

2) 通过更新$\textbf{w}t$的值来更正分类错误:

$$ \textbf{w}{t+1} \leftarrow \textbf{w}t + y{n(t)} \textbf{x}{n(t)} $$

直到遍历数据集时不再有分类错误,则返回最后的$\textbf{w}$ (称之为 $\textbf{w}{PLA} $ )作为函数g

tips:下一个样本的操作可以用常规遍历(naive cycle(1, 2, ..., N)),或者预先计算好的随机排序

3. Guarantee of PLA

线性可分

如果PLA终止了且不再有分类错误,那么存在w能够线性划分数据集D而没有分类错误,那么这样的数据集D是线性可分的

PLA Fact

  • **$\textbf{w}_t$在更新后与$\textbf{w}_f$更加接近(aligned with)**

  • $\textbf{w}_t$不会增长得过快

从$\textbf{w}_o = 0$开始,经过了T次的更新以后:

$$ \frac{\textbf{w}_f^T}{\lVert \textbf{w}_f \lVert} \frac{\textbf{w}_t}{\lVert \textbf{w}_t \lVert} \ge \sqrt{T} · constant$$

$constant = \displaystyle\frac{\rho}{R}$,其中$\rho = min  y_n\frac{\textbf{w}_f^T}{\lVert \textbf{w}_f \lVert} \textbf{x}_n$,$R = max \lVert \textbf{x}_n \lVert^2$

向量标准化后,其乘积会小于等于1,且在更新了T次后,有下界存在。

4. 更多关于PLA的知识

PLA

只要数据集线性可分,并且通过分类错误更新w,那么

  • $\textbf{w}_f$和$\textbf{w}_t$的内积会增长很快,而$\textbf{w}_t$的长度则增长缓慢
  • PLA的分类边界(PLA "lines")越来越接近$\textbf{w}_f$,并最终停止更新(halt)

优点

易于实现,速度快,能在任意的维度下工作

缺点

  • 预设数据集是线性可分的,但该特性是事先不知道的(如果知道了,就不需要 PLA了=。=)
  • 不能完全确定迭代步数($\rho$取决于$\textbf{w}_f$)
    • 尽管实际上会很快

非线性可分

调整PLA方法,以得到一个足够好的g

Pocket算法

初始化pocket 权重为$\hat{\textbf{w}}$

1) 找到一个(随机的)$\textbf{w}t$的错误,标记为$(\textbf{x}{n(t)}, y_{n(t)})$

$$sign\big( \textbf{w}t^T \textbf{x}{n(t)} \big) \neq y_{n(t)}$$

2) 尝试通过更新$\textbf{w}t$的值来更正分类错误:

$$ \textbf{w}{t+1} \leftarrow \textbf{w}t + y{n(t)} \textbf{x}{n(t)} $$

3) 如果$\textbf{w}{t+1}$的分类错误比$\hat{\textbf{w}}$少,则将$\hat{\textbf{w}}$更新为$\textbf{w}{t+1}$,直到足够的迭代次数,返回最后的$\hat{\textbf{w}}$ (称之为 $\textbf{w}{pocket} $ )作为函数g

lecture 3: Types of Learning

1. 不同输出空间Y下的学习

多元分类

  • 硬币识别问题(识别不同面额的硬币)
  • 图像分类 $\Rightarrow$ 苹果,橙子,草莓……
  • 邮件分类 $\Rightarrow$ 垃圾,重要邮件,社交,推销,更新……

回归

  • 病症恢复时间预测
  • 公司数据 --> 股价
  • 气象数据 --> 温度

结构学习

  • 词性标注
  • 大量的目标分类,而没有明确定义的分类信息
  • 蛋白质数据 --> 蛋白质折叠
  • 语音数据 --> 语音解析树

Mini Summary

2. 不同数据标记的学习

监督学习

  • 硬币分类

监督学习:每个$\textbf{x}_n$都有对应的$\textbf{y}_n$

非监督学习

  • 聚类:${\textbf{x}_n} \Rightarrow cluster(\textbf{x})$

    ($\approx$ "非监督 多分类 分类任务")

    • i.e. 文本主题分类
  • 密度评估:${\textbf{x}_n} \Rightarrow density(\textbf{x})$

    ($\approx$ "非监督 有界的(bounded) 回归任务")

    • i.e. 基于位置的交通情况报告 --> 危险区域
  • 离群点检测:${\textbf{x}_n} \Rightarrow unusual(\textbf{x})$
    • i.e. 网络日志 --> 入侵警告

非监督学习:多样的,可能有各种不同的目标$

半监督学习 (semi-supervised)

  • 只有一部分标记的面部识别问题 --> face identifier (Facebook)
  • 只有一部分标记的医学问题 --> 医疗效果预测

半监督学习:当获取全部label的代价高昂时,利用未标记数据学习的方法

强化学习

利用 $(\textbf{x}, \tilde{y}, goodness)$ 信息学习的方法

  • (customer, ad choice, ad click earning) ? ad system
  • (cards, strategy, winning amount) ? black jack agent

强化学习:利用部分的/ 不明确的信息(通常是顺序的(sequentially))学习 $

Mini Summary

3. 不同学习思路下的学习 $f \Rightarrow (\textbf{x}_n, y_n)$

tips: 课件中用的是protocol (Protocol $\leftrightarrow$ Learning Philosophy)

Mini Summary

4. 不同输入X下的学习

具体特征 (concrete feature)

X每一个维度都有复杂的物理意义,但对于机器学习而言,这类特征更易学习

  • 硬币分类中的硬币大小
  • 信用卡申请任务中的客户信息
  • 癌症诊断中病患信息
  • 通常在学习任务中包含了“人类智慧”(human intelligence)

原始特征 (raw feature)

通常需要手动或自动的转换为具体的特征

  • 手写体识别中的图像像素信息
  • 语音信号数据

抽象特征 (abstract feature)

通常需要特征提取、特征转换

  • 在线教育系统中的学生ID
  • 广告系统中的广告ID

Mini Summary

lecture 4: Feasibility of Learning

1. 学习是不可能的吗?

从A learning Puzzle 和 No Free lunch 开始

因为对target function 一无所知,所以有可能假设得到的结果完全不对,即训练误差很小,但泛化误差特别大的情况,这种情况相当于无法学习

2. Probability to Rescue

以从弹珠罐子中(罐子中只有橙色和绿色弹珠)抽样为例,$\mu$表示罐子中橙色占总体的比例,$\nu$表示样本中橙色的比例。

那么能通过$\nu$来推断$\mu$吗

No: 抽样的结果(弹珠比例)可能和总体完全不同!

Yes: 已知$\nu$有可能很接近未知的$\mu$

霍夫丁不等式 (Hoeffding‘s Inequality)

在一个大的样本中(样本容量为N),$\nu$近似于$\mu$(差异用$\epsilon$表示),且

$$ \mathbb{P}[|\nu - \mu| > \epsilon] \le 2 exp\big(-2\epsilon^2N\big)

$$

称之为霍夫丁不等式,

$\nu = \mu$的假设是概率近似正确(PAC:probably approximately correct)的。

霍夫丁不等式的说明

  • 对于所有的N和$\epsilon$都是有效的
  • 不依赖于$\mu$,即不需要知道$\mu$具体是多少
  • 更大的样本容量N或者更宽松的gap $\epsilon$ 能得到更高的概率使得 $\nu \approx \mu$

霍夫丁不等式告诉我们,当N足够大时,就能通过$\nu$来推断 $\mu$

3. 推广到学习问题

问题描述: 大的训练样本,有一定概率能够通过已知的$\mathbb{P}[h(\textbf{x}_n) \ne y_n]$推断未知的$\mathbb{P}[h(\textbf{x} \ne y_n)]$

对于一个特定的(fixed)h,在样本很大的时候,样本内误差 $E_{in}(h)$ 有可能很接近 $泛化误差E_{out}(h)$ (差别不大于$\epsilon$),即:

$$ \mathbb{p}[| E_{in}(h) - E_{out}(h) | > \epsilon ] \le 2 exp\big(-2 \epsilon^2 N \big) $$

类似于从罐子里抽取弹珠的例子:

  • 对所有的 N 和 $\epsilon$
  • 不依赖于 $E_{out}(h)$,且不需要知道 $E_{out}(h)$

    — f 和 P(目标函数产生的数据分布)可以是未知的

  • $E_{in}(h) = E_{out}(h)$ 是PAC,概率近似正确的

结论:如果 $E_{in}(h) \approx E_{out}(h)$ 并且 $E_{in}(h)$足够小 $\Longrightarrow$ $E_(out)(h)$足够小 $\Longrightarrow$ 在数据分布为P的时候,$h \approx f$

那么现在可以学习了吗

Yes: 如果特定的h对应的$E_{in}(h)$很小并且学习算法能够选到那个h $\Longrightarrow$ $g = f$是PAC的

No: 如果算法只能选到某一个特定的h,那么$E_{in}(h)$几乎总是不会很小 $\Longrightarrow$ $g \ne f$ 是PAC的

real learning

算法A能够在假设空间H(例如PLA)中做选择,而不是只能选择某个特定的h

Verification

4. 推广到真正的学习问题

对于一个特定的假设来说,霍夫丁不等式告诉我们:对从输入空间中采样得到的数据集的$E_{in}(h_m)$不会太高。但对于所有假设空间中的h来说,得到一个Bad Data的概率会骤然升高,类似于一群人抛硬币,出现连续5个正面的概率问题。

Bad Data: $E_{out}(h)$和$E_{in}(h)$差别很大,一般情况是$E_{in}(h)$很小而$E_{out}(h)$很大

大量假设h对应的Bad Data问题

$\mathbb{P}_D[BAD D]$的上界

  • 有限样本版本的Hoeffding,对所有的M, N, $\epsilon$都有效
  • 不依赖于任何的$E_{out}(h_m)$,即不需要知道$E_{out}(h_m)$

    — f 和 P(目标函数产生的数据分布)可以是未知的

  • $E_{in}(h) = E_{out}(h)$ 是PAC——概率近似正确的,而不用考虑具体的算法是怎样的

有效的算法A:

选择$E_{in}(h_m)$最小的假设$h_m$,将其作为最终的假设g

统计学习的流程

时间: 2024-10-04 10:16:58

机器学习基石笔记1的相关文章

机器学习基石笔记6——为什么机器可以学习(2)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记15——机器可以怎样学得更好(3)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记9——机器可以怎样学习(1)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记7——为什么机器可以学习(3)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记8——为什么机器可以学习(4)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记4——在何时可以使用机器学习(4)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记14——机器可以怎样学得更好(2)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记5——为什么机器可以学习(1)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记10——机器可以怎样学习(2)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8

机器学习基石笔记3——在何时可以使用机器学习(3)(修改版)

转载请注明出处:http://www.cnblogs.com/ymingjingr/p/4271742.html 目录 机器学习基石笔记1——在何时可以使用机器学习(1) 机器学习基石笔记2——在何时可以使用机器学习(2) 机器学习基石笔记3——在何时可以使用机器学习(3)(修改版) 机器学习基石笔记4——在何时可以使用机器学习(4) 机器学习基石笔记5——为什么机器可以学习(1) 机器学习基石笔记6——为什么机器可以学习(2) 机器学习基石笔记7——为什么机器可以学习(3) 机器学习基石笔记8