线性模型
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了线性模型相关的知识,希望对你有一定的参考价值。
参考技术A 1.线性方程与非线性方程线性方程:代数方程如y = 2x + 5,其中任何一个变量都为1次幂,这种方程的图像为一条直线(平面),所以称为线性方程
非线性方程:y**2 = 2x + 5,因变量和自变量之间不是线性关系,如平方关系、对数关系、指数关系和三角函数关系等
2.基本形式
给定有m个属性描述的实例x=(x1,x2...,xm),其中xi是x在第i个属性上的取值,线性模型(linear model)试图学得一个通过属性组合的线性组合来进行预测的函数,即
f(x) = w1*x1 + w2*x2 +...+ wm*xm + b
线性模型形式简单、易于建模,但却蕴涵着机器学习中一些重要的基本思想。许多功能更为强大的非线性模型可以在线性模型的基础上通过引入层级结构或高维映射而得。
3.线性回归
线性模型试图学得f(x) = w*x + b,使得f(x)约等于y,如何确定w和b呢?这是一个组合问题,已知一些数据,如何求里面的未知参数,给出一个最优解。这是一个线性矩阵方程,直接求解很可能无法求解,有唯一解的数据集更是微乎其微,基本上都是解不存在的超定方程组。在这种情况下,我们将参数求解问题转化为误差最小化问题,求出一个最接近的解,这就是一个松弛求解。
均方误差作为回归任务中最常用的性能度量,因此我们可以试图让均方误差最小化,即
基于均方误差最小化来进行线性模型的求解方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的欧式距离之和最小。求解w和b使均方误差最小化的过程,称为线性回归模型的最小二乘“参数估计(parameterestimation)”。更一般的样本由d个属性描述,此时称为多元线性回归
第一步:把w和b吸收入向量形式w=(w,b),相应的把数据集D表示为一个m*(d+1)大小的矩阵X,其中每一行对应一个示例,改行的前d个元素对应于示例的d个属性值,最后一个元素恒置为1,当为满秩矩阵(full-rank matrix)或正定矩阵(positivedefinite matrix)时,有
然而,现实任务中往往不是满秩矩阵,例如在许多任务中我们会遇到大量的变量,其数目甚至超过样例数,导致矩阵的列数多余行数,此时可以解出多个w,他们都能使均方误差最小化,选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化。
4.对数线性回归
lny = wx + b
它实际上是在试图让e**(wx + b)逼近y,这里的对数函数起到了将线性回归模型预测的预测值与真实值标记联系起来的作用。
5.对数几率回归
将回归模型应用到分类模型中:找一个单调可微函数将分类标记y与线性回归模型的预测值联系起来。利用对数几率函数(logistic function)
y = 1/[1+e**-(wx + b)]
ln[y/(1-y)] = wx + b
若将y视为样本为正例的可能性,1-y视为样本为负例的可能性,两者的比值y/(1-y)称为几率(odds),反应了样本为正例的相对可能性,对几率取对数则得到对数几率(log odds,亦称为logit)。虽然模型名字叫对数几率回归,但实际是一种分类算法,算法的主要优点有:直接对分类的可能性建模,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题;它不仅预测类别,而是预测概率可以帮助决策;几率函数是任意阶可导的凸函数有很好的数学性质,现有的许多数值优化算法都可以直接用于求解最优解。
1.在什么情况下线性回归不必考虑偏置项b?
偏置项b(或者说是常数项)的变化体现出来的就是拟合曲线的上下整体浮动,可以看做是其他各个解释变量留下的bias的线性修正。因此在线性拟合过程中是需要考虑偏置项的。
如果目标变量的均值为0则不需要包含截距,那么我们对目标变量做减去均值向量(做“趋中化”sum(x)-m*mean(sum(x)) == 0)处理和标准化(把变量都进行“趋中化”处理,得到一个标准正态分布,都是经过零点的,这样会消除截距项)处理也不用包含截距。不过,我们一般都是看非标准化的统计结果,解释不同变量的偏作用。
2.利用多元回归的依据和理由一般是什么?
回归并不单单是一种方法,更是一种思想,关于因果关系的一种解释。无论是计量经济学,还是社会学等其他学科里面的因果解释,本质上的方法都是回归。因为,影响某一个事件的原因可能有许许多多,而并非单一原因,所以,在具体分析中,肯定不会使用一元。举个例子时间序列,逻辑模型,概率模型,无一例外都是用的GLS或者OLS,或者就是OLS衍生出来的其他模型,都是建立在最小二乘法基础上的。
3.证明,对于参数w,对数回归的目标函数是非凸的,但其对数似然函数是凸的。
解:要证明一个函数为凸函数可从以下两个方面考虑
1.其二阶导恒大于等于0
2.f[(x1+x2)/2]>=[f(x1)+f(x2)]/2
a)对数回归目标函数
令
则
取y对x的微分(),得:
取y对x二阶微分,得:
其二阶微分在y取(0.5,1)时小于0,因此其为非凸函数。
b)为方便表述向量转置符号忽略,令x=(x:1),x=xi,y=yi
则对数几率的对数似然函数
对其求一阶导,得:
对其求二阶导,得:
其个项均大于等于0,所以其为凸函数。
以上是关于线性模型的主要内容,如果未能解决你的问题,请参考以下文章