Day3 《机器学习》第三章学习笔记

Posted 洪卫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day3 《机器学习》第三章学习笔记相关的知识,希望对你有一定的参考价值。

  这一章也是本书基本理论的一章,我对这章后面有些公式看的比较模糊,这一会章涉及线性代数和概率论基础知识,讲了几种经典的线性模型,回归,分类(二分类和多分类)任务。

3.1 基本形式

       给定由d个属性描述的示例 x =(x1;x2;… ;xd),其中xi是x在第i个属性上的取值,线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即:

f(x) = w1x1 + w2x2 + … + wdxd + b

一般用向量形式写成:

f(x) = wTx + b

其中x =(x1;x2;… ;xd),w和d学得之后,模型就得以确定。

       线性模型,形式简单、易于建模,蕴含着机器学习中一些重要的基本思想,许多功能更为强大的非线性模型(nonlinear model)可在线性模型的基础上通过引入层级结构或高维映射而得,此外,由于w直观表达了各属性在预测中的重要性,因此线性模型有很好的可解释性(comprehensibility)。例如在西瓜问题中学得“f好瓜(x) = 0.2*x色泽 + 0.5*x根蒂 + 0.3*x敲声 + 1”。

 

3.2 线性回归

       给定数据集 D = {(x1, y1), (x2, y2), … , (xm, ym)},其中xi = (xi1;xi2;… ;xid),yi ∈ R。“线性回归(linear regression)”试图学得一个线性模型尽可能地预测实值输出标记。

线性回归试图学得

 

我们要去确定w和b,在2.3节介绍过,均方误差(2.2)是回归任务中最常用的性能度量,因此我们可试图让均方误差最小化,即:

 

w*, b* 表示w和b的解。

       均方误差,有非常好的几何意义,对应了常用的欧几里得距离或简称“欧氏距离(Euclidean method)”,在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小

       求解w和b使最小化的过程,叫做线性回归模型的最小二乘参数估计(parameter estimate)”,然后E(w,  b)分别对w和b求导,得到:

 

然后令上面两个式子为零,求得w和b最优解的闭式(closed-form)解:  

 

其中 为x的均值。

       更一般的,数据集D,样本由d个属性描述,此时我们试图学得:

 

这称为“多元线性回归(multivariate linear regression)”(这部分涉及公式教繁,线性代数知识具体推导书上)

       我们希望线性模型的预测值逼近真实标记y时,就得到了线性回归模型,为便于观察,写作:

 

我们要让输出标记y在指数尺度上变化,可做变化:

 

这就是“对数线性回归(log-linear regression)”,它实际上是在试图让逼近y,下图很明了:

 

更一般的,考虑单调可微函数g(*),令:

 

这样得到的模型称为“广义线性模型(generalized linear model)”,其中函数g(*),称为“联系函数(link function)”。显然,对数线性回归是广义线性模型在g(*) = ln(*)时的特例。

 

3.3 对数线性回归

       考虑二分类任务,其输出标记y∈{0, 1},而线性回归模型产生的预测值 是实值,于是,我们需将实值转换为0/1值,最理想是“单位阶跃函数(unit-step function)”

 

即若预测值z大于零就判为正例,小于零就判为反例,预测值为临界值零则可任意判别,如下图:

 

对数几率函数(logistic function)是这样一个常用的替代函数:

 

将对数几率函数作为g-(*)带入,得:

 

整理一下:

 

若将y视为样本x作为正例的可能性,则1-y是其反例可能性,两者比值:

 

称为“几率(odds)”,反映了样本x作为正例的相对可能性,然后对几率取对数得“对数几率(log odds,也称logit)”:

 

由此看出,实际上面在用线性回归模型的预测结果去逼近真实标记的对数几率,因此,其对应的模型称为“对数几率回归(logistic regression,也称logit regression)”。要注意的是,虽然它的名字是“回归”,但实际上确实一种分类学习方法。

 

3.4 线性判别分析

       线性判别分析(Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法,在二分类问题上最早由[Fisher, 1936]提出,所以也叫做“Fisher判别分析”。

       LDA的思想非常朴素:给定训练样例集,设法将样例投影到一条直线上,使得同类样例的投影点尽可能接近、异类样例的投影点尽可能远离,下面这个图就一目了然:

 

后续推导过程在书上。

 

3.5 多分类学习

       现实中常见遇到多分类任务。有些二分类学习方法可直接推广到多分类。但多数情况下,要基于一些基本策略,利用二分类学习器来解决多分类问题。

       不失一般性,考虑N个类别C1, C2, … , CN,多分类学习的基本思路是“拆解法”,即将多分类任务拆分为若干个二分类任务求解。最经典的拆分策略有三种:“一对一(One vs. One,简称OvO)”、“一对余(One vs. Rest,简称OvR)”和“多对多(Many vs. Many,简称MvM)”。

 

3.6 类别不平衡问题

 

(阅读后续章节,待续)

以上是关于Day3 《机器学习》第三章学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

python学习笔记Day3

python学习笔记 Day3

《机器学习》第三章 决策树学习 笔记加总结

第二周 day3 python学习笔记

python学习笔记-Day3

day3-python学习笔记