周志华西瓜书《机器学习》习题提示——第3章

3.1:如下两种情况

(1)当 ∑ x i = 0 \sum x_i=0 xi=0时,由【西瓜书(3.8)】知 b b b为常数,故不必考虑。

(2)当消除了 b b b时,不必单独考虑。

有两个办法消去方程(组)中的 b b b,一是减法消 b b b,所有样本都减去某个固定样本,即 y i − y 0 = w T ( x i − x 0 ) y_i-y_0=\boldsymbol{w}^\mathrm{T}(\boldsymbol{x}_i-\boldsymbol{x}_0) yiy0=wT(xix0),它是基于方程(组)等式“绝对相等”的情况,该方法常用于解方程组。 二是增加一维消 b b b,见3.1 线性回归(线性模型对应于仿射函数)中的式(5)式(6)的推导,这种方法其实并没有真正消去 b b b,而是将它转化到 w \boldsymbol{w} w中,该方法常用于线性回归中,通过该转换就不必单独考虑 b b b了。

3.2:由凸函数的定义验证即可。 凸函数的定义见【西瓜书p.54左侧】。

3.3:以程序实现(牛顿法)迭代式【西瓜书(3.29)】,其中用到【西瓜书(3.30)(3.31)】求导,还需要求矩阵的逆,另外,算法中别忘了加上停止条件。

3.4:算法为对率回归,将数据集分解为训练集和测试集,分解方法分别采用10折交叉验证法和留一法,求各自的平均错误率。

3.5:由【西瓜书(3.39)】归结到奇异值分解和求矩阵的逆,利用编程语言(如,python,R)的函数库中矩阵运算函数即可。

3.6:开放式讨论题,举两例:

(1)【西瓜书p.137】的核方法能将线性学习器拓展成非线性学习器;

(2)删除法:删除远离类中心的该类样本,如,设正例和反例的中心点分别为 μ 0 \boldsymbol{\mu}_0 μ0 μ 1 \boldsymbol{\mu}_1 μ1,方差分别为 σ 0 2 {\sigma }^2_0 σ02 σ 1 2 {\sigma }^2_1 σ12,则删除下式确定的样本 x \boldsymbol{x} x
∣ ∣ x − μ i ∣ ∣ 2 2 > λ σ i 2 \begin{align*} ||\boldsymbol{x}-\boldsymbol{\mu}_i||^2_2>\lambda {\sigma }^2_i \end{align*} ∣∣xμi22>λσi2
其中, i = 0 , 1 i=0,1 i=0,1,而 λ \lambda λ满足 ∣ ∣ μ 0 − μ 1 ∣ ∣ 2 2 > λ ( σ 1 + σ 2 ) 2 ||\boldsymbol{\mu}_0-\boldsymbol{\mu}_1||^2_2>\lambda ({\sigma }_1+{\sigma }_2)^2 ∣∣μ0μ122>λ(σ1+σ2)2

3.7:
本题的目的是构造【西瓜书图3.5】中类的编码矩阵。

最优化就需要对类的编码足够分散,理想状态:类间距离相等,且最大化。 因此,需要具有对称性,显然长度为9的编码不具备对称性,而8(最接近于9的2的幂)位编码具有对称性。 又因为,任一编码与其取反是成对出现(如,8个“ + + +”与8个“ − - ”),故可以只考虑“ + + +”不少于“ − - ”的编码(相反情况对应于取反),这时,编码中“ − - ”最少为0个,最多为4个,取这两个极端即得编码的海明距离最大为4。 我们从8个“ + + +”开始,利用对称性进行分裂:
对类编码

图示:对类编码

图中树分裂时采取“左 + + + − - ”,如,C2的编码为 ( 4 + , 4 − ) = ( + + + + − − − − ) (4+,4-)=(++++----) (4+,4)=(++++),其余类的编码类推,由此就得到了8位类编码矩阵,注意到这时任意两个类间的海明距离都为4,符合最优。

该编码矩阵还有如下特点:1、最左侧的一列全为 + + +,这一列对应的二分类器为恒 + + +;2、列与列之间的交换,并不影响海明距离以及对学习器的训练,因此,上述方法得到的编码矩阵是唯一的(除交换列生成新的编码矩阵外)。

然而,第一行全为 + + +,即在每个二分类器 f i f_i fi中C1都归于 + + +类,因此,有必要改变这种情况,简单的方法是:再增加一列,使其C1取 − - ,其余类全取 + + +,这样就得到编码长度为9的类编码矩阵。

上述方法可推广到一般:设有n个类别,则形成上述n层三角形分解(二叉树),与该图类似,从上至下每层的数字依次为: 2 n − 1 , 2 n − 2 , ⋯   , 2 1 , 2 0 2^{n-1},2^{n-2},\cdots,2^1,2^0 2n1,2n2,,21,20,即得到最优海明编码长度为 2 n − 1 2^{n-1} 2n1,距离为 2 n − 2 2^{n-2} 2n2的类编码矩阵。 再从训练的角度补充一位(或多位)来避免“C1在所有二分类器中恒为 + + +”的情况。

3.8:提示:

我们将“概率相当”极端化为“概率相等”来思考。

【西瓜书图3.5】的“编码矩阵”中,若每格的出错概率相等,则在均衡划分下,预测出错的概率也相等,在非均衡划分下,预测出错的概率不相等。图中 f 2 , f 3 , f 4 , f 5 f_2,f_3,f_4,f_5 f2,f3f4,f5列是均衡划分(黑白格数相等), f 1 f_1 f1列为非均衡划分(黑多于白)。因此,设计“编码矩阵”的列时要尽量进行均匀划分。

3.9:提示

(1)OvR和MvM本身就打破了平衡性;

(2)将多类划分为二类时,多类中的类是平等的,不平衡在多次划分时产生组合,则不利影响会相互抵消。

3.10:提示

设有 k k k类,一个第 i i i类样本错分入第 j j j类时,产生的损失为 c i j > 0 , c i i = 0 c_{ij}>0,c_{ii}=0 cij>0,cii=0,其中, i , j = 1 , 2 , ⋯   , k i,j=1,2,\cdots,k i,j=1,2,,k,使用“再缩放”方法时,需要考虑各类的重要性程度(权重),设第 i i i类的权重为 w i w_i wi,则第 i i i类较第 j j j类的相对权重与 c i j c_{ij} cij成正比,与 c j i c_{ji} cji成反比,故可设为:
w i w j = c i j c j i , ( 1 ⩽ i ≠ j ⩽ k ) \begin{align} \frac{w_i}{w_j}=\frac{c_{ij}}{c_{ji}},\qquad (1\leqslant i\neq j\leqslant k) \tag{1} \end{align} wjwi=cjicij,(1i=jk)(1)
参考3.2 对数几率回归式(8)

显然,对换一下 i i i j j j,则等价于上式倒过来,故可限定 1 ⩽ i < j ⩽ k 1\leqslant i<j\leqslant k 1i<jk,即共有 k ( k − 1 ) 2 \frac{k(k-1)}{2} 2k(k1)个等式。 将上式改为线性方程组:
w i c j i − w j c i j = 0 , ( 1 ⩽ i < j ⩽ k ) \begin{align} {w_i}{c_{ji}}-{w_j}{c_{ij}}=0,\qquad (1\leqslant i<j\leqslant k) \tag{2} \end{align} wicjiwjcij=0,(1i<jk)(2)

设单位行向量 ε i = ( 0 , 0 , ⋯   , 0 , 1 , 0 , ⋯   , 0 ) \boldsymbol{\varepsilon }_i=(0,0,\cdots,0,1,0,\cdots,0) εi=(0,0,,0,1,0,,0),即 k k k维且第 i i i个分量为1,其余全为0的行向量。 再设列向量 w = ( w 1 ; w 2 ; ⋯   ; w k ) \boldsymbol{w}=(w_1;w_2;\cdots;w_k) w=(w1;w2;;wk),则方程组(2)变为:
( c j i ε i − c i j ε j ) w = 0 , ( 1 ⩽ i < j ⩽ k ) \begin{align} ({c_{ji}}\boldsymbol{\varepsilon }_i-{c_{ij}}\boldsymbol{\varepsilon }_j)\boldsymbol{w}=0,\qquad (1\leqslant i<j\leqslant k) \tag{3} \end{align} (cjiεicijεj)w=0,(1i<jk)(3)

由此,若要各类的符合要求的权重 w \boldsymbol{w} w存在,则必须(3)有解。 而(3)是 k k k个变量 ( w 1 ; w 2 ; ⋯   ; w k ) (w_1;w_2;\cdots;w_k) (w1;w2;;wk) k ( k − 1 ) 2 \frac{k(k-1)}{2} 2k(k1)个方程组成的线性方程组。 由线性方程组理论知,其有解的充要条件是:系数向量组 ( c j i ε i − c i j ε j ) , 1 ⩽ i < j ⩽ k ({c_{ji}}\boldsymbol{\varepsilon }_i-{c_{ij}}\boldsymbol{\varepsilon }_j),1\leqslant i<j\leqslant k (cjiεicijεj),1i<jk的秩不大于变量数 k k k。 这即为所求条件。

特别地,当 k = 2 k=2 k=2时, k ( k − 1 ) 2 = 1 \frac{k(k-1)}{2}=1 2k(k1)=1;当 k = 3 k=3 k=3时, k ( k − 1 ) 2 = 3 \frac{k(k-1)}{2}=3 2k(k1)=3。 这两种情况(方程个数不超过变量个数)天然地满足该条件。

k = 2 k=2 k=2时,方程(3)变为:
c 21 w 1 − c 12 w 2 = 0 \begin{align} c_{21}w_1-c_{12}w_2=0 \tag{4} \end{align} c21w1c12w2=0(4)
即“再缩放”因子为:
w 1 w 2 = c 12 c 21 \begin{align} \frac{w_1}{w_2}=\frac{c_{12}}{c_{21}} \tag{5} \end{align} w2w1=c21c12(5)
“再缩放”因子的意义参见3.2 对数几率回归式(7)。

本文为原创,您可以:
- 点赞(支持博主)
- 收藏(待以后看)
- 转发(他考研或学习,正需要)
- 评论(或讨论)
- 引用(支持原创)
- 不侵权

上一篇:周志华西瓜书《机器学习》习题提示——第2章
下一篇:4.1 决策树算法(不是规划论中的决策树)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值