statistical

机器学习之线性回归

2019-03-02  本文已影响2111人  你要好好学习呀

     线性回归是一种回归分析技术.回归分析就是利用样本(已知数据),产生拟合方程,从而对未知数据进行预测,回归在于分析自变量与因变量之间的关系。线性回归属于有监督学习,因此方法和监督学习应该是一样的,先给定一个训练集,根据这个训练集学习出一个线性函数,然后测试这个函数训练的好不好(即此函数是否足够拟合训练集数据),挑选出最好的函数(cost function最小)即可;

首先来了解一些字母的含义:m-训练集样本的数量;x-输入变量/特征;y-输出变量/要预测的目标变量;(x,y)-表示一个训练样本;(x(i),y(i))-(i)是上标:表示第i个训练样本,即表示表格中的第i行;x_{1} 、x_{2} 、...x_{n} 表示特征向量,n表示特征向量的个数;h_{\theta} (x)称为假设函数,h是一个引导从x得到y的函数;

一个例子:

数据:工资和年龄(2个特征)

目标:预测银行会贷款给我多少钱(标签)

考虑:工资和年龄都会影响银行最终的贷款数额,那么它们各自有多大的影响呢?

假设\theta _{1} 表示年龄的参数,\theta _{2} 表示工资的参数:(\theta _{1} \theta _{2} 的取值不同,得到的假设函数h_{\theta } (x)不同,我们需要找到一组\theta 值,使假设函数表示的直线,尽量地与训练集中的数据点很好的拟合)(这里的\theta 是参数的向量表示)

误差:

真实值和预测值之间肯定要存在差异(用\varepsilon 来表示误差),则对于每个样本来说,有:

注意点:

每个数据点针对于模拟方程的误差ε(i),是独立的并且具有相同的分布,并且服从均值为0方差为\theta  ^2的高斯分布 (模型绝大多数情况下浮动不会太大,极少数情况下浮动会比较大)

数学知识:高斯分布(正态分布)的概率密度函数为:

由于误差服从高斯分布:

这里的L(\theta)表示似然函数----根据样本去估计参数值----用来确定什么样的参数跟我们的数据组合后更接近于真实值----成为真实值的可能性越大越好(概率值越大越好)--最大似然估计

对数似然:--乘法难解加法比较容易,对数里面加乘法可以转换为加法

为了使似然函数(对数似然函数)越大越好,则需要使J(\theta )越小越好。

这里定义线性回归的代价函数:

可见,代价函数J(\theta )为最小二乘模型。

J(\theta )求偏导:--凸函数(凸优化),偏导等于0

\theta =(X X^T )^(-1) X^Ty  --根据此公式可以利用正规方程法来求解\theta

 注意点:特征方程法得到的是解析解,无需迭代,也没有设置学习速率的繁琐,但是求解正规方程需要求矩阵的逆,然而不是所有的矩阵都可逆,而且有些可逆矩阵的求逆极其耗费时间,所以特征方程法看似简单,其实使用场景并不多。只有当特征值比较小的时候,可以考虑使用特征方程法。

 X^T X不可逆,可能有两个原因:

1.列向量线性相关,即训练集中存在冗余特征,此时应该剔除掉多余特征;

2.特征过多,此时应该去掉影响较小的特征,或使用“正则化”。

当样本总数 m 小于等于特征数量 n 时,  一定不可逆。

 求解参数\theta 最常用的方法是使用梯度下降法,由于该方法内容较多,我将使用单独一篇文章介绍。

上一篇下一篇

猜你喜欢

热点阅读