线性回归

1.机器学习的一些概念

有监督学习(supervised learning):使用预定义的“训练示例”集合,训练系统,

无监督学习(unsupervised learning):无监督学习适用于具有数据集但无标签的情况,比如你是一个T恤制造商,拥有一堆人的身体测量值。需要确定决定你生产的XS,S,M,L和XL号衬衫。

泛化能力(generalization ability):是指算法对新样本的适应能力

过拟合(over fitting):在训练数据不够多时,或者over-training时,经常会导致过拟合,比如我们识别叶子时训练集只有枫叶的图片,当测试集中有其他类型的叶子时就很有可能判定为不是叶子。可以通过正则化.,增加训练数据样本等方法

欠拟合(under  fitting):与过拟合相对应的就是欠拟合。可以通过增加特征点解决。

2.线性回归

 当一些输入的参数的函数值等于其函数值的线性组合为线性方程,最基本的当和  为标量的时候 。若 ,这时  的形式为

其中 

这里我们借助齐次坐标式避免将单独表示。记 。则得到了 

一元线性回归

清楚了以上的概念后,我们来推导线性回归的参数。首先是最简单的单特征的情况,也就是一元线性回归  。这里我们采用最小二乘法。

真值与估计值的差 。而最小二乘法就是求得   最小时的 

对于一元线性回归。我们希望利用最小二乘法求得参数 和 

将式子   展开得到  

分别对 和 求偏导得到

 

 

 联立两个式子,这里将  入第二个式子中就可以求出

  ,

多元线性回归

对于 多元线性回归

           

我们需要求得 。对  求偏导得到

另上式为0,即可求得

 

3.sklearn 线性回归

sklearn中已经实现了多元线性回归,我们用下面的方法使用

from sklearn import linear_model
lg = linear_model.LinearRegression()

LinearRegression函数实现了多元线性回归。下面是各参数的解释

 fit_intercept : 默认为True,是否计算该模型的截距。

normalize: 默认为false. 当fit_intercept设置为false的时候,这个参数会被自动忽略。如果为True,回归器会标准化输入参数:减去平均值,并且除以相应的L2范数。

copy_X : 默认为True。

n_jobs: int 默认为1。

posted @ 2019-03-01 21:01  mambakb  阅读(242)  评论(0编辑  收藏  举报