机器学习(周志华) 参考答案 第三章 线性模型

版权声明:本文为博主原创文章,技术有限,如果发现错误或问题请告知博主,转载请注明出处,谢谢。 https://blog.csdn.net/icefire_tyh/article/details/52069025

机器学习(周志华) 参考答案 第三章 线性模型

机器学习(周志华西瓜书) 参考答案 总目录


1.试分析在什么情况下,在以下式子中不比考虑偏置项b。

线性模型y=wtx+b,两个实例相减得到yiy0=wt(xix0),以此消除了b。所以可以对训练集每个样本都减去第一个样本,然后对新的样本做线性回归,只需要用模型y=wtx


2.试证明,对于参数w,对率回归(logistics回归)的目标函数(式1)是非凸的,但其对数似然函数(式2)是凸的。

如果一个多元函数是凸的,那么它的Hessian矩阵是半正定的。

y=11+e(wTx+b)
dydw=xe(wTx+b)(1+e(wTx+b))2=x(yy2)
ddwT(dydw)=x(12y)(dydw)T=xxTy(y1)(12y)

xxT合同于单位矩阵,所以xxT是半正定矩阵
y的值域为(0,1),当y(0.5,1)时,y(y1)(12y)<0,导致ddwT(dydw)半负定,所以y=11+e(wTx+b)是非凸的。

l(β)=\sum_{i=1}^{m}(-y_iβ^Tx_i+ln(1+e^{β^Tx}))
\frac{d}{dβ^T}(\frac{dl}{dβ})=xx^Tp1(x;β)(1-p1(x;β))

显然概率p1\in(0,1),则p1(x;β)(1-p1(x;β))\geq0,所以l(β)=\sum_{i=1}^{m}(-y_iβ^Tx_i+ln(1+e^{β^Tx}))是凸函数。


3.编程实现对率回归,并给出西瓜数据集3.0α上的结果


4.选择两个UCI数据集,比较10折交叉验证法和留一法所估计出的对率回归的错误率。


5.编程实现线性判别分析,并给出西瓜数据集3.0α上的结果。


6. LDA仅在线性可分数据上能获得理想结果,试设计一个改进方法,使其能较好地用于非线性可分数据。

在当前维度线性不可分,可以使用适当的映射方法,使其在更高一维上可分,典型的方法有KLDA,可以很好的划分数据。


7.令码长为9,类别数为4,试给出海明距离意义下理论最优的EOOC二元码并证明之。

对于ECOC二元码,当码长为2^n时,至少可以使2n个类别达到最优间隔,他们的海明距离为2^{(n-1)}。比如长度为8时,可以的序列为

1 1 1 1 -1 -1 -1 -1
1 1 -1 -1 1 1 -1 -1
1 -1 1 -1 1 -1 1 -1
-1 -1 -1 -1 1 1 1 1
-1 -1 1 1 -1 -1 1 1
-1 1 -1 1 -1 1 -1 1

其中4,5,6行是对1,2,3行的取反。若分类数为4,一共可能的分类器共有2^4-2种(排除了全1和全0),在码长为8的最优分类器后添加一列没有出现过的分类器,就是码长为9的最优分类器。


8.EOOC编码能起到理想纠错作用的重要条件是:在每一位编码上出错的概率相当且独立。试析多分类任务经ECOC编码后产生的二类分类器满足该条件的可能性及由此产生的影响。

理论上的ECOC码能理想纠错的重要条件是每个码位出错的概率相当,因为如果某个码位的错误率很高,会导致这位始终保持相同的结果,不再有分类作用,这就相当于全0或者全 1的分类器,这点和NFL的前提很像。但由于事实的样本并不一定满足这些条件,所以书中提到了有多种问题依赖的ECOC被提出。


9.使用OvR和MvM将多分类任务分解为二分类任务求解时,试述为何无需专门针对类别不平衡性进行处理。

书中提到,对于OvRMvM来说,由于对每个类进行了相同的处理,其拆解出的二分类任务中类别不平衡的影响会相互抵消,因此通常不需要专门处理。以ECOC编码为例,每个生成的二分类器会将所有样本分成较为均衡的二类,使类别不平衡的影响减小。当然拆解后仍然可能出现明显的类别不平衡现象,比如一个超级大类和一群小类。


10.试推出多分类代价敏感学习(仅考虑基于类别的错误分类代价)使用“再缩放”能获得理论最优解的条件。

题目提到仅考虑类别分类的误分类代价,那么就默认正确分类的代价为0。
于是得到分类表,(假设为3类)

0 c_{12} c_{13}
c_{21} 0 c_{23}
c_{31} c_{32} 0

对于二分类而言,将样本为正例的后验概率设为是p,那么预测为正的代价是(1-p)*c_{12}
预测为负的代价是p*c_{21}。当(1-p)*{c_{12}}≤p*{c_{21}}样本会被预测成正例,因为他的代价更小。当不等式取等号时,得到了最优划分,这个阀值p_r = \frac{c_{12}}{c_{12}+c_{21} },这表示正例与反例的划分比例应该是初始的\frac{c_{12}}{c_{21}} 倍。假设分类器预设的阀值是{p_o},不考虑代价敏感时,当\frac{y}{1-y}>\frac{p_o}{1-p_o}时取正例。当考虑代价敏感,则应该是\frac{y}{1-y}>\frac{1-p_r}{p_r} *\frac{p_o}{1-p_o} =\frac{c_{21}}{c_{12}} *\frac{p_o}{1-p_o}
推广到对于多分类,任意两类的最优再缩放系数t_{ij}=c_{ij}/c_{ji} ,然而所有类别的最优缩放系数并不一定能同时满足。当代价表满足下面条件时,能通过再缩放得到最优解。
t_{ij}=w_i/w_j ,则w_i/w_j =c_{ij}/c_{ji} 对所有i,j成立,假设有k类,共C_k^2个等式,此时代价表中k*(k-1)个数,最少只要知道2*(k-1)就能推出整张表。

猜你喜欢

转载自blog.csdn.net/icefire_tyh/article/details/52069025