243 |
图 7-5 错误率与VC维的关系
244 |
245 | 其中蓝色线表示$E_{in}$随VC维$d_{VC}$的变化;红色部分为模型复杂度$\Omega(N,H, \delta)$随$d_{VC}$的变化;紫色部分为$E_{out}$随VC维$d_{VC}$的变化,其中$E_{out}$可以表示用$E_{in}$与$\Omega(N,H, \delta)$表示成的$E_{out} < E_{in} + \sqrt{\frac{8}{N} \ln(\frac {4(2N)^{d_{VC}}}{\delta})}$形式。
246 |
247 | 其中$E_{in}$随着$d_{VC}$的增加而减小,不难理解,因为越大可以选择的假设空间就越大,就有可能选择到更小的$E_{in}$;模型复杂度$\Omega(N,H, \delta)$随$d_{VC}$的增加而增加也不难理解,从$\Omega(N,H, \delta) = \sqrt{\frac{8}{N} \ln(\frac {4(2N)^{d_{VC}}}{\delta})}$就能得出关系;而$E_{out}$因为这前两者的求和,因此出现了一个先降低后增加的过程,使其最小的取值为${d_{VC}}^*$。使得$E_{out}$最小才是学习的最终目的,因此寻找${d_{VC}}^*$很重要。
248 |
249 | VC维除了表示模型复杂度之外还可以表示样本的复杂度(sample complexity)。
250 |
251 | 假设给定需求$\varepsilon = 0.1$ ,$\delta = 0.1$ ,$d_{VC} = 3$,求N为多少时,即输入样本多大时才可以满足这些条件。我们将N的各个数量级代入公式$4(2N)^{d_{VC}} \exp(-\frac{1}{8} \varepsilon^2N)$,与$delta = 0.1$作比较,得到图7-6。
252 |
253 |
图7-6 N的取值与的关系
254 |
255 | 从图中可以得出在N差不多2万9千时,才可以训练出满足条件的模型,这是一个很大的数字,即数据的复杂度和VC维存在一个理论上的关系,$N \approx 10000d_{VC}$ 。但在实际应用中,倍数远比这小的多,大概是$N \approx 10d_{VC}$。造成这一现象的原因使自VC限制是个非常宽松的约束。宽松的原因主要来自以下四个:
256 |
257 | 1. 霍夫丁不需要知道未知的$E_{out}$,VC限制可以用于各种分布,各种目标函数;
258 | 2. 成长函数$m_H(N)$取代真正的二分类个数本身就是一个宽松的上界,VC限制可以用于各种数据样本;
259 | 3. 使用二项式$N^{d_{VC}}$作为成长函数的上界使得约束更加宽松,VC限制可以用于任意具有相同VC维$d_{VC}$的假设空间;
260 | 4. 联合限制(union bound)并不是一定会选择出现不好事情的假设函数,VC限制可以用于任意算法。
261 |
262 | 其实很难找出在这四个方面都可以任意选择且比VC限制约束更紧的限制了,了解VC限制的重点其实也并不是它的约束宽松与否,而是它给予我们的哲学启示。
--------------------------------------------------------------------------------
/ch07/7.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wen-fei/TaiWanML/f5928efc190bb0dc238a3b2b7550eaaf049fa0a6/ch07/7.pdf
--------------------------------------------------------------------------------
/ch08/8.md:
--------------------------------------------------------------------------------
1 | # 八、Noise and Error 噪音(杂讯)和错误
2 | ## 8.1 Noise and Probabilistic Target 噪音(杂讯)和概率目标函数
3 | 这一小节主要讨论有噪音(在2.4节提到的)的情况下是否VC限制仍可用,其流程图如图8-1所示。
4 |

5 |
图8-1 含有噪音的机器学习流程图
6 |
7 | 什么是噪音,或者噪音产生的原因有哪些?仍然举银行发放信用卡的例子,用来更形象的阐述产生噪音的3种原因:
8 |
9 | 1. 标记y中存在的噪音,即错误的标记。如将本应该发放信用卡的用户,错误的标记为不符合规定的用户。
10 | 2. 标记y中存在的另一种噪音,即不同的评判标准评定同一输入样本得到不同结果,如两个用户所有的属性条件都一致,标示为一个可以发放,而另一个不可以发放。
11 | 3. 输入样本x中存在的噪音,即输入信息不准确,如用户的信息录入错误。
12 |
13 | 回到此节的重点,存在噪音时,VC限制还能起作用吗?接下来给予一个简单的推导,不同于前几章,此种情况的VC限制完整的重新推导一遍,本节主要提供的是一种证明思路。
14 |
15 | 小球罐子的例子再次登场,之前谈论的没有噪音条件时输入样本和整体样本都服从同一个概率分布。不论是罐子中存在的小球还是抽样出来的小球,其颜色都是固定不变的。此种情况,使用的是确定性(deterministic)的小球。其中小球的颜色类比于目标函数f(x)与假设函数h(x)是否一致。标记y取决于目标函数f,此学习方法叫做判别方法;但是在现实中多数为含有噪音的情况,数据依然服从统一的概率分布,但小球颜色并不固定,可以想象为颜色在不停变色的小球,只能在某一时刻才能确定它的颜色,这种小球可以叫做概率性(probabilistic)的小球。对应到机器学习上,是含有噪音的样本,即$[|y \ne h(x)|]$并不确定,其中标记y服从概率分布$P(y|x)$ ,这一形式被称为目标分布(target distribution)而不是目标函数,此方法叫做生成方法。
16 |
17 | 为何称为目标分布,举一个简单的例子,如一个样本点符合以下公式8-1。
18 | $$
19 | P(+1|x) = 0.7
20 | $$
21 | $$
22 | P(-1|x) = 0.3
23 | $$
24 | 则一定会选择错误率小的目标(mini-target),根据此原则该例选择标记为+1的,而中30%几率标记为-1又是什么意思呢?是噪音。目标函数f是一个特殊的目标分布,其概率符合公式8-2。
25 | $$
26 | P(+1|x) = 1 \Leftrightarrow y=f(x)
27 | $$
28 | $$
29 | P(-1|x) = 0.3 \Leftrightarrow y \ne f(x)
30 | $$
31 |
32 | 至此出现了两个分布函数$P(x)$和$P(y|x)$,$P(x)$越大意味着x被选为训练样本的概率越大,$P(x)$越大意味着该样本是某一类的几率越大,两者结合,即在常见的样本点上分的类尽量正确。
33 |
34 | 因此得出VC限制依然适用,因为这种含有噪音的输入样本以及标记分别服从$P(x)$和$P(y|x)$,即$(x,y)$服从$P(x,y)$的联合概率分布。
35 |
36 | 了解了本节内容之后,结合噪音和目标分布的概念对机器学习流程图进行修改,如图8-2所示,其中目标函数f变成了目标分布,它产生训练样本的标记y,同时测试的标记y也服从该分布。
37 |
38 |

39 |
图8-2 结合噪音与目标分布的机器学习流程图
40 |
41 | ## 8.2 Error Measure 错误衡量
42 |
43 | 这一小节主要介绍错误的衡量方式对机器学习的影响。
44 |
45 | 以上很多章节都在描述如何使机器学到东西,即如何使得假设函数g和目标函数f接近,即如何使得$E_{out}(g) = E_{X ~ P}[|g(x) \ne f(x)|]$尽可能的小。已知的错误衡量$E(g,f)$ 都考虑了哪些问题呢?主要有以下三个因素:
46 |
47 | 1. 整个样本空间(out-of-sample):所有未知的样本x的平均;
48 | 2. 一个点一个点评估(pointwise):每个点单独评估;
49 | 3. 使用分类(classification)的评估方式:$[|g(x) \ne f(x)|]$,因为是二元分类只有两个类别,因此相同为0,不同为1。
50 |
51 | 上述这种分类的错误(classification error)又被叫做0/1错误(0/1 error)
52 |
53 | 可以使用函数 $err()$表示逐点的错误衡量(pointwise error measure),因此训练样本的错误衡量及整个样本空间的错误衡量可分别使用公式8-3和公式8-4表示。
54 | $$
55 | E_{in}(g) = \frac{1}{N} \sum_{n=1}^N err(g(X_n), f(X_n)) \qquad \text{(公式8-3)}
56 | $$
57 | $$
58 | E_{out}(g) = E_{X \sim P}err(g(X), f(X)) \qquad \text{(公式8-4)}
59 | $$
60 | 为了表述的简单,又将假设函数$g(x)$表示为$\vec{y}$ ,目标函数$f(x)$表示为$y$ 。
61 |
62 | 除了常用在分类(classification)上的0/1错误衡量之外,还有用在回归(regression)上的平方错误(square error)衡量,它也是一种逐点(pointwise)的错误衡量方式,如公式8-5所示。
63 | $$
64 | err(\vec{y}, y) = (\vec{y},y)^2
65 | $$
66 |
67 | 给出了两种错误衡量的表达形式,接着讲一下错误衡量和学习之间的关系。错误衡量对机器学习有着指导作用。
68 |
69 | 在含有噪音的情况下,目标分布函数$P(y|x)$和逐点错误函数$err()共同决定了理想的错误率最小目标函数(ideal mini-target)f。
70 |
71 | 目标分布函数$P(y|x)对错误率最小目标函数f的影响在上一节中已经阐述过了,接下来通过一个例子来说明逐点错误函数对其的影响。
72 |
73 | 假设3个目标分布函数$P(y=1|x)=0.2$,$P(y=2|x)=0.7$,$P(y=3|x)=0.1$。在0/1错误衡量的情况下,不难得出各类错误率,如图8-3所示。
74 |
75 |
76 |

77 |
图8-3 0/1错误衡量的情况下各标记的错误率
78 |
79 | 不难得出y=2时错误率最低,因此应选择y=2的标记,其中有个怪异的标记为1.9,该标记在0/1错误衡量的标准下错误率为1。
80 |
81 | 换一种错误衡量方式还是对这些目标分布的错误率进行计算,如图8-4为平方错误衡量下各标记的错误率。
82 |
83 |
84 |
图8-4 平方错误衡量下各标记的错误率
85 |
86 | 此时错误率最低的标记恰恰是在0/1错误衡量中错误率为1的标记1.9,因此使用平方错误衡量时选择标记y=1.9。
87 |
88 | 很容易推出在两种错误衡量下最小目标函数f可以分别使用公式8-6和公式8-7表示。
89 | $$
90 | f(x) = arg \max_{y \in Y} P(y|x) \quad \text{(公式8-6)}
91 | $$
92 | $$
93 | f(x) = \sum_{y \in Y} y P(y|x) \quad \text{(公式8-7)}
94 | $$
95 |
96 | 至此在上一节的基础上对机器学习流图做了进一步的修改,如图8-5所示,加入了错误衡量的模块,该模块对算法和最终的假设选择都起着很大影响。
97 |
98 |
99 |
图8-5 含有错误衡量的机器学习流图
100 |
101 | ## 8.3 Algorithmic Error Measure 算法的错误衡量
102 |
103 | 对于二元分类问题错误的类型也分为两类,如图8-6所示。
104 |
105 |
106 |
图8-6 分类错误的两种错误类型
107 |
108 | 在目标函数f为+1时,假设函数g却给出了-1,这种错误叫做错误的拒绝(false reject),另一种是在目标函数f为-1时,假设函数g却给出了+1,这种错误叫做错误的接受(false accept)。
109 |
110 | 上一节中提到的0/1错误衡量简单的将这两类错误的损失画上了等号,其实在现实中这两种错误在不同的场景其损失是不同的。
111 |
112 | 举两个常见的例子,在超市给年消费额高的会员发放赠品时,如果出现了错误的接受,就意味着该会员没有资格领取到赠品,超市还是给他发放了赠品,该损失只是超市多发了一些赠品;但如果是错误的拒绝,意味着该会员有资格领取到赠品,超市却拒绝给他发放了,这损失的是超市的信誉,可能就会因此大批的用户。另一个例子是在安全部门中,员工有查看某一资料的权限,系统却拒绝了他的请求,这是一种错误的拒绝,作为员工,最多也就是抱怨一下,但是如果是一个员工没有查看某一资料的权限,系统却同意了,这是一种错误的接受,这个损失就可能会非常大,甚至有可能威胁到国家的利益。这两种情况的损失可能如图8-7所示。
113 |
114 |
115 |
图8-7 a)超市发放赠品的错误损失 b)安全部门的错误损失
116 |
117 | 这两个错误损失也证明了在不同的应用中需要使用不同的错误衡量。
118 |
119 | 在设计算法时,最好方式当然按照各种错误损失的情况设计错误衡量,用到算法中去,但是最大的问题是错误损失的数值如何确定(如图中这些10和1000如何定量的给出)。因此在进行算法设计时,通常采用替代的方式来进行设计,目前主要有两种替代方式的原则,如下所示:
120 |
121 | 1. 可以说得通:在分类错误衡量中,可以想象这种噪音的情况相对于整体一定是小的,因此只需要找到一个足够小的错误即可;在平方错误衡量中,只要认同噪音服从高斯分布,减小高斯中平方项,就如同在减少平方错误。将这种近似的错误衡量方式用$err$表示。
122 | 2. 友善的:很容易设计一种算法A。如寻找最小的0/1错误是一个NP难问题,而真正在做的算法时,运用错误率比前者更小的原则,即寻找越来越小的错误率。以后的章节中会提到两种方式:直接求出结果(closed-form solution);凸求解方程(convex objective function)。
123 |
124 | 因为在设计算法时,很难知道具体的错误衡量$err$,因此产生了近似的错误衡量,这是本节的重点,在加入了$err$之后,机器学习的流程图如图8-8所示。
125 |
126 |
127 |
图8-8使用近似错误衡量的机器学习流图
128 |
129 | ## 8.4 Weighted Classification 加权分类
130 |
131 | 上一节中提到的如图8-3存在的这种错误表示方式,可以称之为成本矩阵(cost matrix)或损失矩阵(loss matrix)再或者错误矩阵(error matrix)。
132 |
133 |
图8-3 错误矩阵
134 |
135 | 使用如上的错误矩阵分别表示E_{in}(h)与$E_{out}(h)$,如公式8-8和公式8-9所示。
136 |
137 | $$
138 | E_{out}(h) = E_{(x,y) \sim F} \left\{ \begin{aligned}
139 | 1 \qquad if y+=1 \\
140 | 1000 \qquad if y=-1\end{aligned} \right\}\cdot [|y \ne h(x)|] \qquad \text{(公式8-8)}
141 | $$
142 |
143 | $$
144 | E_{in}(h) = \frac{1}{N} \sum_{n=1}^N \left\{ \begin{aligned}
145 | 1 \qquad if y+=1 \\
146 | 1000 \qquad if y=-1\end{aligned} \right\}\cdot [|y \ne h(x)|] \qquad \text{(公式8-9)}
147 | $$
148 |
149 | 因为VC限制可以在各种算法中起作用,因此在求解已知的算法中只需要使得$E_{in}(h)$尽可能的小,但是这里使用$E_{in}(h)$的和之前的提到的没有加权$E_{in}(h)$的还是有些区别,为了有所区分,将加权的(weighted)$E_{in}(h)$表示为$E_{in}^w(h)$,公式如8-10所示。
150 | $$
151 | E_{in}^w(h) = \frac{1}{N} \sum_{n=1}^N \left\{ \begin{aligned}
152 | 1 \qquad if y+=1 \\
153 | 1000 \qquad if y=-1\end{aligned} \right\}\cdot [|y \ne h(x)|] \qquad \text{(公式8-10)}
154 | $$
155 |
156 | 假设在一种不是线性可分的情况下(如果是线性可分一定会产生$E_{in}^w (h)= 0$的情况),比如pocked算法,先对在这一情况时算法思路进行一个猜想,大部分和原来的算法一致,即如果$W_{t+1}$ 的$E_{in}^w(h)$比$\vec{w}$的更小,则使用$W_{t=1}$取代原来的$\vec{w}$。
157 |
158 | Pocket算法可以使用$E_{in}^{0/1}(h)$作为错误衡量是被证明了的,但是上述加权的方式却没有被证明,该如何寻找一种保障pocket算法在加权错误的情况下,可以使用类似以上的方式的算法流程呢?
159 |
160 | 一个简单的方式是将上述使用$E_{in}^w(h)$的原始问题转变成一种使用$E_{in}^{0/1}(h)$且与原始问题等价的问题,如图8-4所示。
161 |
162 |

163 |
图8-4 a)使用的原始问题 b) 使用 的等价问题
164 |
165 | 等价问题是将原始问题中数据集D中标记为-1的所有数据样本都复制1000次,再将损失矩阵表示不含加权的损失矩阵,而这种损失矩阵正是pocket算法使用的错误衡量方式,唯一的区别,如样本 $X_2$ 出错,被复制的其他的999个 $X_2$ 也跟着一起犯错了,损失相当于是以前的1000倍。当然细心的人已经发现了,在算法做搜寻的过程中碰到标记为-1的数据样本的几率也增大了1000倍。
--------------------------------------------------------------------------------
/ch08/8.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wen-fei/TaiWanML/f5928efc190bb0dc238a3b2b7550eaaf049fa0a6/ch08/8.pdf
--------------------------------------------------------------------------------
/ch09/9.md:
--------------------------------------------------------------------------------
1 | # 九、Linear Regression 线性回归
2 |
3 | ## 9.1 Linear Regression Problem 线型回归问题
4 |
5 | 在第二章中提到的银行发放信用卡问题,通过是否发放信用卡引出了二元分类问题;本章再次使用这个例子通过发放用户多大额度的信用卡引出回归(regression)或者说线性回归(linear regression)的问题。回归问题与二元分类问题最大的不同在于输出空间,二元分类的输出空间为二元标记,要么+1要么-1,而回归问题的输出空间是整个实数空间,即$ y \in R $ 。
6 |
7 | 以银行发放信用卡为例,输入集合依然是用户的特征空间,如年龄,收入等等,可以使用与二元分类一致的表示方式$x^T = [X_0, X_1, \cdots, X_d] $;因为输出集合的转变导致回归问题的假设函数与二元分类中的有所不同,但思想一致,仍需考虑对每个输入样本的各个分量进行加权求和,因此最终目标函数f(含有噪音,使用y表示)的表示如公式9-1所示。
8 |
9 | $$ y \approx \sum_{i=0}^dW_iX_i $$
10 |
11 | 而假设函数的向量表示如公式9-2所示:
12 |
13 | $$ h(x) = w^TX \qquad \text{公式9-2}$$
14 |
15 | 从公式9-2的表示可以方便看书,与二元分类假设函数的表示只差了一个取正负号的函数sign。
16 |
17 | 使用图像的方式更形象的描述线性回归,如图9-1所示。
18 |
19 | 
20 |
21 |
图9-1 a) 1维输入空间的线性回归 b) 2维空间的线性回归
22 |
23 | 图9-1a中表示输入空间为1维的线性回归表示,其中圆圈○表示输入样本点,蓝色直线表示假设函数$h(x) = W^TX$,连接圆圈与蓝色直线之间的红色线段表示样本点到假设函数的距离,称为剩余误差(residuals),在9-1b中有类似表示。而设计算法的核心思想是使**总体剩余误差最小**。
24 |
25 | 上一章中也提到过回归使用的错误衡量是平方误差$err(\vec y , y) = (\vec y, y)^2$,因此$E_{in}(h)$如公式9-3所示。
26 |
27 | $$E_{in}(h) = \frac{1}{N} \sum^N_{n=1}(h(x_n) - y_n)^2 \qquad \text{公式9-3}$$
28 |
29 | 同理,$E_{out}(W)$表示公式9-5所示,注意这里使用的是含有噪音的形式,因此$(x,y)$服从联合概率分布P。
30 |
31 | $$ E_{out}(W) = E_{(x,y) \sim P}(W^Tx_n - y_n)^2 \qquad \text{公式9-5}$$
32 |
33 | VC限制可以约束各种情况的学习模型,当然回归类型的模型也被也受此约束,想要学习到知识,只需要寻找$E_{in}(W)$足够小可以满足$E_{out}(W)$足够小的需求。
34 |
35 |
36 |
37 | ## 9.2 Linear Regression Algorithm 线性回归算法
38 |
39 | 此节重点是如何寻找最小的$E_{in}(W)$,为了表达的方便,将求和公式转换成向量与矩阵的形式,将公式9-4转换成公式9-6的形式。$$E_{in}(W) = \frac{1}{N} \sum_{n=1}^N(W^Tx_n - y_n)^2 = \frac{1}{N} \sum_{n=1}^N(x_n^TW - y_n)^2 $$
40 |
41 | (次方便显示将 向量W与向量X位置交换,因为是向量内积,符合交换律)
42 |
43 | $$ = \frac{1}{N} \left \| \begin{aligned} x_1^TW -y_1 \\ x_2^TW- y_2 \\ \cdots \\ x_N^TW - y_N \end{aligned} \right \| ^2 $$
44 |
45 | (将平方和转换成矩阵平方的形式)
46 |
47 | $$ = \frac{1}{N} \left \| \begin{bmatrix} -x_1^T- \\ -x_2^T- \\ \cdots \\ -x_N^T- \end{bmatrix}W - \begin{bmatrix} y_1 \\ y_2 \\ \cdots \\ y_N \end{bmatrix} \right \|^2 $$
48 |
49 | (再拆解成矩阵X和向量w与向量y的形式)
50 |
51 | $$ = \frac{1}{N} \left \| \underbrace{X^R}_{N \times (d+1)} \underbrace w_{(d+1) \times 1} - \underbrace y_{N \times 1} \right \|^2$$
52 |
53 | 再回到最初的目标寻找一个最小的$E_{in}(W)$ , 如公式9-7所示:
54 |
55 | $$\min_w E_{in}(W) = \min_w || X^T w - y||^2$$
56 |
57 | 求解此问题,需要了解左式,其唯一(d=1时)示意如图9-2所示
58 |
59 | 
60 |
61 |
图9-2 一维示意图
62 |
63 | 可以看出该函数为连续(continuous)、可微(differentiable)的凸(convex)函数,其中连续及可微的概念,学过高等数学的都应该有所了解,凸函数说的通俗点就如图9-2所示,像一个山谷一样的形式(注意国内数学教材中的凹函数是这里凸函数的定义,有点囧),寻找的最佳的$E_{in}(W)$便是山谷的最低点, 对应图中的黑点,以数学的形式表示即梯度(gradient)为0 的点。(我理解的梯度,大概意思是某一向量其各个分量的偏导数组成的向量),梯度为的表示方式如公式9-8所示。
64 |
65 | $$\nabla_w E_{in}(W) = \begin{bmatrix} \frac{\partial E_{in}(w)}{\partial w_1} \\ \frac{\partial E_{in}(w)}{\partial w_2} \\ \vdots \\ \frac{\partial E_{in}(w)}{\partial w_d} \end{bmatrix} = \begin{bmatrix}0 \\ 0 \\ 0 \\ 0 \end{bmatrix}$$
66 |
67 | 其中 $\nabla$ 即梯度符号,需要寻找的是$W_{LIN}$,该向量满足$\nabla_w E_{in}(W_{LIN}) = 0$,这里$W_{LIN}$的下标表示线型linear的意思,紧接着的问题是如何求解$\nabla_w E_{in}(W_{LIN}) = 0$ 的$W_{LIN}。
68 |
69 | 继续对公式9-6做转化,如公式9-9所示。
70 |
71 | $$E_{in}(w) = \frac{1}{N}|| X^Tw - y||^2 = \frac{1}{N}(w^T \underbrace{X^TX}_Aw - 2w^T \underbrace{X^Ty}_b + \underbrace{y^Ty}_c)$$
72 |
73 | 其中$X^TX$用矩阵A表示, $X^Ty$用向量b表示,$y^Ty$用标量c表示,紧接着对$E_{in}(w)求梯度。向量对向量求导,可能很多人都没有接触甚至没有听说过,最多也就是了解向量对某标量求导。可通过图9-3在w为标量情况下的对比形式,理解$E_{in}(w)$求梯度的步骤。
74 |
75 | 
76 |
77 | 
78 |
79 | 图9-3 a) w为标量时求$E_{in}(W)$的梯度,b)w为向量时$E_{in}(w)$的梯度
80 |
81 | 线性代数的美妙之处就在于此,如此的相似,因此$\nabla E_{in}(w)$ 可以写成公式9-10的形式
82 |
83 | $$ \nabla_wE_{in}(W) = \frac{2}{N}(X^TXw - X^Ty)$$
84 |
85 | 另公式9-10求梯度结果为0,即使$E_{in}(w)$ 最小。在输入空间X与输出向量y都为已知的情况下,如何求解最佳的假设函数,$W_{LIN}$ 呢?求解该问题分为两种情况,一是在$X^TX$可逆的情况下,求解该问题很简单,将公式9-10右边的部分设为0,如公式9-11所示。
86 |
87 | $$W_{LIN} = \underbrace{(X^TX)^{-1}X^T}_{X^{\uparrow}}y \quad \text{公式9-11}$$
88 |
89 | 其中$X^ \uparrow $ 表示矩阵X的伪逆(pseudo-inverse),注意此处输入矩阵X在很少的情况下才是方阵(N=d+1时)。而这种伪逆矩阵的形式和方阵中的逆矩阵具有很多相似的性质,因此才有此名称。还有一点需要说明,$X^TX$大部分的情况下是可逆的,原因是在进行机器学习时,通常满足$N \ge d+1$,即样本数量N远远大于样本的维度d加1,因此在$X^TX$中存在足够的自由度使其可以满足可逆的条件。
90 |
91 | 另一种是$X^TX$不可逆的情况,实际上可以得到许多满足条件的解,只需要通过其他的方式求解出$X^ \uparrow $,选择其中一个满足条件$W_{LIN} = X^ \uparrow y $的解。
92 |
93 | 总结下线性回归算法的求解过程,首先通过已知的数据集,构建输入矩阵X与输出向量y,如公式9-12所示。
94 |
95 | $$ X^T = \underbrace{\begin{bmatrix} -x_1^T- \\ -x_2^T- \\ \vdots \\ -x_N^T- \end{bmatrix}}_{N \times (d+1)} \qquad y= \underbrace{\begin{bmatrix} y_1 \\ y_2 \\ \vdots \\ y_N\end{bmatrix}}_{N \times 1} $$
96 |
97 | 通过公式9-12直接求得违逆$\underbrace{X^{\uparrow}}_{(d+1)\times N}$
98 |
99 | 再通过公式9-11求得假设函数,如公式9-13所示
100 |
101 | $$\underbrace{ W_{LIN}}_{(d+1)\times 1} = X^{\uparrow}y$$
102 |
103 | ## 9.3 Generalization Issue 泛化问题
104 |
105 | 本小节讨论的问题理解起来不简单,目前自己还是一知半解,如有表述不正确的地方还希望指正。
106 |
107 | 首先要回答一个问题,上一小节中使用到的求解最佳假设函数$W_{LIN}$的算法,是否能算是机器学习?
108 |
109 | 如回答不是,其理由很简单,求解只一步就完成了,不像前面章节中提到的学习方法需要很多步的过程。实际上,这种求解方式在数学中被称作解析解(analytical solution)或者叫封闭解或闭式解(closed-form solution),此种解是一些严格的公式,给出任意的自变量就可以求出其因变量,通常与数值解对应。因此这种求解方式并不像之前提到的PLA等算法时一步一步迭代求出的$E_{in}(W)$的最小解。
110 |
111 | 回答是的理由更看重结果,这种直接求解方式是数学推导中的精确解,因此求出的$W_{LIN}$一定是$E_{in}(w)$的最小解,符合求解条件,而且求解伪逆算法(此方法被称为高斯消元法,又见高斯,查了一下一共有110项以他名字命名的成果,整个机器学习笔记中你还会不断的听到以他命名的成果)并非如公式展示中显示的那样,一步就可以得出最终结果,而是需要几次的循环迭代(观察了矩阵求伪逆的程序,好像是三层循环,也就印证了NG在他机器学习课程中提到的矩阵求逆的复杂度为$O(N^3)$ ,只是被程序封装的看不出迭代的过程而已。而判断是否发生机器学习过程最主要标准是学习到的$E_{out}(w)$足够好!
112 |
113 | 其实通过改进VC限制,也可以证明在线性回归问题中VC起到了很好的约束作用,即找到了好的$E_{in}(W)$就可以保证$E_{out}(W)$还不错,这里不再证明,因为是件非常繁琐的过程。此处只需要记住VC限制不只在二元分类问题中起作用,在线性回归问题中也发挥着作用。
114 |
115 | 但是本节使用一种比VC限制更容易证明的保证,来说明解析解也可以得到一个好的$E_{out}(W)$
116 |
117 | 以下给出证明:为什么解析解求出的$E_{in}(W_{LIN})$的结果是好的。而有关的$E_{out}(W_{LIN})$证明与之类似。
118 |
119 | 首先观察$E_{in}$ 的平均,用符号$\bar E_{in}$ 表示,可写成公式9-14所示。
120 |
121 | $$E_{in} = E_{D \sim P^N}\{E_{in}(W_{LIN} wrt D) \} = noise level \cdot (1 - \frac{d+1}{N}) $$
122 |
123 | 其中E表示期望,不断的从整体样本空间中抽取样本集,算其平均值,w.r.t表示关于,noise level 表示数据中的噪音,N为每次抽样的样本数量,d+1为权值向量w的纬度。
124 |
125 | 从上一节中得知,可以将$E_{in}(W_{LIN})$ 写成公式9-15, 注意y与$\vec y$ 是向量形式。
126 |
127 | $$E_{in}(W_{LIN}) = \frac{1}{N}||y - \vec y ||^2 = \frac{1}{N}||y-X\underbrace{X^{\uparrow}y}_{W_{LIN}}||^2 = \frac{1}{N}||(I - XX^{\uparrow})y||^2$$
128 |
129 | 其中I是$N \times N $的单位矩阵,$XX^{\uparrow}$ 可以使用$N \times N$的H矩阵(hat matrix)表示。
130 |
131 | 此处通过几何图形来更具体的了解H矩阵的物理意义,如果9-4所示。
132 |
133 | 
134 |
135 |
图9-4 有关H矩阵的几何图形
136 |
137 | 其中紫色向量表示实际输出向量y。
138 |
139 | 粉色区域表示输入矩阵X乘以不同权值向量w所构成的空间,从这个定义得知,解析解求得最优权值向量$W_{LIN}$所表示的输出向量$\hat y = Xw_{LIN}$ 也落在该空间中,其中$\hat y$ 也N维向量,不难想象$\hat y$正是实际输出向量y在该空间上的投影。
140 |
141 | 而绿色虚线表示实际输出与最优假设输出之间的差距,写作$ y - \hat y$。 从上述情况可知,$ y - \hat y \bot \text{粉色空间}$
142 |
143 | 因此得知H矩阵是一个投影过程,向量$\hat y$ 是向量y通过矩阵H所做的投影,可以将矩阵H理解为一系列旋转缩放的动作,有$\hat y = Hy$。$I-H$ 的矩阵同样是一个投影过程,$y - \hat y$ 是向量y通过$I - H$ 的线性变化得到的向量。
144 |
145 | 在图9-4中再加入一点元素,构成图9-5。
146 |
147 | 
148 |
149 |
图9-5 加入理想的目标输出f(x)
150 |
151 | 如果实际输出矩阵y由理想的目标输出f(x)加上噪音部分共同构成(如图中红色和黑色虚线部分),则其中$y-\hat y$的形式也可以通过噪音按照$I-H$的变换方式构成。因此,得到公式9-16所示。
152 |
153 | $$E_{in}(W_{LIN}) = \frac{1}{N}|| y - \hat y||^2 = \frac{1}{N}||(I-H)noise||^2 = \frac{1}{N}(N - (d+1))||noise||^2$$
154 |
155 | 其中$N - (d+1)$ 是通过$I - H$的迹(trace)得出的。在求解之前,可以想象$(I-H)^2 = I - H$,因为经过两次转换所得到的还是第一次时的误差向量,trace(I-H)的求解过程如公式9-17所示。
156 |
157 | $$trace(I-H) = trace(I) - trace(H)$$
158 |
159 | (根据迹的性质,$ trace(A+B) = trace(A) + trace(B)$)
160 |
161 | = $N - trace(XX^{\uparrow}) = N - trace(X(X^TX)^{-1}X^T) = N - trace(X^TX(X^TX)^{-1})$
162 |
163 | (根据迹的性质$ trace(ABC) = trace(CAB) $)
164 |
165 | = $ N - trace(\underbrace{I}_{(d+1)\times(d+1)}) = N - (d+1) \qquad \text{公式9-17}$
166 |
167 | 最终介绍下该I-H这种转换的物理意义:原来有一个有N个自由度的向量y,投影到一个有d+1维的空间x(代表一列的自由度,即单一输入样本的参数),而余数剩余的自由度最大只有N-(d+1)种。
168 |
169 | 最终可以写出$\vec E_{in}$的结果,同理也可以写出 $\vec E_{out}$的噪音表示,如公式9-18和公式9-19所示。
170 |
171 | $\vec E_{in} = noise level \cdot (1 - \frac{d+1}{N}) \qquad \text{公式9-18}$
172 |
173 | $\vec E_{out} = noise level \cdot (1 + \frac{d+1}{N}) \qquad \text{公式9-19}$
174 |
175 | 因为前者做了优化,所以 $\vec E_{in}$ 有机会比「理想值」多 fit 数据中的 噪音一点点,所以会比「理想值」好一点;但 $\vec E_{out}$的部份则要付出代价(想象在测试的时候,拿到了与训练数据「完全不同」的噪音),所以可能反而多远离理想值一些。
176 |
177 | 从上面两个公式可以得到一个学习鸿沟图,如图9-6所示。
178 |
179 | 
180 |
181 |
图9-6 机器学习的学习鸿沟
182 |
183 | 其中N在趋于无穷大时,$\vec E_{in}$ 与$\vec E_{out}$两者都会趋近于noise level的值,即$\sigma ^ 2$
184 |
185 | 泛化误差之间的差距:$\frac{2(d+1)}{N}$
186 |
187 | 至此可以表明在线性回归中可以寻找到很好的$E_{out}$,因此线性回归可以学习。
188 |
189 | ## 9.4 Linear Regression for Binary Classification 使用线性回归做二元分类
190 |
191 | 首先对比二元线性分类与线性回归之间的差异,分别在三个部分进行对比,输出空间、假设函数和错误衡量函数,如图9-7所示。
192 |
193 | 
194 |
195 | 图9-7 二元线性分类与线性回归的对比
196 |
197 | 从求解问题的难度考虑,二元分类的求解是一个NP难问题,只能使用近似求解的方式,而线性回归通过求解析解,求解方便,程序编写也简单。
198 |
199 | 因此考虑能否通过求解线性回归的方式求二元分类问题,因为二元分类的输出空间{-1,+1}属于线性回归的输出空间,即$\{-1, 1\} \in R$。其中数据集的标记大于零的表示+1,小于零的表示-1,通过线性回归求得的解析解$E_{LIN}$,直接得出最优假设 $g(x) = sign(W_{LINX})$。但是这种推理只符合直觉,而如何使用数学知识去说明这种方式的合理性呢?
200 |
201 | 观察两种错误衡量方式,$err_{0/1}$和分$err_{lr}$别表示为公式9-20和公式9-21。
202 |
203 | $err_{0/1} = [|sign(w^Tx) \ne y|] \qquad \text{公式9-20}$
204 |
205 | $err_{lr} = (w^Tx - y)^2 \qquad \text{公式9-21}$
206 |
207 | 观察两公式的共同特点都含有$w^Tx$这一向量内积的形式,如果将作$w^Tx$为横轴,将err结果作为纵轴,可以画出图9-8。
208 |
209 | 其中图9-8a)为y=+1时,两err值的图像表示;而图9-8b)为y=-1时,两err值的图像表示。两幅图中红色的线表示$err_{lr}$,蓝色的先表示$err_{0/1}$。
210 |
211 | 
212 |
213 | 图9-8 a)y=+1时,两err值 的表示 b) y=-1时两err值的表示
214 |
215 | 从图中得出公式9-22的结论。
216 |
217 | $err_{0/1} \le err_{lr}$
218 |
219 | 回忆下第七章中证明的二元分类下$E_{out}$的上限,结合公式9-22的结论,得公式9-23。
220 |
221 | $ classification E_{out}(W) \le classification E_{in}(W) + \sqrt{\frac{8}{N} \ln(\frac {4(2N)^{d_{VC}}}{\delta})} \le regressionE_{in}(W) + \sqrt{\frac{8}{N}\ln (\frac{4(2N)^{d_{VC}}}{\delta})}$
222 |
223 | 因此二元分类问题得到了一个更宽松的上界,但是也是一种更有效率的求解方式。
224 |
225 | 在实际运用中,一般都将通过线性回归求得的解析解$W_{LIN}$作为PLA或者pocket的初始值$W_{0}$达到快速求解的目的 。
226 |
227 |
228 |
229 |
230 |
231 |
232 |
233 |
234 |
235 |
236 |
237 |
238 |
239 |
240 |
241 |
242 |
243 |
244 |
245 |
246 |
247 |
248 |
249 |
250 |
251 |
252 |
253 |
254 |
255 |
256 |
257 |
258 |
259 |
260 |
261 |
262 |
263 |
264 |
265 |
266 |
267 |
268 |
269 |
--------------------------------------------------------------------------------
/ch09/9.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wen-fei/TaiWanML/f5928efc190bb0dc238a3b2b7550eaaf049fa0a6/ch09/9.pdf
--------------------------------------------------------------------------------
/ch10/10.md:
--------------------------------------------------------------------------------
1 | # 十、Logistic Regression Logistic回归
2 |
3 | ## 10.1 Logistic Regression Problem Logistic回归问题
4 |
5 | 使用二元分类分析心脏病复发问题,其输出空间只含有两项{+1,-1},分别表示复发和不发复发。在含有噪音的情况下,目标函数f可以使用目标分布P来表示,如公式10-1所示,此情形的机器学习流程图如图10-1所示。
6 |
7 | $f(x) = sign(P(+1|x) - \frac{1}{2}) \in \{+1, -1\}$
8 |
9 | 
10 |
11 | 图10-1 心脏病复发二元分类流程图
12 |
13 | 但是通常情况下,不会确定的告知患者,心脏病一定会复发或者一定不会,而是以概率的方式告知患者复发的可能性,如图10-2所示,一位患者心脏病复发的可能性为80%。
14 |
15 | 
16 |
17 | 图10-2 以概率的形式表示复发可能性
18 |
19 | 此种情况被称为软二元分类(soft binary classification),目标函数f的表达如公式10-2所示,其输出以概率的形式,因此在0~1之间。
20 |
21 | $f(x) = P(+1|x) \in [0,1]$
22 |
23 | 面对如公式10-2的目标函数,理想的数据集D(输入加输出空间)应如图10-3所示。
24 |
25 | 
26 |
27 | 图10-3 理想的数据集D
28 |
29 | 所有的输出都以概率的形式存在,如$y_1 = 0.9$ ,用心脏病复发的例子来说明,一般病人只有心脏病发与没复发两种情况,而不可能在病历中记录他曾经的病发概率,现实中的训练数据应如图10-4所示。
30 |
31 | 
32 |
33 | 图10-4 实际训练数据
34 |
35 | 可以将实际训练数据看做含有噪音的理想训练数据。
36 |
37 | 问题是如何使用这些实际的训练数据以解决软二元分类的问题,即假设函数如何设计。
38 |
39 | 首先回忆在之前的几章内容中提到的两种假设函数(二元分类和线性回归)中都具有的是哪部分?
40 |
41 | 答案是求输入$x=(x_0, x_1, x_2,...,x_d)$ 各属性的加权总分数(score),(还记得第二章中用成绩分数来说明加权求和的意义吗?)可以使用公式10-3表示。
42 |
43 | $s = \sum_{i=0}^dw_ix_i = W^TX$
44 |
45 | 如何把该得分从在整个实数范围内转换成为一个0~1之间的值呢?此处就引出了本章的主题,logistic函数(logistic function)用$\theta(s)$表示。分数s越大风险越高,分数s越小风险越低。假设函数h如公式10-4所示,函数曲线的示意图如图10-5所示。
46 |
47 | $h(x) = \theta(W^TX)$
48 |
49 | 
50 |
51 | 具体的logistic函数的数学表达式如公式10-5所示。
52 |
53 | $\theta(s) = \frac{e}{e+e^s} = \frac{1}{1+e^{-s}}$
54 |
55 | 代入几个特殊的数值检验是否能将整个实数集上的得分映射到0~1之间,代入负无穷,得$\theat(-\infty)=0$;代入0,得;$\theta(0)=\frac{1}{2}$代入正无穷,得$\theta(+\infty)=1 $。logistic函数完美的$\theta(s)$将整个实数集上的值映射到了0~1区间上。
56 |
57 | 观察函数的图形,该函数是一个平滑(处处可微分),单调(monotonic)的S形(sigmoid)函数,因此又被称为sigmoid函数。
58 |
59 | 通过logistic函数的数学表达式,重写软二元分类的假设函数表达,如公式10-6所示。
60 |
61 | $h(X) = \frac{1}{1+e^{-W^TX}}$
62 |
63 | ## 10.2 Logistic Regression Error Logistic回归错误
64 |
65 | 将logisitic回归与之前学习的二元分类和线性回归做一对比,如图10-7所示。
66 |
67 | 
68 |
69 | 图10-7 二元分类、线性回归与logistic回归的对比
70 |
71 | 其中分数s是在每个假设函数中都会出现的$w^Tx$,前两个学习模型的错误衡量分别对应着0/1错误和平方错误,而logistic回归所使用的err函数应如何表示则是本节要介绍的内容。
72 |
73 | 从logistic回归的目标函数可以推导出公式10-7成立。
74 |
75 | $f(x) = P(+1|X) \Leftrightarrow P(y|x) = \left \{ \begin{aligned}f(x) \quad for \quad y&=+1 \\ 1-f(x) \quad for \quad y &= -1\end{aligned} \right \} $
76 |
77 | 其中花括号上半部分不难理解,是将目标函数等式左右对调的结果,而下半部分的推导也很简单,因为+1与-1的几率相加需要等于1。假设存在一个数据集$D=\{(x_1, o),(x_2,\times), \cdots, (x_N, \times)\}$ ,则通过目标函数产生此种数据集样本的概率可以用公式10-8表示。
78 |
79 | $P(D) = P(x_1)P(o|x_1)\times P(x_2)P(\times | x_2) \times \cdots\times P(x_N)P(o|x_N)$
80 |
81 | 就是各输入样本产生对应输出标记概率的连乘。而从公式10-7可知公式10-8可以写成公式10-9的形式。
82 |
83 | $P(D) = P(x_1)f(x_1)P(o|) \times P(x_2)(1-f(x_2)) \times \cdots \times P(x_N)(1-f(x_N))$
84 |
85 | 但是函数f是未知的,已知的只有假设函数h,可不可以将假设函数h取代公式10-9中的f呢?如果这样做意味着什么?意味着假设函数h产生同样数据集样本D的可能性多大,在数学上又翻译成似然(likelihood),替代之后的公式如公式10-10所示。
86 |
87 | $P(D) = P(x_1)h(x_1) \times P(x_2)(1-h(x_2)) \times \cdots \times P(x_N)(1-h(x_N))$
88 |
89 | 假设假设函数h和未知函数f很接近(即err很小),那么h产生数据样本D的可能性或叫似然(likelihood)和f产生同样数据D的可能性(probability)也很接近。函数f既然产生了数据样本D,那么可以认为函数f产生该数据样本D的可能性很大。因此可以推断出最好的假设函数g,应该是似然最大的假设函数h,用公式10-11表示。
90 |
91 | $g = \arg \max_k likelihood(h)$
92 |
93 | 在当假设函数h使用公式10-6的logistic函数,可以得到如公式10-12的特殊性质。
94 |
95 | $1-h(x) = h(-x)$
96 |
97 | 因此公式10-10可以写成公式10-13。
98 |
99 | $likehood(h) = P(x_1)h(x_1)\timesP(x_2)h(-x_2)\times \cdots \times P(x_N)h(-x_N) $
100 |
101 | 此处注意,计算最大的$likehood(h)$时,所有的对$P(x_i)$大小没有影响,因为所有的假设函数都会乘以同样的$P(x_i)$,即h的似然只与函数h对每个样本的连乘有关,如公式10-14。
102 |
103 | $likehood(logistic \quad h) \propto \prod _{n=1}^Nh(y_nx_n)$
104 |
105 | 其中$y_n$表示标记,将标记代替正负号放进假设函数中使得整个式子更加简洁。寻找的是似然最大的假设函数h,因此可以将公式10-14代入寻找最大似然的公式中,并通过一连串的转换得到公式10-15。
106 |
107 | $$\max_k likehood(logistic \quad h) \propto \prod _{n=1}^{N}$$
108 |
109 | $$\max_w likehood(w) \propto \prod _{n=1}^N\theta(y_nw^Tx_n)$$
110 |
111 | (假设函数h与加权向量w一一对应)
112 |
113 | $$\max_w \ln\prod_{n=1}^N\theta(y_nw^Tx_n)$$
114 |
115 | (连乘不易求解最大问题,因此取对数,此处以自然对数e为底)
116 |
117 | $$\min_w \frac{1}{N} \sum_{n=1}^N-\ln\theta(y_nw^Tx_n) $$
118 |
119 | (之前都是在求最小问题,因此将最大问题加上一个负号转成了最小问题,为了与以前的错误衡量类似,多成了一个$\frac{1}{N}$。)
120 |
121 | $$\min_w \frac{1}{N}\sum_{n=1}^N\ln(1+\exp(-y_nw^Tx_n))$$
122 |
123 | (将$\theta(s) = \frac{1}{1+e^{-s}}$代入表达式得出上述结果)
124 |
125 | $$\min_w \underbrace{\frac{1}{N} \sum_{n=1}^Nerr(w,x_n,y_n)}_{E_{in}(w)}$$
126 |
127 | 公式10-15中$err(w,x,y) = \ln(1+\exp(-yw^Tx))$,这个错误函数称作交叉熵错误(cross-entropy error)。
128 |
129 | ## 10.3 Gradient of Logistic Regression Error Logistic回归错误的梯度
130 |
131 | 推导出logistic回归的$E_{in}(w)$ ,下一步的工作是寻找使得最$E_{in}(w)$小的权值向量w。
132 |
133 | $E_{in}(w)$的表达如公式10-16所示。
134 |
135 | $$E_{in}(w) = \frac{1}{N}\sum_{n=1}^N\ln(1+\exp(-y_nw^Tx_n)$$
136 |
137 | 仔细的观察该公式,可以得出该函数为连续(continuous)可微(differentiable)的凸函数,因此其最小值在梯度为零时取得,即$\nabla E_{in} (w)= 0$ 。那如何求解$\nabla E_{in} (w)$呢?即为对权值向量w的各个分量求偏微分,对这种复杂公式求解偏微分可以使用微分中的连锁律。将公式10-16中复杂的表示方式用临时符号表示,为了强调符号的临时性,不使用字母表示,而是使用 o和$\Box$ ,具体如公式10-17。
138 |
139 | $$E_{in}(w) = \frac{1}{N} \sum_{n=1}^N\ln \underbrace{(1+\exp(\underbrace{-y_nw^Tx_n)}_{o})}_{\Box}$$
140 |
141 | 对权值向量w的单个分量求偏微分过程如公式10-18所示。
142 |
143 | $$\begin{aligned}\frac{\partial E_{in}(w)}{\partial w_i} \\ &= \frac{1}{N}\sum_{n=1}^N(\frac{\partial\ln(\Box)}{\partial\Box})(\frac{\partial(1+\exp(O))}{\partial O})(\frac{\partial - y_nw^Tx_n}{\partial w_i}) \\ &= \frac{1}{N}\sum_{n=1}^N(\frac{1}{\Box})(\exp(O))(-y_nx_{n,i}) \\ &= \frac{1}{N}\sum_{n=1}{N}(\frac{\exp(O)}{1+\exp(O)})(-y_nx_{n,i}) \\ &= \frac{1}{N} \sum_{n=1}{N}\theta(O)(-y_nx_{n,i}) \end{aligned} $$
144 |
145 | 其中$\theta$ 函数为10.1节中介绍的logistic函数。而求梯度的公式可以写成公式10-19所示。
146 |
147 | $$\nabla E_{in}(w) = \frac{1}{N}\sum_{n=1}^N\theta(-y_nw^Tx_n)(-y_nx_n)$$
148 |
149 | 求出$E_{in}(w)$的梯度后,由于为$E_{in}(w)$凸函数,令为零$\nabla E_{in}(w)$求出的权值向量w,即使函数取得最$E_{in}(w)$小的w。
150 |
151 | 观察$\nabla e_{in}(w)$,发现该函数是一个 $\theta$函数作为权值,关于$(-y_nx_n)$的加权求和函数。
152 |
153 | 假设一种特殊情况,函数的所有权值为零,即所有$\theta(-y_nw^Tx_n)$都为零,可以得出趋$-y_nw^Tx_n$于负无穷,即$-(-y_nw^Tx_n) = y_nw^Tx_n \ge 0$,也意味着所有的$y_n$都与对应的$w^Tx_n$同号,即线性可分。
154 |
155 | 排除这种特殊情况,当加权求和为零时,求该问题的解不能使用类似求解线性回归时使用的闭式解的求解方式,此最小值又该如何计算?
156 |
157 | 还记得最早使用的PLA的求解方式吗?迭代求解,可以将PLA的求解步骤合并成如公式10-20的形式。
158 |
159 | $$w_{i+1} = w_i + [|sign(w_i^Tx_n) \ne y_n|]y_nx_n$$
160 |
161 | $sign(w_i^Tx_n) = y_n$时,向量不变;$sign(w_i^Tx_n) \ne y_n$时,加上$y_nx_n$。将使用一些符号将该公式更一般化的表示,如公式10-21所示。
162 |
163 | $$w_{i+1} = w_i + \underbrace{1}_\eta \cdot \underbrace{[|sign(w^T_ix_n) \ne y_n|]y_nx_n}_upsilon$$
164 |
165 | 其中多乘以一个1,用$\eta$ 表示,表示更新的步长,PLA中更新的部分用v来代表,表示更新的方向。而这类算法被称为迭代优化方法(iterative optimization approach)。
166 |
167 | ## 10.4 Gradient Descent 梯度下降
168 |
169 | Logistic回归求解最小$E_{in}(w)$也使用上节中提到的迭代优化方法,通过一步一步改变权值向量$w$,寻找使得最小$E_{in}(w)$的变权值向量$w$,迭代优化方法的更新公式如公式10-22所示。
170 |
171 | $$w_{i+1} = w_i + \eta \cdot v$$
172 |
173 | 针对logistic回归个问题,如何设计该公式中的参数$\eta$和是$v$本节主要解决的问题。
174 |
175 | 回忆PLA,其中参数$v$来自于修正错误,观察logistic回归的$E_{in}(w)$,针对其特性,设计一种能够快速寻找最佳权值向量的$w$方法。
176 |
177 | 如图10-8为logistic回归的$E_{in}(w)$关于权值向量w的示意图为一个平滑可微的凸函数,其中图像谷底的点对应着最佳w,使得$E_{in}(w)$最小。如何选择参数$\eta$和可以使$v$得更新公式快速到达该点?
178 |
179 | 
180 |
181 | 图10-8 logistic回归的$E_{in}(w)$示意图
182 |
183 | 为了分工明确,设v作为单位向量仅代表方向,$\eta$代表步长表示每次更新改变的大小。在$\eta$固定的情况下,如何选择的方v向保证更新速度最快?是按照$E_{in}(w)$最陡峭的方向更改。即在$\eta$固定,$|v|=1$的情况下,最快的速度(有指导方向)找出使得$E_{in}(w)$最小的w,如公式10-23所示。
184 |
185 | $$\min_{|v|=1}E_{in}(\underbrace{w_t + \eta v}_{w_{t+1}})$$
186 |
187 | 以上是非线性带约束的公式,寻找最小w仍然非常困难,考虑将其转换成一个近似的公式,通过寻找近似公式中最小w,达到寻找原公式最小w的目的,此处使用到泰勒展开(Taylor expansion),回忆一维空间下的泰勒公式,如公式10-24所示。
188 |
189 | $$f(x) = f(x_0) + \frac{f^{'}(x_0)}{1!}(x-x_0) + \frac{f^{(2)}(x_0)}{2!}(x-x_0)^2 + \cdots + \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n + R(x)$$
190 |
191 | 同理,在$\eta$很小时,将公式10-23写成多维泰勒展开的形式,如公式10-25所示。
192 |
193 | $$\min_{|v|=1}E_{in}(w_t + \eta v^T) \approx E_{in}(w_t) + ((w_t + \eta v^T) - w_t)\frac{\nabla E_{in}(w_t)}{1!} = E_{in}(w_t) + \eta v^T \nabla E_{in}(w_t)$$
194 |
195 | 其中$w_t$相当于公式10-24中的$x_0$,$\nabla E_{in}(w_t)$相当于。通俗$\frac{f^{'}(x_0)}{1}$点解释,将原$E_{in}(w_t)$的曲线的形式看做一小段一小段的线段的形式,即$E_{in}(w_t + \eta v^T)$的曲线可以看做$E_{in}(w)$周围一段很小的线段。
196 |
197 | 因此求解公式10-26最小情况下的w,可以认为是近似的求解公式10-23最小状况下的w。
198 |
199 | $$\min_{|v| =1} \underbrace{E_{in}(w_t)}_{known} + \underbrace{\eta}_{give \quad positive}v^T \underbrace{\nabla E_{in}(w_t)}_{known}$$
200 |
201 | 该公式中$E_{in}(w_t)$是已知值,而为$\eta$给定的大于零的值,因此求公式10-26最小的问题又可转换为求公式10-27最小的问题。
202 |
203 | $$\min_{|v|=1}v^T \nabla E_{in}(w^t)$$
204 |
205 | 两个向量最小的情况为其方向相反,即乘积为负值,又因$v$是单位向量,因此方向v如公式10-28所示。
206 |
207 | $v = -\frac{\nabla E_{in}(w_t)}{||\nabla E_{in}(w_t)||}$
208 |
209 | 在$\eta$很小的情况下,将公式10-27代入公式10-22得公式10-28,具体的更新公式。
210 |
211 | $$w_{t+1} = w_t - \eta \frac{\nabla E_{in}(w_t)}{||\nabla E_{in}(w_t)||}$$
212 |
213 | 该更新公式表示权值向量w每次向着梯度的反方向移动一小步,按照此种方式更新可以尽快速度找到使得$E_{in}(w_t)$最小的w。此种方式称作梯度下降(gradient descent),简写为GD,该方法是一种常用且简单的方法。
214 |
215 | 讲完了参数v的选择,再回头观察事先给定的参数$\eta$的取值对梯度下降的影响,如图10-9所示。
216 |
217 | 
218 |
219 | 图10-9参数$\eta$的大小对梯度下降的影响
220 |
221 | 如图10-9最左,$\eta$太小时下降速度很慢,因此寻找最优w的速度很慢;图10-9中间,当$\eta$太大时,下降不稳定,甚至可能出现越下降越高的情况;合适的$\eta$应为随着梯度的减小而减小,如图最右所示,即参数$\eta$是可变的,且与梯度大小$||\nabla E_{in}(w_t)||$成正比。
222 |
223 | 根据$\eta$与梯度大小成$||\nabla E_{in}(w_t)||$正比的条件,可以将重新$\eta$给定,新的$\eta$如公式10-28所示。
224 |
225 | $$\eta_{new}=\frac{\eta_{old}}{||\nabla E_{in}(w_t)||}$$
226 |
227 | 最终公式10-27可写成公式10-29。
228 |
229 | $$w_{t+1} = w_t - \eta \nabla E_{in}(w_t)$$
230 |
231 | 此时的$\eta$被称作固定的学习速率(fixed learning rate),公式10-29即固定学习速率下的梯度下降。
232 |
233 | Logistic回归算法的步骤如下:
234 |
235 | 设置权值向量w初始值为$w_0$ ,设迭代次数为t,$t=0,1,\cdots$;
236 |
237 | 计算梯度$\nabla E_{in}(w_t) = \frac{1}{N} \sum_{n=1}^N \theta (-y_nW_t^Tx_n)(-y_nx_n)$
238 |
239 | 对权值向量w进行更新,$w_{t+1} = w_t - \eta \nabla E_{in}(w_t)$
240 |
241 | 直到$\nabla E_{in}(w_t) \approx 0$或者迭代次数足够多。
--------------------------------------------------------------------------------
/ch10/10.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wen-fei/TaiWanML/f5928efc190bb0dc238a3b2b7550eaaf049fa0a6/ch10/10.pdf
--------------------------------------------------------------------------------
/ch11/11.md:
--------------------------------------------------------------------------------
1 | # 十一、Linear Models for Classification 用于分类的线性模型
2 |
3 | ## 11.1 Linear Models for Binary Classification 用于二元分类的线性模型
4 |
5 | 目前叙述的算法模型主要有3类:线性二元分类,线性回归,logistic回归,这三个模型的最主要的相同点在假设函数和错误函数中都出现了线性得分函数(linear scoring function),如公式11-1所示。
6 |
7 | $s = w^Tx$
8 |
9 | 三类模型与得分s之间的关系如图11-1所示。
10 |
11 | 
12 |
13 | 图11-1 三类模型与得分s的关系
14 |
15 | 最左为线性二元分类,其假设函数为,一般使用0/1错误,通过求解最优权值向量w比较困难;中间为线性回归模型,其假设函数为,一般使用平方错误,可直接通过解析解求解最优w;最右为logistic回归模型,假设函数为,使用交叉熵错误,通过梯度下降法求出近似的w。
16 |
17 | 从上述分析不难看出,线性二元分类问题的求解方式最为困难,但与另外两种模型存在着共同点——得分s,能否利用这两种模型的算法近似求得二分类问题的最优w呢?
18 |
19 | 回顾10.2节,logistic回归的错误,可用符号 表示,其中CE为交叉熵(cross-entropy )的缩写,可以写成公式11-2所示。
20 |
21 | $$err_{CE} = err(w,x,y) = err_{CE}(s,y) = \ln(1+\exp(-yw^T)) = ln(1+\exp(-ys))$$
22 |
23 | 是否二元分类模型和线性回归模型的错误函数可以写成关于$ys$ 的形式?答案是可以的,如图11-2所示。
24 |
25 | 
26 |
27 | 图11-2 三类模型的错误函数
28 |
29 | 二元分类模型和线性回归模型错误函数中的转换都用到了$y \in \{+1, -1\}$ 的性质。接着观察三类模型的错误函数与ys之间的关系。本节开头回顾了s的物理意义为得分,此处ys的物理意义是正确的得分 ,因此ys越大越好,表示两者接近且同号。
30 |
31 | 根据图11-2中的三类模型的错误函数有关ys的公式,可以得出如图11-3所示的关系图。
32 |
33 | 
34 |
35 | 图11-3 三类模型的错误函数与ys的关系图
36 |
37 | 其中蓝色的折线表示0/1错误$err_{0/1}$ ,在ys大于0时,$err_{0/1}=0$,反之$err_{0/1}=1$;红色的抛物线表示平方错误$srr_{SQR}$,在 $ys \ll 1$时与$err_{0/1}$在该范围内所表现出的特征相似,但是在$ys \gg 1$时与在该范围内所表达的效果相去甚远,因此只有在$err_{SQR}$很小的情况下,可以使用$err_{SQR}$取代$err_{0/1}$;墨绿的曲线表示$err_{CE}$,同样如图11-3所示也只有在$err_{CE}$很小的情况下,$err_{CE}$和$err_{0/1}$可互相取代。但是$err_{CE}$跟想得到的错误曲线还有一些差距,因此略做转变,得到公式11-3。
38 |
39 | $$err_{SCE} = log_2(1 + \exp(-ys))$$
40 |
41 | 其中$err_{SCE}$表示缩放的(scaled)$err_{CE}$,即对$srr_{CE}$做了一个换底,因此可以得到图11-4。
42 |
43 | 
44 |
45 | 图11-4$err_{SCE}$关于ys的图
46 |
47 | 如图11-4中墨绿色的线表示$err_{SCE}$,从图中可以看出,该错误函数很适合做$err_{0/1}$的上限,在$err_{SCE}$很小的情况下,$err_{SCE}$和$err_{0/1}$可互相取代,如公式11-4所示。
48 |
49 | $$err_{0/1}(s,y) \le err_{SCE}(s,y) = \frac{1}{\ln2} err_{CE}(s,y)$$
50 |
51 | 通过公式11-4可以得出$E_{in}^{0/1}$和$E_{out}^{0/1}$的上限,如公式11-5和公式11-6所示。
52 |
53 | $$E_{in}^{0/1} \le E_{in}^{SCE}(w) = \frac{1}{\ln 2}E_{in}^{CE}(w)$$
54 |
55 | $$E_{out}^{0/1} \le E_{out}^{SCE}(w) = \frac{1}{\ln 2}E_{out}^{CE}(w)$$
56 |
57 | 再通过VC限制理论可以得到公式11-7。
58 |
59 | $$E_{out}^{0/1} \le E_{out}^{SCE}(w) + \Omega^{0/1}= \frac{1}{\ln 2}E_{out}^{CE}(w) + \Omega^{0/1}$$
60 |
61 | 第一个不等号连接的是在VC限制下$E_{out}^{0/1}(w)$和其上界,概念见7.4节, 其中$\Omega^{0/1}$函数是在7.4节中提到过的模型复杂度,在二元分类中可以写成的形$\sqrt{\frac{8}{N}\ln(\frac{4(2N)^{d_{VC}}}{\delta})}$式。
62 |
63 | 因此得到如下结论:小的$E_{out}^{0/1}(w)$可以通过小的$E_{in}^{CE}(w)$得出。同理可以证明小的$E_{out}^{0/1}(w)$也可以通过小的$E^{SQR}_{in}(w)$得出,即线性回归模型和logistic回归模型可以用作二元分类。
64 |
65 | 算法流程一般是在输出空间$y \in \{-1, +1\}$ 的情况下,通过线性回归和logistic回归相对应的求解方法求出最优 $w_{REG}$;
66 |
67 | 将求得的$w_{REG}$代入公式sign,得到最优假设函数 $g(x) = sign(w_{REG}^Tx)$。
68 |
69 | 三类模型做分类的利弊分析如表11-1所示。
70 |
71 | 
72 |
73 | 线性回归一般只作为PLA、pocket、logistic回归的初始向量$w_0$ ;logistic回归经常取代pocket算法。
74 |
75 | ## 11.2 Stochastic Gradient Descent 随机梯度下降
76 |
77 | 如公式11-8为迭代优化算法的通式,学过的PLA的迭代算法如公式11-9,logistic回归中梯度下降的迭代公式如公式11-10。
78 |
79 | $w_{t+1} = w_t + \eta \cdot v$
80 |
81 | $$w_{t+1} = w_t + y_{n(t)} \cdot x_{n(t)}$$
82 |
83 | $$w_{t+1} = w_t - \eta \nabla E_{in}(w_t) = w_t - \eta(\frac{1}{N} \sum_{n=1}^{N}\theta(-y_nw_t^Tx_n)(-y_nx_n)) = w_t + \eta(\frac{1}{N} \sum_{n=1}^N \theta(-y_nw_t^Tx_n)(y_nx_n)$$
84 |
85 | 对比以上两种迭代优化方法:PLA与logistic回归的梯度下降。发现PLA只需要通过一个样本点便可计算出$w_{t+1}$,即每次迭代的时间复杂度为 $O(1)$;logistic回归的梯度下降需要遍历所有的样本点才能计算出$w_{t+1}$,即每次迭代的时间复杂度为$O(n)$。有无可能将logistic回归每次迭代时间复杂度降为$O(1)$?
86 |
87 | 观察公式11-10,方向向量v,v≈$-\nabla E_{in}(w_t)$,该梯度是通过所有的样本点加权求和再取平均得到的,如何使用一个样本点的取值近似整体的平均值?
88 |
89 | 可以将求平均的过程理解为求期望值,此处使用在N个样本中随机抽取一个样本点求出的梯度取代原来的期望梯度,这种随机选取的梯度称为随机梯度(stochastic gradient),可用符号$\nabla _w err(w, x, y)$表示,而真实的梯度与随机梯度的关系如公式11-11。
90 |
91 | $$\nabla E_{in}(w_t) = \varepsilon_{random \quad n} \nabla _w err(w,x_n,y_n) $$
92 |
93 | 随机梯度值可以看做真实的梯度值加上一个噪音,使用随机梯度取代真实梯度做梯度下降的算法称作随机梯度下降(stochastic gradient descent),简称SGD。这种替代的理论基础是在迭代次数足够多的情况下,平均的随机梯度和平均的真实梯度相差不大。
94 |
95 | 该算法的优点是简单,容易计算,适用于大数据或者流式数据;缺点是不稳定。
96 |
97 | Logistic回归的随机梯度下降的迭代如公式11-12所示。
98 |
99 | $w_{t+1} = w_t + \eta \underbrace{(-y_nw_t^Tx_n)(y_nx_n)}_{-\nabla_w err(w,x_n,y_n)}$
100 |
101 | 是否联想到了其他的迭代算法?PLA,如公式11-13所示。
102 |
103 | $$w_{t+1} = w_t + \underbrace{1}_\eta \underbrace{[|sign(w_t^Tx_n) \ne y_n|]y_nx_n}_{v}$$
104 |
105 | 因此logistic回归随机梯度下降类似于"软"的PLA,为什么称为软的?原因是它的$y_nx_n$之前的权值并没有那么绝对不是1就是0,而是一个在0~1之间的值。在公式11-12中,如果$\eta =1$且$w_t^Tx_n$始终是一个很大的值,则logistic回归随机梯度下降相当于是PLA。
106 |
107 | ## 11.3 Multiclass via Logistic Regression 通过logistic回归实现多类别分类
108 |
109 | 多类别分类有许多应用场景,特别是在识别(recognition)领域。
110 |
111 | 如图11-5为,输出空间y为四类别的情况,即$y \in \{ \Box, ◇,△, ☆\}$。
112 |
113 | 
114 |
115 | 图11-5 四分类问题
116 |
117 | 实际多类别问题也可以使用二元分类问题 的思路进行分类,如将原四类问题分解为是否为 ,即将与其他的类别分离,生成一个新的二元分类问题,即,通过此方式得到一个分类超平面,如图11-6所示。
118 |
119 | 
120 |
121 | 图11-6 以是否为进行二元分类
122 |
123 | 同理可以以是否为生成一个新的二元分类问题,即,该分类超平面如图11-7所示。
124 |
125 | 
126 |
127 | 图11-7 以是否为进行二元分类
128 |
129 | 另外两种情况就不一一列举,最终以是否为每个类别得到的二元分类如图11-8。
130 |
131 | 
132 |
133 | 图11-8 四个类别各自的二元分类情况
134 |
135 | 当将图11-8的四种情况合并在一个图中会发现有一些无法处理的情形,如图11-9所示。
136 |
137 |
138 |
139 | 
140 |
141 | 图11-8 四种情况合并图
142 |
143 | 其中四个边缘的三角阴影所在的区域为相邻两个类别都争夺的区域,如最上方的三角区域是类别和类别重叠的区域;还有图正中的区域又不属于任何类别。这些问题如何解决?
144 |
145 | 使用以前学过的软性分类,还是关于类别的二元分类问题,此处不再使用硬划分,而是使用该样本点是的可能性,即 ,如图11-9所示。
146 |
147 | 
148 |
149 | 图11-9 关于类别的软化分
150 |
151 | 余下三种情况不再一一举例,最终得到的四种类别的分类情况和合并后的情况分别如图11-10和图11-11所示。
152 |
153 | 
154 |
155 | 图11-10四个类别各自的软二元分类情况
156 |
157 | 
158 |
159 | 图11-11四个类别软二元分类合并后情况
160 |
161 | 如何判断样本点属于哪个类别,可以分别计算样本点在四种软二元分类情况下概率,选择其中概率最大的一个作为所属类别,如公式11-14所示。
162 |
163 | $$g(x) = arg \max_{k \in \gamma }\theta(w^T_{[k]}x)$$
164 |
165 | 其中求概率的公式使用logistic函数$\theta$ ,k表示类别,注意到logistic函数是一个单调函数,因此可以消去该函数,直接使用个类别的得分值作比较,如公式11-5所示。
166 |
167 | $$g(x) = arg \max_{k \in \gamma } w^T_{[k]}x$$
168 |
169 | 用此种思路设计的算法称作一对多(One Versue All),简称为OVA,表示一个类别对其他所有类别,算法流程如下:
170 |
171 | 在整个训练数据集D上,$D_{[k]} = \left \{ (x_n, y_n = 2[|y_n=k|] - 1) \right \}_{n=1}^N$ (在y=k时为+1,y≠k时为-1,符号$[|\cdot|]$取1或者0 ),使用logistic函数计算各个类别的权值向量$w_{[k]}$ ;
172 |
173 | 返回假设函数g,$g(x) = arg \max_{k \in \gamma}w^T_{[k]}x$。
174 |
175 | 该算法的优点是简单有效,易于类似于logistic函数的二元分类问题扩展成多类别分类;缺点是当类别特别多时,产生了不平衡的现象(如类别特别多,则+1的数据量就很少,大部分都是-1,数据量严重不平衡)。
176 |
177 | ## 11.4 Multiclass via Binary Classification 通过二元分类实现多类别分类
178 |
179 | 上一节的最后提到OVA的方式在类别非常多的情况下,出现了训练数据严重失衡的现象,于是本节介绍一种应对这类不平衡问题的方法。
180 |
181 | 还是上节中使用的四分类问题,不像OVA在整个数据集中计算是否为的权值向量w,此种方法是任意选择四类中的两类,如类别和类别,将两个类别分别设为+1和-1,形式如,在包含两类的数据集上计算权值向量w,如图11-12。
182 |
183 | 
184 |
185 | 图11-12类别和类别的二分类
186 |
187 | 如上述情况相同,从四种类别中选取两种做二元分类,一共可得6种对比($C_4^2 = 6$ ),各对比如图11-13所示。
188 |
189 | 
190 |
191 | 图11-13 6种对比情况
192 |
193 | 如图11-13得到6个不同的权值向量w,如何判断某新进样本属于哪个分类?如11-14中紫色的样本点在6中情况下所属的类别,前三种属于,第4种属于,后两种属于,只需要找出在所有对比中胜利次数最多的类别,因此该点属于。这种方式如同投票选举,样本点属于所有类别对比中赢得次数最多的那种类别。
194 |
195 | 这种分类方式称为一对一(one vervuse one),简称OVO。其算法流程如下:
196 |
197 | 所有类别的任意两个类别做对比,使用二元分类算法,在数据集D, 求出最佳的权值向量;
198 |
199 | 通过投票返回假设函数g。
200 |
201 | 其优点是简单有效,在做两两对比时,每次使用的不是全部训练数据,而是仅属于当前两类的训练数据,能将所有类似于二元分类的算法扩展成多元分类问题; 缺点是对比次数是 ,即 ,其中K表示类别数,因此就需要花费更多的存储空间、计算时间。
--------------------------------------------------------------------------------
/ch11/11.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wen-fei/TaiWanML/f5928efc190bb0dc238a3b2b7550eaaf049fa0a6/ch11/11.pdf
--------------------------------------------------------------------------------
/ch12/12.md:
--------------------------------------------------------------------------------
1 | # 十二、Nonlinear Transformation 非线性转换
2 |
3 | ## 12.1 Quadratic Hypotheses 二次的假设空间
4 |
5 | 在之前的章节中,学习的机器学习模型都为线性模型,即假设空间都为线性的,使用的得分为线性得分(linear scores)$s = w^Tx$ 。这种线性模型的最大好处是理论上可以使用VC限制进行约束(假设是非线性的各种曲线或者超曲面,则每种假设都可以完全二分,即 $2^N$种二分类),这保证了 $E_{in} = E_{out}$;当遇到如图12-1的情况,则很难寻找到一个直线能将两类尽可能的分离,即存在很大的 $E_{in}$。该如何打破这种限制?
6 |
7 | 
8 |
9 | 图12-1 线性不可分的情况
10 |
11 | 观察图12-1发现该数据集为线性不可分(non-linear separable)的情况,可以使用圆圈将样本集分离,如图12-2所示,此种方式称作圆圈可分(circular separable),该图使用一个半径为$\sqrt{0.6}$ 圆心在原点的圆划分,假设函数h如公式12-2所示,该公式的含义为将样本点到原点距离的平方与数值0.6作比较,如果比0.6小,则标记为+1;反之为-1。
12 |
13 | 
14 |
15 | 图12-2 圆圈可分的情况
16 |
17 | $$h_{SEP}(x) = sign(-x_1^2 - x_2^2 + 0.6)$$
18 |
19 | 难道需要再将以前学过的线性PLA,线性回归的算法都重新设计一遍,变成圆圈PLA,圆圈回归重新学习?当然不会这样,以下介绍一种思想通过已有知识解决上述新提出的算法模型。
20 |
21 | 将公式12-1中变量以及参数做一些转变,变成熟悉的线性模型,如公式12-2所示。
22 |
23 | $$h_{SEP}(x) = sign(\underbrace{0.6}_{w_0} \times \underbrace{1}_{x_0} + \underbrace{(-1)}_{w_1} \times \underbrace{x_1^2}_{x_1} + \underbrace{(-1)}_{w_2} \times \underbrace{x_2^2}_{x_2}) = sign(w_0 \cdot z_0 + w_1 \cdot z_1 + w_2 \cdot z_2) = sign(w^Tz)$$
24 |
25 | 该公式将圆圈可分$\{ (x_n, y_n)\}$ 转换成线性可分$\{(z_n,y_n)\}$,得到的结果如图12-3所示。称这种将输入空间$x \in X \rightarrow^{\Theta} \text{输出空间} z\in Z$ 的过程称为特征转换(feature transform $\Theta$)。
26 |
27 | 
28 |
29 | 图12-3 在Z空间线性可分的情况
30 |
31 | 问题出现了,是否新的空间中数据线性可分,则在原空间中原数据一定是圆圈可分?搞清此问题之前,需要了解在新的空间中如何线性可分的。
32 |
33 | 新的空间Z的表示如公式12-3所示。
34 |
35 | $$(z_0, z_1, z_2) = z = \Phi(x) = (1, x_1^2, x_2^2) $$
36 |
37 | 在空间X中假设函数h与空间Z假设函数$h$ 的关系如公式12-4所示。
38 |
39 | $$h(x) = \widetilde h(z) = sign(\widetilde w_0 + \widetilde w_1x_1^2 + \widetilde w_2x_2^2)$$
40 |
41 | 公式12-4即为在X空间中假设函数的表达式,其中$(\widetilde w_0, \widetilde w_1, \widetilde w_2)$为权值向量,观察权值向量的不同取值对X空间的中的假设函数的表达式有何不同,如表12-1所示。
42 |
43 | 
44 |
45 | 因此通过这种形式转换的Z空间的直线对应着原X空间中特殊的二次曲线(quadratic curves)。为何说是特殊的?从表12-1第一行表示的圆只能是圆心过原点的圆,不能随意表示各种情况的圆。
46 |
47 | 如果想要表示X空间中所有的二次曲面,Z空间该佮表示呢?设计一个更大的Z空间,其特征转换如公式12-5所示。
48 |
49 | $$\Phi _2(x) = (1, x_1, x_2, x_1^2, x_1x_2, x_2^2)$$
50 |
51 | 通过以上特征转换,Z空间中的每个超平面就对应X空间中各种不同情况的二次曲线。则X空间中的假设空间H如公式12-6所示。
52 |
53 | $$H_{\Phi_2} = \{h(x):h(x) = \widetilde h(\Phi_2(x)) \}$$
54 |
55 | 其中$\widetilde h$表示Z空间中的假设函数。使用一个例子表示,如公式12-7为斜椭圆的表达式,可以得出权值向量 $\widetilde w^T = [33, -20, -4, 3, 2, 3]$。
56 |
57 | $$2(x_1 + x_2 - 3)^2 + (x_1 - x_2 - 4)^2 = 1 \qquad \text{公式12-7}$$
58 |
59 | 使用公式12-5的特征转换,可以表示X空间中所有的线(包括直线和各种类型的二次曲线)和常数(全为正或全为负)。
60 |
61 | ## 12.2 Nonlinear Transform 非线性转换
62 |
63 | 从X空间转换到Z空间,则在Z空间中获得的好的线性假设函数,相当于在X空间中获得了好的二次假设函数,即在Z空间中存在一个可分的直线对应于在X空间存在一个可分的二次曲线。如何在Z空间中寻找好的假设函数呢?
64 |
65 | 将在Z空间的数据集写成如$\{(z_n = \Phi(x_n), y_n )\}$ ,前面的章节讲述了如何在X空间的数据集中$\{(x_n, y_n)\}$寻找最好的假设函数,因此可以使用前面章节学习到的方法对Z空间的数据集进行训练。
66 |
67 | 简述下此种学习方式的步骤,转换与学习步骤如图12-4所示:
68 |
69 | 通过特征转换函数$\Phi$ 将在X空间中不可分的数据集$\{(x_n, y_n)\}$转换成在Z空间中可分的数据集$\{(z_n = \Phi(x_n), y_n )\}$;
70 |
71 |
--------------------------------------------------------------------------------