【机器学习-周志华】阅读笔记-第三章

第三章-线性模型

线性模型是机器学习中常见的判别工具,其试图学的一个通过属性的线性组合来进行预测的函数,其基本形式为:

f(x)=\omega_{1} x_{1}+\omega_{2} x_{2}+\cdots+\omega_{d} x_{d}+b

也就是说,通过输入x,代入公式计算,即可得到其对应的预测结果

问题在于:如何获得w和b?

计算机可以通过计算f(x)与真实的y的差值,来获得对当前w和b的评价(代价函数),进而不断优化w和b。

\begin{aligned}\left(w^{*}, b^{*}\right) &=\underset{(w, b)}{\arg \min } \sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2} \\ &=\underset{(w, b)}{\arg \min } \sum_{i=1}^{m}\left(y_{i}-w x_{i}-b\right)^{2} \end{aligned}

在代价函数中,分别对w和b求导,另导数为0,可以得到最小化代价函数的公式。

\begin{array}{l}{\frac{\partial E_{(w, b)}}{\partial w}=2\left(w \sum_{i=1}^{m} x_{i}^{2}-\sum_{i=1}^{m}\left(y_{i}-b\right) x_{i}\right)} \\ {\frac{\partial E_{(w, b)}}{\partial b}=2\left(m b-\sum_{i=1}^{m}\left(y_{i}-w x_{i}\right)\right)}\end{array}

分类任务

同样的,我们也可以利用线性模型,解决分类问题。经典函数为“单位阶跃函数”。

S(x)=\frac{1}{1+e^{-x}}

将线性模型输入x,可得到判别结果,结果大于零为一类,小于零为一类,等于零随机判别。

LDA(Linear Discriminant Analysis)线性判别分析

思路:设法画出一条直线,将样例投影到直线上,使得同类的投影点尽可能相近,异类样例的投影点尽可能远离,对新样本进行分类时,将其投影到这条直线上,再根据投影点的位置来确定新样本的类别。思路如下图,

优化过程为:最小化样本投影点的协方差,最大化类中心之间的距离

多分类学习

拆分策略可分为:One vs One, One vs Rest, Many vs Many 三类

One vs One:将样例每两个类为一组,构成学习器,测试时将每一个学习器的结果汇总,进行投票,票数多的则为预测结果。

One vs Rest:将N类样例分为N组,每一个为Ni和剩余样例进行比较,预测结果分为正例和反例,正例则为预测结果,若有多个正例,则选择置信度较高的作为预测结果。

Many vs Many:将若干个类作为正类,若干个其他类作为反类。可利用纠错输出码(ECOC:Error Correcting Output Codes),有N个学习器,其每次将一个或多个类别判定为正例或反例,从而可以得出“编码矩阵”。在输入时,可根据其通过输入的矩阵得到判定编码,计算其与各个类别的判定编码的海明距离(汉明距离)和欧式距离(空间距离),选取距离最小的编码所对应的类别即为预测结果。

对于以上三种分类方式,OvR只需训练N个分类器,OvO需训练N(N-1)/2个分类器,因此OvO的存储开销和测试时间开销通常比OvR大。但在考虑训练量时,OvO每次只使用两个样例,OvR每次都使用全部样例,在类别较多时,OvO的训练时间较短。在预测性能方面,两者差不多,关键取决于具体的数据分布。

对于MvM,编码越长,纠错能力越好,但是所需的训练的分类器也将增加,计算、存储开销都会较大。不同的拆解方式所形成的的类别子集的区分难度不同,因此其性能很难判定。

类别不平衡的问题

有时在训练集中,类别分布不平均,导致其训练的分类器很难对正确情景进行判断。此时,我们能够使用如下手段(再缩放)

若  \frac{y}{1-y}>\frac{m^{+}}{m^{-}} 则预测为正

其中,m+,m-分别为训练集中正例、反例数量

除此之外,还可以通过“欠采样”、“过采样”的方式,主动对训练集中的正例、反例数量进行干预。其代表性算法为“EasyEnsemble” 和“SMOTE”,分别为欠采样、过采样。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值