机器学习之线性回归方法

1. 多元线性回归

以预测房子价格为例,房子的属性除了其面积大小外,这里还有房子楼层数、房子年龄、厅室数等。也就是说一个房子的特征将不只一个,而是多个。这里用n表示特征数目,x(i)表示的是训练集中第i个样本的特征向量,x(i)j表示的第i个样本的第j个特征值,同时为每个记录增加一个属性x0=1.对于这个预测房价的问题我们首先要估计未知参数x0......xn的值,为此我们进行n次独立观测,得到n组数据样本,将它们带入方程可以得到一个方程组,我们将其矩阵化表示。

2.参数x0到xn的求解

我们需要求得参数,需要使用参数的最小二乘估计,我们需要选择x0-xn的参数使残差平方和得到最小

残差平方和就是,实际值减去预测值的平方。

2.1 梯度下降法

梯度下降法:就是将残差平方和对每一个特征进行偏导,这个得到的倒数可以类似于一坡度,我们需要不断的根据这点的坡度逼近最低点,需要不停的进行迭代。在梯度下降之前,有时候数据不同特征之间存在很大的差距,有的范围在1000-2000之间,而有的仅在0-10之间,这时候就会使得大数吃小数的情况,同时使得数据不便处理,为了使得数据的范围大致相同,我们需要对数据进行归一化。目前有三种归一化方法:

1)mapminmax,最大最小化方法,缺点:当新数据加入的时候,可能导致maxmin发生变化,需要重新定义。

2)log函数转换

3)z-score normalization:标准差标准化

算法原理:根据刚才得到的残差平方表示的方程组,对每一个特征的参数进行偏导,然后根据偏导不断迭代最终逼近残差最小的值,得到参数的估计值。

2.2 利用归一化方程

刚才我们得到了残差平方和的式子,利用微积分的极值法,我们对每一个参数进行偏导使得等于0,得到一组方程组,将其表示成矩阵形式,移项等矩阵运算就得到归一化方程。

2.3 两种求解方法的比较

1)梯度下降求解法:

优点:当Features数量很大的时候,就是特征数量很大的时候,梯度下降比归一化方程求解好。

缺点:需要将数据预处理,进行归一化,还要初始化学习速率,比较麻烦。

2)归一化方程:

优点:比较快速同时比较方便

缺点:当特征值特别多的时候比较慢,同时如果特征值之间存在多重共线性,导致x的转置乘以x将会没有逆矩阵,计算不出参数的估计值。

3.回归方程和回归参数的显著性检验

我们通过上面建立的回归模型到底因变量和自变量是否存在线性关系?这个还需要们对其进行假设检验进行验证。

总离差平方和SST:数据的真实值y减去真实值的平均值的平方。反映了数据的波动性大小。
残差平方和SSE:真实值减去观测值的平方。 反映了除去yx之间的线性关系之外的因素引起的数据y的波动。
回归平方和SSR:预测值减去真实值的平均值的平方。反映了线性拟合值与它们平均值的总偏差。

利用代数运算和正规方程组得到SST=SSR+SSE.所以SSR越大,说明由回归关系得到的观测值的波动性比例越大,就是说yx的线性关系越显著,拟合效果越好。自由度相应的也需要进行分解,n-1=(n-p-1)+p最后基于自由度的分解,我们建立方差分析表。SSR均方差等于MSR=SSR/P,MSE=SSE/(N-P-1),F=MSR/MSE。当假设yx1,x2,…xn不存在线性关系时候,F服从于F(p,n-p-1),尽管已经说明了xy存在了线性关系,但是每一个特征值x都对y存在显著的影响吗?

所以我们还需要对其进行单个参数的假设检验。接下来我们需要一个拟合优度,它对于衡量模型对样本观测值的拟合程度,在总的离差平方和中,回归平方和占得比例越大,说明拟合效果越来越好,于是通过回归平方和与离差平方和的比例作为判优的标准。它越接近1,说明模型的拟合优度越高。


 上一篇
matlab中mapminmax函数的总结 matlab中mapminmax函数的总结
01 mapminmax()函数mapminmax()函数主要是用来对数据进行归一化处理的函数,它把所有的数据都转换为(0,1)之间的数,目的就是取消各维数据间的数量别差别,防止大数吃小数的现象。 02 函数接口[Y,PS] = mapmi
2019-04-12 starjian
下一篇 
python批量爆破phpMyadmin python批量爆破phpMyadmin
使用python实现phpMyadmin的批量爆破0x01 脚本实现import requests from bs4 import BeautifulSoup as bp def attack(url,username,password):
2019-04-12 starjian
  目录