线性模型——西瓜书

笔记前一部分主要是对机器学习预备知识的概括,包括机器学习的定义/术语。
学习器性能评估\度量以及比较。本章之后,将主要针对具体学习算法进行理解总结。主要概述第3章内容—线性模型

线性模型

谈及线性模型,其实我们很早就已经与它打过交道,还记得高中数学必修3课本中那个顽皮的“最小二乘法”吗?这就是线性模型的经典算法之一
根据给定的 ( x , y ) (x,y) (x,y)点对。,求出一条与这些点拟合效果最好的直线
y = a × x + b y = a \times x + b y=a×x+b 之前我们利用下面的公式便可以计算出拟合直线的系数 a , b a,b a,b,从而对于一个新的 x x x可以计算其的 y y y的值。前面我们提到:
在机器学习术语中,当预测值为连续值时,称为回归问题。离散值时为分类问题。本章先从线性回归任务开始:接着讨论分类和多分类问题。:
b = x 1 ⋅ y 1 + x 2 ⋅ y 2 + . . . + x n ⋅ y n − n x ‾ ⋅ y ‾ X 1 2 + X 2 2 + . . . . + X n 2 − n X ‾ 2 b = \frac{x_1\cdot y_1 + x_2\cdot y_2 +...+ x_n \cdot y_n - n\overline{x}\cdot \overline{y}}{X^2_1 + X^2_2 + ....+ X^2_n - n\overline{X}^2} b=X12+X22+....+Xn2nX2x1y1+x2y2+...+xnynnxy

a = y ‾ − b x ‾ a = \overline{y} - b\overline{x} a=ybx

线性回归

线性回归问题就是试图学到一个线性模型尽可能准确地预测新样本的输出值,例如:通过历年的人口数据预测2017年人口数量。在这类问题中,往往我们会先得到一系列的有标记数据,例如:2000–>13亿…2016–>15亿,这时输入的属性只有一个,即年份;也有输入多属性的情形,假设我们预测一个人的收入,这时输入的属性值就不止一个了,例如:(学历,年龄,性别,颜值,身高,体重)–>15k。
有时这些输入的属性值并不能直接被我们的学习模型所用,需要进行相应的处理,对于连续值的属性,一般都可以被学习器所用,有时会根据具体的情形作相应的预处理,例如:归一化等;对于离散值的属性,可作下面的处理:

  • 属性值之间存在“序关系”,则可以将其转化为连续值,例如:身高属性分为“高”“中等”“矮”,可转化为数值: ( 1 , 0.5 , 0 ) (1,0.5,0) (1,0.5,0)
  • 若属性之间不存在序关系,则通常将其转换为向量的形式:
    性别属性分为“男”“女”,可转化为二维向量
    {(1,0),(0,1)}
    当输入属性只有一个的时候,就是最简单的情形。
    也就是我们高中时候最熟悉的最小二乘法。首先计算出每个样本预测值与真实值之间的误差并求和,通过最小化均方误差MSE,使用求偏导等于零的方法计算出拟合直线
    y = W X + b y = WX + b y=WX+b两个参数 W W W b b b。 计算过程如下图所示:
    ( W ∗ , b ∗ ) = a r g   min ⁡ ( w , b ) ∑ i = 1 m ( f ( x i ) − y i ) 2 = a r g   min ⁡ w , b ∑ i = 1 m ( y i − w x i − b ) 2 (W^*,b^*) = arg\,\min_{(w,b)} \sum_{i =1}^m{(f(x_i) - y_i)^2} \\ = arg\,\min_{w,b}\sum_{i = 1}^m{(y_i - wx_i - b)^2} (W,b)=arg(w,b)mini=1m(f(xi)yi)2=argw,bmini=1m(yiwxib)2

E ( w , b ) = ∑ i = 1 m ( y i − w x i − b ) 2 E_{(w,b)} = \sum_{i = 1}^m(y_i - wx_i - b)^2 E(w,b)=i=1m(yiwxib)2

∂ E ( w , b ) ∂ w = 2 × ( w ∑ i = 1 m x i 2 − ∑ i = 1 m ( y i − b ) x i ) = 0 \frac{\partial E_{(w,b)}}{\partial w} = 2 \times(w\sum_{i = 1}^mx^2_i - \sum_{i=1}^m(y_i - b)x_i) = 0 wE(w,b)=2×(wi=1mxi2i=1m(yib)xi)=0

∂ E ( w , b ) ∂ b = 2 ( m b − ∑ i = 1 m ( y i − w x i ) ) = 0 \frac{\partial E_{(w,b)}}{\partial b} = 2(mb - \sum_{i = 1}^m(y_i - wx_i)) = 0 bE(w,b)=2(mbi=1m(yiwxi))=0

经验:后期要求用手推导一遍,全部都将其搞定都行啦的理由!

当输入属性有多个的时候,对于一个样本有 d d d个属性:
( x 1 , x 2 , . . . x d , y ) , 则 y = w x + b (x_1,x_2,...x_d,y),则 y = wx + b (x1,x2,...xd,y),y=wx+b需要写成:
y i = w 1 x i 1 + w 2 x i 2 + ⋯ + w d x i d + b y_i = w_1x_{i1} + w_2x_{i2} + \cdots + w_dx_{id} + b yi=w1xi1+w2xi2++wdxid+b

通常对于多元问题,常常使用矩阵的形式来表示数据。在本问题中,将具有m个样本的数据集表示成矩阵X,将系数w与b合并成一个列向量,这样每个样本的预测值以及所有样本的均方误差最小化就可以写成下面的形式:

同样地,我们使用最小二乘法对 w w w b b b进行估计,令均方误差的求导等于0,需要注意的是,当一个矩阵的行列式不等于0时,我们才可能对其求逆,因此对于下式,我们需要考虑矩阵(X的转置*X)的行列式是否为0,若不为0,则可以求出其解,若为0,则需要使用其它的方法进行计算,书中提到了引入正则化,此处不进行深入。

另一方面,有时像上面这种原始的线性回归可能并不能满足需求,例如:y值并不是线性变化,而是在指数尺度上变化。这时我们可以采用线性模型来逼近 y y y的衍生物,例如 l n y lny lny,这时衍生的线性模型如下所示,实际上就是相当于将指数曲线投影在一条直线上,如下图所示:

l n y = w T x + b lny = w^Tx + b lny=wTx+b

更一般地,考虑所有 y y y衍生物的情形,就得到了**“广义的线性模型**”(generalized linear model),其中,g(*)称为联系函数(link function)。

y = g − 1 ( w T x + b ) y = g^{-1}(w^Tx + b) y=g1(wTx+b)

线性几率回归

回归就是通过输入的属性值得到一个预测值,利用上述广义线性模型的特征,是否可以通过一个联系函数,将预测值转化为离散值从而进行分类呢?线性几率回归正是研究这样的问题。对数几率引入了一个对数几率函数(logistic function),将预测值投影到0-1之间,从而将线性回归问题转化为二分类问题

y = 1 1 + e − x y = \frac{1}{1 + e^{-x}} y=1+ex1

经验:学习阶段,先自己慢慢的将其学会,学习数学公式推导那本书后,在开始将其推导都行啦的理由与打算。全部都推导都行啦的样子!另外研究画图添加颜色。

若将 y y y做样本为正例的概率 ( 1 − y ) (1-y) 1y看做样本为反例的概率,则上式实际上使用线性回归模型的预测结果器逼近真实标记的对数几率。因此这个模型称为**“对数几率回归”(logistic regression),也有一些书籍称之为“逻辑回归”。下面使用最大似然估计的方法来计算出 w w w b b b两个参数的取值,**下面只列出求解的思路,不列出具体的计算过程

线性判别分析

线性判别分析(Linear Discriminant Analysis,简称LDA),其基本思想是:将训练样本投影到一条直线上,使得同类的样例尽可能近不同类的样例尽可能远。如图所示:

想让同类样本点的投影点尽可能接近,不同类样本点投影之间尽可能远,即:让各类的协方差之和尽可能小,不用类之间中心的距离尽可能大。基于这样的考虑,LDA定义了两个散度矩阵
各类之间的协方差距离,不同类之间的中心距离。

  • 类内散度矩阵
    在这里插入图片描述

  • 类间散度矩阵

因此得到了LDA的最大化目标:“广义瑞利商”(generalized Rayleigh quotient):

从而分类问题转化为最优化求解w的问题,当求解出 w w w后,对新的样本进行分类时,只需将该样本点投影到这条直线上,根据与各个类别的中心值进行比较,从而判定出新样本与哪个类别距离最近。求解w的方法如下所示,使用的方法为 λ λ λ乘子。


经验:南瓜书进度慢一点,会自己推导都行啦的样子与打算。

若将 w w w看做一个投影矩阵,类似PCA的思想,则LDA可将样本投影到N-1维空间(N为类簇数),投影的过程使用了 类别信息(标记信息) 类别信息(标记信息) 类别信息(标记信息),因此LDA也常被视为一种经典的监督降维技术
要求:南瓜书公式自己一步一步地推导,然后会自己提到其他的样子都行啦的回事与打算。

多分类学习

现实中我们经常遇到不只两个类别的分类问题,即多分类问题,在这种情形下,我们常常运用“拆分”的策略,通过多个二分类学习器来解决多分类问题,即将多分类问题拆解为多个二分类问题,训练出多个二分类学习器,最后将多个分类结果进行集成得出结论。最为经典的拆分策略有三种: “一对一”( O v O )、“一对其余”( O v R )和“多对多”( M v M ) “一对一”(OvO)、“一对其余”(OvR)和“多对多”(MvM) 一对一OvO)、一对其余OvR)和多对多MvM,核心思想与示意图如下所示。

要求:会自己使用代码与南瓜书数学公式推导,老老实实地解决多分类问题
每个类别有多个样本,会自己选择良好的多分类方法。

类别不平衡的问题

类别不平衡(class-imbanlance)就是指分类问题中不同类别的训练样本相差悬殊的情况,例如正例有900个,而反例只有100个,这个时候我们就需要进行相应的处理来平衡这个问题。常见的做法有三种:

  • 训练样本较多的类别中进行“欠采样”(undersampling),比如从正例中采出100个,常见的算法有:EasyEnsemble
  • 在训练样本较少的类别中进行“过采样”(oversampling),例如通过对反例中的数据进行插值,来产生额外的反例,常见的算法有SMOTE。
  • 直接基于原数据集进行学习,对预测值进行“再缩放”处理。其中再缩放也是代价敏感学习的基础。
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

big_matster

您的鼓励,是给予我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值