机器学习线性回归_线性回归、神经网络、机器学习

本文引导你通过实例理解线性回归,揭示其背后的思想,进而将其与神经网络的概念联系起来。逐步揭示如何通过最小二乘法求解线性回归模型,以及如何将其扩展到多元变量。神经网络被视为解决复杂问题的工具,涵盖了数据样本、误差函数训练和机器学习的定义。
摘要由CSDN通过智能技术生成

本文将从一个简单的线性回归例子开始,让你逐步了解神经网络和机器学习的概念。

blog: Vito Wang

线性回归(Linear Regression)

相信在中学时期我们都见过以下类似的“应用题”:

在研究硝酸钠的可溶性程度时,对不同的温度观测它在水中的溶解度,得观测结果如下:

892309c1a80fcef2564f655817e31774.png

求变量

的线性回归方程。

如何求解?首先,我们需要画一个散点图:

8f22a1fda09c948ad6db82771926000b.png
图1

这时候我如果问你,温度

取100时,溶解度
是多少,你大概可以很快给出一个答案:160左右。一个简单的方法是画一条直线尽可能靠近所有点,在
=100的位置得到

7a6250bd938c58c7c2c5cc250252c3a1.png
图2

上述方法虽然易于理解和实施,但是它至少有两个缺点:

  1. 无法得到相对精确且稳定的数值,不同的人可能得到不同的结果。
  2. 难以推广到多变量的情形。比如溶解度
    不仅跟温度
    有关,还跟压强
    有关,此时我们要求解的是
    的关系,我们需要画一个平面。假如继续增加变量(比如1000个),将超出人类视觉感知所能处理的范围。

接下来,我们用另一个方法来求解,它包含以下几个步骤:

  1. 假设
  2. 将表格中的x值代入 1. 中的方程,得到一系列代数表达式:
    ,我们称之为“预测值”
  3. 求解 a 和 b,使得预测值和实际测量值(即表格中的 y 值)“最接近”

以上步骤如果你觉得很简单,那么我想恭喜你,你已经掌握了“神经网络”的基本方法!

我们来仔细思考每一步骤背后的含义。

关于 y = ax + b 。为什么我们会做如此假设?因为我们通过观察散点图,猜测 y 和 x 最有可能是“直线关系”。但这不是唯一可能正确的假设,我们还可以假设它们满足“曲线关系”,图3。事实上,我们可以用一些技巧让算法自动选择最适合的假设(或者模型),将在后续的文章探讨。

ad5bf10f1f2a743343f528c26d630aa7.png
图3

关于“预测值”。仔细想想,我们其实有一些“乐观”,因为我们认为我们可以通过任意的 x 预测 y 。事实上我们给出 y = ax + b 的假设的同时,已经做了另一个假设: x 与 y 之间存在某种必然联系,并且这种联系就隐含在已知的测量数据中。当然,实践证明很多自然事物之间都存在联系,这可以说是整个自然科学研究的基础。这里提出“假设的假设”的思考,只是想提醒读者所有结论都有作为其基础的假设,因此我们在必要的时候,可以对结论或其假设提出质疑。

关于“最接近”。回顾之前的步骤,我们有一系列已知的测量值,如表1。然后,我们通过观察数据提出假设 y = ax + b ,得到另一个表格:

1beab8a115e544398c259ca87c6e815e.png
表2

显然,我们希望找到 a, b 的值,使得测量值 y 尽可能接近预测值

,也就是让它们的“距离”足够的小,对于距离的一种自然的表达,

其中

表示第3个 y 值,以此类推。L的表达式就是“最小二乘法”(Least Squares)的由来。

接下来,我们的目标是:求解 a 和 b ,使得函数 L(a, b) 取得最小值。

我们可以用计算机画出L的数值随着 a, b 变化的可视化图形:

c8f01f0d6b2a0c109385a3b13b8759fc.png
图4

显然, L 将在曲面的最低点取得最小值,其相应的 a, b 值就是我们要求的解。

所以,最终的问题是如何得到 a, b 的确切数值。这里我将直接给出结论:分别令 L 对 a 和 b 的偏导数为零,联立两个二元一次方程求解,具体如下,

其中

为已知数。得到该方程组的解析解需要一些线性代数的基础知识,请读者自行了解。

关于偏导数与极值点。想象吐鲁番盆地的上空固定了一块巨大的玻璃,你行走在玻璃上,影子投射到地形表面(假设太阳在正上方),每走一步都会引起影子的位置上升/下降一个高度。假设你往北走1米,影子下降了0.5米,那我们可以粗略估计:在你的位置附近,地形表面的海拔关于北方向的偏导数大概是 -0.5;相反地,如果影子上升了0.5米,那偏导数会是 +0.5。因此,偏导数将告诉你地形表面随着某一特定方向上升/下降的趋势和幅度。如果你一直往盆地的海拔最低处走,影子往各个方向下降/上升的幅度将会越来越小,并且在盆地最低处的变化幅度最小。这就是函数偏导数和极小值关系的直观理解(极大值同理)。

718d73e7dae67d806743bc9a70b30b05.png
图5

上述的“玻璃行走”其实就是神经网络中“梯度下降”的形象化表述,我们将在后续文章中详细阐述。

神经网络(Neural Network)

我们再次总结并精简上述问题的求解步骤:

  1. 根据数据样本提出假设 y = ax + b
  2. 得到衡量预测值和观测值差距的误差函数 L(a,b)
  3. 求解 a 和 b,使得 L 取得最小值

以上描述用到了“数据样本”“观测值”“误差函数”这样的词汇,相信你能很快理解,这些只是在机器学习领域的通用表达,在后续的文章将会经常见到。

接下来,我们将问题推广到复杂一些的情形。

如果溶解度 y 不仅与温度有关,还取决于压强、溶剂等变量,不失一般性,我们假设 y 与 n 个变量

相关,并且有m个数据样本。表格4 展示了 m=3,n=4 时的数据样本。

49b222acf0e3c799777a7a79d75a76ad.png
表3

我们可以得到多变量线性回归问题的一般化求解步骤,n 为变量个数,m 为样本个数,

  1. 假设:
  2. 设定误差函数:
  3. 求解
    ,使得
    取得最小值。

线性回归中的“线性”指的是 y 相对于变量系数是线性的,因此类似

的问题也是线性回归,事实上,我们可以将
视为不同的变量

可以视为最简单的神经网络模型,求解 L 极值点的过程,我们称之为“训练”。

作为个人的建议,可以把“神经网络模型”理解为函数或者映射,“训练”理解为求解误差函数的极值点,而求得的极值点为神经网络模型的“参数”。至于为什么叫“神经网络”,后续讲到激活函数的时候会稍作探讨。

机器学习(Machine Learning)

“Machine learning (ML) is the study of computer algorithms that improve automatically through experience.” —— Wikipedia

机器学习算法可以理解为自动通过历史经验提升性能的计算机算法,神经网络就是其中一类机器学习算法的统称。在线性回归例子中,我们通过数据样本(历史经验),“习得”描述 y 和 x 关系的数学模型,从而可以预测 y 值,随着训练数据的增加(更多的经验),模型的性能会逐步提升。

关于定义。机器学习的术语,很多没有严格的定义,比如backpropogation、covariate shift、activation function这样的词汇都是在解决或描述某个问题时提出的概念,在我看来仅仅是便于信息交流的符号。因此当你对新概念感到不理解,不要试图从字面去猜测其含义,而是去了解概念所对应解决的问题。

物理与机器学习。物理学家的主要工作是测量和建模,机器学习的核心是数据和模型。地心说的“本轮-均轮”模型是过拟合问题,牛顿定律对广义相对论的近似体现了欠拟合问题。这很有趣,不是吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值