18-线性回归的可解释性和更多的思考

可解释性

  我们在之前学习线性回归算法的时候,说过它有一个优点就是结果具有可解释性。下面我们首先来看看什么叫做可解释性?

  所以说,即使你的数据使用线性回归法进行预测,预测出来的结果不够好,但是我们能够通过这样的方式首先来看看数据的特征和最终的结果的线性关系相应的系数有多大?整体很有可能也是非常有意义的。所以从某种角度来讲,我们拿到一组数据之后,先使用线性的方式试试看,总之是没有坏处的。

  那么到这里,我们学习了线性回归算法,我们学习了线性回归算法用于预测数据的时候,依然是把我们完整的原始数据集分成训练数据集和测试数据集两部分,我们用训练数据集训练出这个模型,在线性回归算法中,这个模型是实实在在的模型,不像之前所讲的 kNN 算法那个模型那么虚,所谓的模型就可以写成:
在这里插入图片描述

  我们有了这个模型之后,我们就可以基于这个模型对我们的测试数据集进行预测,将预测的结果和我们的测试数据集的真值进行比较,这个比较的方式我们可以使用 R Square 的方式进行评价我们最终得到的这个模型它的优劣是如何的。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 我们发现 RM 代表房间的数量。那么我们可以得出房间数量越多的房间房价越高。
  2. NOX 代表一氧化氮浓度,那么我们得出一氧化氮浓度越高的房间房价就越低。
  3. 负相关第二大为 DIS,DIS 代表距离5个波士顿劳务雇佣中心相应的加权平均的距离,它和房价是负相关的,说明距离越小,房价越高,距离越大,房价越低。

  那么我们就可以使用这种方式来一一对应来看这些特征与房价之间的关系,这就是所说的线性回归对我们的数据有可解释性。更重要的是,我们获得了这种可解释性后,我们可以有针对性地去采集更多地特性来更好地描述我们的这个房价,比如说,我们知道了房间的数量和我们的房价是正相关的,很大程度上房间的数量也决定了我们房子的大小包括它有多少平米,房子有多少层,它的院子有多大,那么我们是不是也可以采集这些特征进一步来看会不会得到一个更好的预测波士顿房价这样一个模型,那么相应的,NOX 也就是一种有害的化学气体它的浓度和房价呈负相关,我们进一步是不是就可以采集房子周边是不是有生成这种有害气体的化工厂等等这些特征来进一步更好的判断波士顿的房价,这就是线性回归法对数据的可解释性的威力。


线性回归算法总结

  线性回归算法是一个典型的参数学习,而 kNN 算法是一个非参数学习的算法。

  线性回归算法只能解决回归问题,虽然在很多分类方法中,线性回归是基础(如逻辑回归),但是 kNN 算法既可以解决分类问题,又可以解决回归问题。

  我们在使用线性回归算法的时候,其实我们是对数据有假设的,我们假设数据和最终的输出结果之间是存在线性关系的,而且这个线性关系越强,我们的线性回归算法得到的结果相应的也就越好。在这里,我们对比一下 kNN算法,它是没有假设的。虽然如此,但是当我们的数据真的和我们的输出结果之间有比较强的线性关系的时候,线性回归算法是比 kNN 这个算法要好的,而且从某个维度来讲,其实是好不少。

  另外,其实我们可以稍微改进一下我们的线性回归算法这样就可以用于处理非线性的问题,也就是说线性回归法的思路不仅仅是只能解决线性问题。

  更重要的是,线性回归算法对数据具有很强的解释性。换句话说,它是一个白盒子算法,我们得到了这个模型之后,我们基于这个模型能够真正学到所谓的知识,比如说,我们在之前举出的例子,我们就知道波士顿的房价和房间的数量呈正相关,和房子周围所处的地区的一氧化氮的浓度是呈负相关的这样的一个关系,我们学到了这样的知识。

  我们学习的线性回归算法对于训练这个模型来说,我们使用的是正规方程解。也就是这样一个式子:
在这里插入图片描述

  对于这个式子,看起来很简单,但是它背后蕴含的时间复杂度相对是比较高的,如果我们的样本数量是巨大的或者特征数量是巨大的话,那么使用这种正规方程解是不合适的。那么具体使用哪种解法呢?我们后续将会学习大名鼎鼎的梯度下降法

  梯度下降法不仅仅是可以解决线性回归问题,更是在机器学习中求解最优的这个模型的一种通用的方法。甚至我们后面会看到对于很多模型来说,我们只能使用梯度下降法来求得这个最优的模型,这是因为对于一些更复杂的模型来说,我们是无法得到类似于 θ 一个非常简洁的公式来获得这些模型相应的参数。那么梯度下降法究竟是什么样的呢?梯度下降法到底有几种?不同的梯度下降法之间有什么样的区别?请听下回分解~~


具体代码见 线性回归的可解释性和更多思考.ipynb

猜你喜欢

转载自blog.csdn.net/qq_41033011/article/details/109048833