赞
踩
首先我们定义问题,线性回归要解决的问题就是根据给出的数据学习出一个线性模型。
例如我们最常说的身高和体重的关系,以及房屋面积和房价的关系,这里给出一个瑞典汽车保险数据集
数据集 可以直接复制出来用
两列分别表示
索赔要求数量
对所有索赔的总赔付,以千瑞典克朗计
数据前五行
108 392,5
19 46,2
13 15,7
124 422,2
40 119,4
我们按照这个数据集作出图如下
大概观察一下可以用线性模型去定义,现在的问题是根据现有的这个数据集合,我们要学习出一个模型,然后给出索赔要求数量我们能够预测总赔付。
下面给出两种解决方法,并分析这两种方法区别。
上面这个问题就是最简单的一元线性模型,首先看几个定义
分类问题
监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等)
回归问题
如果预测的变量是连续的,我们称其为回归
一元线性
回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。
多元线性
如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
对于二维空间线性是一条直线;对于三维空间线性是一个平面,对于多维空间线性是一个超平面
对于上面的数据集,我们可以用多条直线去拟合,那么怎么定义那一条直线是最优呢?
首先定义模型:
其中ei为样本误差
定义损失函数:
上面是损失函数,我们现在目的使得损失函数尽可能的小,就是求如上Q的最小值,函数求极值问题,这里就用到了导数,导数的意义是导数大于0的x处函数递增,导数小于0处x的函数递减,导数为0既为函数的极值点
上面x和y都是已知的数据集,β是我们要求的结果,两个函数两个未知数,就可以解方程了。
证明也很简单,这里给个证明的链接,剩下就是几次求和的事儿了。
首先我们假设模型:
而对于数据集合中n个个体,每个模型有:
表示成矩阵形式:
跟一元的一样,首先我们损失函数:
同样通过求偏导数为0解方程可以得到结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。