线性回归的理解

理解:

线性回归,首相非为两类, 一类是线性模型, 一类是回归问题, 综合起来就是使用线性模型解决回归问题

线性模型和回归问题并不是一开始就被绑在一起的,模型与问题之间是多对多的关系,例如有逻辑模型,分类问题, 只是因为在使用线性模型解决回归问题的时候,发现比较好用,所以才有了“线性回归”这个名词

回归问题

用于预测未来的回归问题:

在回归的世界里,万物的发展轨迹都不是一条单调向上走或向下走的直线,而是循着均值来回波动,一时会坠入低谷,但也会迎来春暖花开,而一时春风得意,也早晚会遇到坎坷挫折,峰回路转,否极泰来,从这个角度看,回归与其说是一个统计学问题,不如说更像是一个哲学问题。

简单来说就是各个数据点都沿着一条主轴来回波动的问题都算是回归问题

记录历史值和预测未来值是回归问题的两个代表特征

回归问题和分类问题的区别

回归问题和分类问题最大的区别是在于预测结果:

根据预测值类型的不同,预测结果可以分为两种,一种是连续的一种是离散的,连续的就是预测问题

下面是连续型数据

image-20220208100958124 image-20220208101032518

下面是离散型数据,离散型数据最大的特征就是缺乏中间过渡值,出现阶级跳跃,譬如“是”和“否”,通常使用bool类型来表示

image-20220208101532456

回归模型解决预测问题:

我们把预测问题比作侦探小说的一次推理过程,犯罪手法总是要留下证据的,只要你找到相关的线索,最终就能推理出正确的结果。

预测问题的难点就在于预测对象和什么相关是未知的,不过好在其中关联关系就隐藏在历史数据中,我们只需要通过机器学习算法把这个关系挖掘出来。 机器学习算法并不是发明关系,只是关系联系的搬运工,总的来说就是 **机器学习并不是什么欲说还休的神秘技术,从数学角度来看就是拟合,对输入数据点的拟合**

机器学习实现预测的流程

以墙体坍塌为例:我们要预测墙体是否坍塌需要考虑容易导致墙体坍塌的几条重要因素:

  1. 砌墙的材质
  2. 使用时间长短
  3. 可能与承建商有关
  4. 外部因素有关
  5. 墙体坍塌的一些早期因素,例如出现多条裂缝

我们可以根据这些因素做一个表格

image-20220208103814800

最后一栏是坍塌率,这是我们最关心的,这些坍塌率将会为我们预测这面墙是否坍塌提供重要帮助

最后一步就是找出,各个维度和坍塌率之间的关系,这个步骤有模型自行完成

我们要做的只是将长长的历史数据输入回归模型,回归模型就会通过统计方法寻找墙体坍塌的关联关系,看看使用时间的长短和承建商的选择谁更重要,相关术语叫作训练模型,从数学的角度看,这个过程就是通过调节模型参数从而拟合数据。怎样调节参数来拟合数据是每一款机器学习模型都需要思考的重要问题。

模型训练完毕后,再把当前要预测的墙体情况按数据维度依次填好,回归模型就能告诉我们当前墙体坍塌概率的预测结果了。

image-20220208104219707

线性方程的“直男”本性

关于模型来说,线性模型相对来说比较简单一些,因为在线性模型这个大箱子里面,只存在线性方程这一个东西

线性–就像直线一样,直来直去

image-20220208111642710

下面是一些非线性方程:以2为底的对数函数,和指数函数,这些函数多多少少都要带一些弧度,这都是变化不均匀导致的

image-20220208111743383

直线方程通常写作y=kx+b,k称为斜率, b称为截距,这两个参数可以看作两枚重要的旋钮,直接控制直线进行“旋转”和“平移”的动作。具体来说,通过调整斜率,可以改变直线的角度。

“旋转”和“平移”就是直线的全部看家本领了,这正体现了线性方程简单直率的“直男”本性。

准确的来说,线性方程和直线方程还是存在一些细小的差别的,直线是二维平面,而线性方程可以是三维空间的,但是无论是在二维平面还是三位空间,直线所能够做的也只有“旋转”“平移”, 线性方程想要拟合能够调节的参数,主要也就是这两个

权重

y = kx + b 其中斜率k通常用字母w(weight)表示,意义是权重,通过调整w和b的值,能够控制直线在多维空间中进行旋转和平移,在拟合问题的时候,我们可以通过权值调整或称为权值更新来进行拟合,从而解决回归问题

关于调整权值的另一种解释

在机器学习中,通过调整权值来完成学习,并最终进行预测的算法很多,这也是一种非常常见的学习手段。对于为什么调整权值能够进行预测,实际上也有多种解释,上面从几何角度给出了解释,此外还有代数角度的解释。
以三个输入维度A、B、C来预测P为例,我们的线性方程可以写为:
F=W1A+W2B+W3*C
假设我们知道P的值其实就是与A的值有关,与B、C毫无关系,那么,怎样调整线性方程才可以根据输入准确预测出P的值呢?
我们知道,线性方程的计算结果F是三个维度的加权和,想要使F与P最接近,只需要让线性方程中B、C这两个加项对结果影响最小即可。这个好办,只要使这两项的权值最小,也就是W2和W3的值为O就可以了。
这就是从代数角度来解释为什么调整权值能够提高预测结果的准确性。这里实际上体现了一种假设,就是待预测的结果与输入的某个或某几个维度相关,而调整权值的目的就是使得与预测结果相关度高的权值越高,确保相关维度的值对最终加权和的贡献越大,反之权值越低,贡献越小。