线性回归
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。