什么是线性模型
根据给定的(x,y)点对,求出一条与这些点拟合效果最好的直线y=ax+b,之前我们利用下面的公式便可以计算出拟合直线的系数a,b(3.1中给出了具体的计算过程),从而对于一个新的x,可以预测它所对应的y值。
在机器学习的术语中,当预测值为连续值时,称为“回归问题”,离散值时为“分类问题”
线性回归
线性回归问题就是试图学到一个线性模型尽可能准确地预测新样本的输出值:对于有标记的数据,根据其属性个数的不同,其拟合方式也不同:
- 当输入属性只有一个时 ,直接采用“最小二乘法(Euclidean distance)”,首先计算出每个样本预测值与真实值之间的误差并求和,通过最小化均方误差MSE,使用求偏导等于零的方法计算出拟合直线y=wx+b的两个参数w和b,计算过程如下图所示:
- 当输入属性有多个时 ,例如对于一个样本有d个属性{(x1,x2…xd),y},则y=wx+b需要写成:
y i = ω 1 x i 1 + ω 2 x i 2 + . . . ω d x i d + b y_{i} = \omega_{1}x_{i1} + \omega_{2}x_{i2} + ...\omega_{d}x_{id} + b yi=ω1xi1+ω2xi2+...ωdxid+b
且具有m个样本的数据集表示成矩阵X,将系数w与b合并成一个列向量,这样每个样本的预测值以及所有样本的均方误差最小化就可以写成下面的形式:
然而,对于y值并不是线性变化,而是在指数尺度上变化的情况上述过程往往不能满足需求。此时需要采用线性模型来逼近y的衍生物,例如 l n ( y ) ln(y) ln(y), 此时衍生的线性模型如下所示,实际上就是相当于将指数曲线投影在一条直线上,如下图所示:
l n ( y ) = ω T x + b ln(y) = \omega^Tx + b ln(y)=ωTx+b
更一般地,考虑所有y的衍生物的情形,就得到了“广义的线性模型”(generalized linear model),其中,g(*)称为联系函数(link function)
y = g − 1 ( ω T x + b ) y = g^{-1} (\omega^Tx+ b) y=g−1(ωTx+b)
线性几率回归
回归就是通过输入的属性值得到一个预测值,利用上述广义线性模型的特征,是否可以通过一个联系函数,将预测值转化为离散值从而进行分类呢?线性几率回归正是研究这样的问题。对数几率引入了一个对数几率函数(logistic function),将预测值投影到0-1之间,从而将线性回归问题转化为二分类问题。
此时,若将y看做样本正例的概率,(1-y)看做是样本反例的概率,则上式实际上使用线性回归模型的预测结果器逼近真实标记的对数几率。因此这个模型称为“对数几率回归”(logistic regression),也有一些书籍称之为“逻辑回归”。下面使用最大似然估计的方法来计算出w和b两个参数的取值:
线性判别分析
线性判别分析(Linear Discriminant Analysis,简称LDA),其基本思想是:将训练样本投影到一条直线上,使得同类的样例尽可能近,不同类的样例尽可能远。如图所示:
想让同类样本点的投影点尽可能接近,不同类样本点投影之间尽可能远,即:让各类的协方差之和尽可能小,不用类之间中心的距离尽可能大。基于这样的考虑,LDA定义了两个散度矩阵。这里引入散度的概念:https://www.cnblogs.com/geoffreyone/p/16179968.html
- 类内散度矩阵(within-class scatter matrix)
- 类间散度矩阵(between-class scaltter matrix)
得到了LDA的最大化目标:“广义瑞利商”(generalized Rayleigh quotient):