首页 > 程序开发 > 综合编程 > 其他综合 >

机器学习之线性回归

2017-02-09

机器学习之线性回归:在统计学中,线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。

机器学习之线性回归:在统计学中,线性回归是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。

举个栗子:
我们要预测房价。当前自变量(输入特征)是房子面积x,因变量是房价y.给定了一批训练集数据。
我们要做的是利用手上的训练集数据,得出x与y之间的函数f关系,并用f函数来预测任意面积x对应的房价。

假设x与y是线性关系,则我们可以接着假设一元线性回归函数如下来代表y的预测值:

带入x,使得h(x)的值与实际值y越接近越好,通常用两者之间的均方差的大小来决定当前未知参数是否是最优值。即我们要估计这个回归函数,本质上就是来估计的值。

多变量的情形:

常用的成本函数(cost function)是最小二乘法:

其中:
表示向量x中的第i个元素;
表示向量y中的第i个元素;
表示回归函数;
m为训练集的数量;

为什么使用最小二乘法呢?
下面我们使用极大似然估计解释最小二乘(推导过程):

这里残差是独立同分布的,服从均值为0,方差为某定值的高斯分布。(原因:中心极限定理)

由残差服从均值为0,方差为某定值的高斯分布,则

其中残差等于真实值减去预测值,代换有:

则似然函数即为所有样本出现的概率乘积,也就是同时看到y1, y2, y3,…… ,ym的概率

对数似然函数为:

去掉上式的常数项,就得到了我们想要的公式:

接下来看一下的解析式的求解过程
目标函数:

对目标函数求梯度:

最后得到参数的解析式

不可逆或者防止过拟合,增加扰动

其中I是单位阵,出现过拟合的原因是求得的参数θ比较大,函数出现振荡,所以要解决过拟合就得使θ变小


来个简便的记忆方法来记住这个结论:


将目标函数增加平方和损失:

后面的惩罚项防止过拟合。

梯度下降算法

梯度方向

批量梯度下降算法(BGD)(这种方式,是将所有的样本M都参与进去训练,这种方式当样本量比较大的话,计算量就会变得很大,所以这种方式适用的范围,仅是对那些样本较小的数据而言)

随机梯度下降算法(SGD)(大体思路: 在给定的样本集合M中,随机取出副本N代替原始样本M来作为全集,对模型进行训练.这种训练由于是抽取部分数据,所以有较大的几率得到的是,一个局部最优解.但是一个明显的好处是,如果在样本抽取合适范围内,既会求出结果,而且速度还快.)

与批量梯度下降对比,随机梯度下降求解的会是最优解吗?
(1)批量梯度下降—最小化所有训练样本的损失函数,使得最终求解的是全局的最优解,即求解的参数是使得风险函数最小。

(2)随机梯度下降—最小化每条样本的损失函数,虽然不是每次迭代得到的损失函数都向着全局最优方向, 但是大的整体的方向是向全局最优解的,最终的结果往往是在全局最优解附近。

折中:mini-batch
这是介于以上两种方法的折中,每次随机选取大小为b的mini-batch,bm, b通常取10,或者其他,这样既节省了计算整个批量的时间,同时用mini-batch计算的方向也会更加准确。

相关文章
最新文章
热点推荐