线性回归

                     

贡献者: xzllxls

预备知识 函数(高中),几何矢量的内积,回归

   线性回归(Linear regression)是一种利用线性函数对自变量(特征)和因变量之间的关系进行建模的方法。线性回归是机器学习中一种广泛使用的基本回归算法。含有有多个特征的线性回归称为多元线性回归。

   假设有 $n$ 个特征(自变量)$x_1$,$x_2$,...,$x_n$,一个输出变量 $y$,线性回归的一般形式表示如下:

\begin{equation} y=f( \boldsymbol{\mathbf{x}} )=w_1x_1+w_2x_2+...+w_nx_n+b~. \end{equation}
其中,系数 $w_1$,$w_2$,...,$w_n$ 为特征的权重,$b$ 为偏置。上式也可以写成向量的形式:
\begin{equation} y=f( \boldsymbol{\mathbf{x}} )= \boldsymbol{\mathbf{w}} ^T \boldsymbol{\mathbf{x}} +b~. \end{equation}
其中,$ \boldsymbol{\mathbf{x}} = [x_1,x_2,...,x_n]$,$ \boldsymbol{\mathbf{w}} = [w_1,w_2,...,w_n]$.

   一个一元线性回归的示意图如下:

图
图 1:示意图

   图中,蓝色表示数据点,红色直线表示最终求得的线性回归结果。

   线性回归适合处理的是数值型数据。但也可以处理标签型数据,此时,须要先对标签数据做连续化预处理。

   例如,性别,有两个可能的取值:男、女。为了将性别作为特征送给线性回归使用,可以设男=0,女=1.又如,苹果大小,这个特征,本来有三个标签取值:大、中和小。我们可以令小=1、中=2、大=3,然后再作为特征以便回归使用。

   值得注意的是,不是所有标签型数据的特征都可以按照上述方法连续化。考察前面两个例子,其特征的取值是有偏序关系的,因而可以直接按照序关系取数值做连续化。然而,一个没有序关系的特征,就不能直接按照上述方法处理。举个例子,颜色,可能取得的值为:红、绿和蓝。那么,我们就不好直接令红=1,绿=2,蓝=3.因为它们之间没有既定的顺序,如果我们直接赋值 $1$、$2$、$3$,就会人为引入一个顺序关系,从而可能会带来问题。此时,可以采用的解决办法是,采用一个三维向量来表示三个特征的取值。设 $x$、$y$、$z$ 分别表示是否为红、绿、蓝。若是,则为 1,否则为 0.,那么,红、绿、蓝三种颜色可以分别表示为 $[1,0,0]$、$[0,1,0]$ 和 $[0,0,1]$。这样做的好处是,避免人为引入一个顺序关系。

1. 实战操作

   前面介绍了线性回归的基本概念和理论。接下来,介绍一下在实际应用时,如何对数据做线性回归分析。实际上,有很多现成的软件包能够提供了线性回归功能。我们分别做一些介绍。

WEKA

   打开软件,点击启动界面右侧的 Explorer 大按钮,打开数据处理窗口。

   第 1 步,打开待处理数据集。点击 Open file...,在弹出的对话框中,选择数据集即可。这里选择 cpu.afff 数据集。

图
图 2:打开数据集

   第 2 步,准备选择建模算法。(1)点击 Classify;(2)点击 Choose 按钮,选择算法。如图 2 所示。注意,软件里面并没有 Regression 这一选项卡。分类和回归算法都在 Classify 这一选项卡中。

图
图 3:选择算法

   第 3 步,选择线性回归算法。在弹出的算法选择窗口里中,依次点击选择:classifiers->functions->LinearRegression。最后点击右下方 Choose 按钮确认。流程如图 3 所示。

图
图 4:选择线性回归算法

   第 4 步,执行操作。点击 Start 按钮即可。

图
图 5:执行操作

   软件立即用线性回归方法进行建模。稍后,右侧会显示分析结果。线性回归方程为:$class=0.0491 \times MYCT+0.0152 \times MMIN+0.0056 \times MMAX+0.6298 \times CACH+1.4599 \times CHMAX-56.075$.如图 6 所示,图中红框标注出的就是回归直线方程。

图
图 6:分析结果

   输出结果中还显示了数据集的简单统计信息和模型误差、标准差等信息。


致读者: 小时百科一直以来坚持所有内容免费,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损, 并保证在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利