Linear models for regresion(回归)

来源:互联网 发布:三国志9需要优化哪些 编辑:程序博客网 时间:2024/06/05 15:51

线性回归模型使用的场景是有监督学习(supervised learning)。

例如下例给定训练样本集, 输入特征是二维的,让我们去预测房价。 我们就可以使用线性回归模型去求解。 例如多项式拟合价格和输入二维特征向量的关系, 我们模型的参数就是多项式前面的那些系数。

 

 

首先回归(regression)的目的就是指根据给定一个d维的输入特征向量x, 预测出一个或者多个取值连续的target variables t 的值。

线性回归模型常用的一个特殊的例子就是多项式拟合。 不过线性回归模型远非只有多项式, 而是还有很多的类型, 这主要是更具basis function的类型来看的。 尽管线性回归模型并不是输入特征向量的一个线性函数, 但是我们之所以称之为线性模型是因为他们是basis的线性函数。 更确切的说这些模型是模型参数的线性函数。 模型参数就是basis function 前面的weight参数, 即拟合函数是linear combination of basis function。

或者写成利用:

改写成如下:

其中:

 

这些basis functions 可以是输入特征向量的非线性函数。 常见的可以作为basis functions的函数类有多项式函数类, Gaussian basis functions如下:

亦可以是sigmoidal basis function:

亦可以是logistic sigmoid function:

注意, tanh函数与logistic sigmoid 相关联, 如下:

这意味着对logistic sigmoid functions 进行linear combination是和使用tanh函数的linear combinations 基本上等价的。

或者我们也可以使用fourier basis作为线性回归模型的一组基。 每一个傅里叶基对应的是一个频率分量。

可以作为线性回归模型的基很多, 不一而足。

不难看出, 线性模型只是一个浅层的学习模型而已, any way, 这里不考虑这些了, 只谈线性回归模型。

 要想让机器学习下去, 我们得给机器一个目标函数, 找出最小化这个函数的参数就是我们的目的所在。

假设我们要找的用于拟合函数如下:

给定训练样本集合, 我们的就是要使得对于每一个样本, 我就的目的就是找出参数向量, 使得越接近越好, 于是我们提出了如下的学习目标函数, 有称为cost function:

我们的学习任务就是找到使得上述函数最小的。  主要上述的代价函数是参数的二次函数, 即是一个关于的凸函数, 所以保证了最优解的存在。

为了最小化上述的代价函数, 我们使用的算法就是gradient descent算法。 算法流程如下:

(1)给定参数的初始化值(注意是一个向量)

(2)按照如下方式进行更新参数:

因为是一个向量, 所以上面是对每一个分量进行迭代更新。 超参数α是learning rate(学习率)。  每一次更新的时候我们沿着梯度的方向(即代价函数J下降最快的方向)对每一个参数进行更新。 直至收敛。

其中梯度的计算公式如下:

当只有一个训练样本的时候, 对参数的更新规则如下:

(batch gradient descent)算法参数更新的一种办法就是把所有的训练样本都计算到代价函数中, 每一次更新的时候都要考虑所有的训练样本:

问题来了, 当我们的训练样本集合太大, 每一次更新参数的时候都要把所有的样本考虑进来显然是computationally expensive, 此时我们可以选择sequential Learning, 又称为online learning(在线学习)。 在线学习就是我们每一次只考虑一个样本(或者一小组样本, 称为Minibatch), 这样参数更新的时候, 使用的是随机梯度下降的优化参数算法(stochastic gradient descent)。 算法如下(这里我们minibatch设置为一个样本):

 

我们可以利用线性代数的知识, 推导出上述的线性回归的求出最优参数的矩阵表达式子:

首先我们把训练样本集中的所有的训练样本的输入特性向量使用矩阵的形式表示如下:

样本的对应的回归值对应如下:

我们的代价函数表示如下:

要求出代价函数的极值点, 我们需要对J关于参数求导, 设置为0, 得到如下公式:

所以, 最佳的参数的公式化表示为:

下面给出上述算法的概率学上的解释。

我们把要预测的目标函数看成一个确定的hyposis 加上高斯白噪声, 如下:

其中随机噪声分布如下:

这意味着我们的样本(我们这里对目标变量建模, 所以是descriminative model):

由于我们假设样本均取自某一个分布, 服从IID的, 我们现在的目的就是使得样本集合出现的概率达到最大。  下面是我们的目标函数:

也就是最大化如下的目标函数:

两边去对数, 得到如下:

于是最大化L等价于最小化如下的式子:

于是这从概率上解释了为什么我们在最开始选择最小二乘作为代价函数。

 

推广到选择一般的基作为线性回归系统的基函数, 我们有如下的式子(注意以下采用w表示模型参数)。

训练样本集(N 个训练样本)的特征向量为:

对应的目标变量为:

同样的我们假设:

其中我们假设预测是一个随机变量, 偏差服从高斯分布, 此外:

 

于是我们的目标函数如下:

按照同样的方式, 我们最大化上面式子等价于最小化下面的式子:

我们求导, 设置为0, 求出对应参数的表达式子如下:

其中,

 

 

线性模型很容易过拟合(overfiting), 因为一旦我们模型的参数过多的话, 分类器的参数空间变大, 复杂度变大, 容易出现过拟合现像。  从而造成模型的泛化能力大大削弱。 但是如果我们模型的参数过少, 就会导致欠拟合。 所以为了避免过拟合, 我们在目标函数中引入对权重参数的regularizarion。 具体如下:

regularizer的一种选择办法就是:

所以我们的目标函数变成了:

更一般的, 我们改进后的代价函数如下:

其中, 超参数控制着上述两项的tradeoffs, 这个参数最佳大小的确定需要借助于验证集。

q可以去不同的值, 当q = 1的时候, 得到的就是稀疏的参数:

 

 

 

0 0
原创粉丝点击