今天我们来介绍一下回归。回归在百度百科里面的定义是:回归是一种数学模型,研究一组随机变量(Y1 ,Y2 ,…,Yi)和另一组(X1,X2,…,Xk)变量之间关系的统计分析方法,又称多重回归分析。通常Y1,Y2,…,Yi是因变量,X1、X2,…,Xk是自变量。回归主要的种类有:线性回归、曲线回归、logistic回归等等。下面我们简单叙述一下这几种回归。
线性回归/曲线回归
一元:
对于一元线性回归而言,本质都是依据最小二乘法原理,拟合得到函数y=ax+b的参数a和b,使其值与实际值的残差平方和最小(这里残差平方和函数也叫做代价函数或者损失函数,可以理解为一个衡量参数好坏的目标函数),这里就不详细介绍了。曲线回归也同样,设好要回归的曲线,根据最小二乘法原理求得参数。
下面是matlab一元线性回归示例,可以使用内置函数regress、LinearModel等进行回归分析:
说到这里有必要提一下拟合和回归的区别——拟合的概念更广泛,拟合包含回归,还包含插值和逼近。拟合是一种数据处理的方式,不特指哪种方法.简单的说就是你有一组数据,觉得这组数据和一个已知的函数(这个函数的参数未定)很相似,为了得到最能表示这组数据特征的这个函数,通过拟合这种方式(具体的数学方法很多)求得参数.而回归是一种特定的数学方法,它可以实现数据拟合,得到函数的参数.也有些拟合得到的参数并非是函数的参数,如神经网络,得到的是这个神经网络的参数。
多元:
在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。原理和计算过程基本与一元线性回归相同,不同之处就是分析不同应变量的影响程度。matlab的regress命令帮助我们实现了逐步回归的操作,可以分布引入自变量,观察引入后的效果进行取舍,效果最好(可以通过拟合优度r^2来判断效果,拟合优度为回归平方和在总平方和中所占的比率,越接近1说明拟合效果越好)的自变量组合即为最终方案。
logistic回归
逻辑回归虽然名字里带着回归,但实质上是一种解决分类问题的算法,这里暂且把它归类为回归。二元逻辑斯蒂回归即为二分类,多元逻辑斯蒂回归即为多分类。逻辑斯蒂回归是在线性回归的基础上增加了一层映射函数(sigmoid:y=1/(1+e^(-x))),将得到的函数值与0.5作比较,大于0.5的判定为1,小于0.5的判定为0,保证输出值在[0,1]之间。
以下是我使用matlab画的sigmoid函数图像,可以看出这个函数可以满足我们01输出的需求。
至于多元逻辑斯蒂回归的输出则是不同取值及其概率,代价函数为交叉熵函数,数学模型如下所示:
以上就是我们今天介绍的回归模型,较为常见,属于数据类赛题的基本功,要参加数模国赛的同学请务必掌握。
版权归原作者 数模乐园—分享官 所有, 如有侵权,请联系我们删除。