【Datawhale X 李宏毅苹果书 AI夏令营】Task2:线性模型

146 阅读6分钟

线性与非线性

  • 线性:两个变量之间的关系是一次函数关系的——图象是直线

  • 非线性:两个变量之间的关系不是一次函数关系的——图象不是直线

安斯库姆四重奏

安斯库姆四重奏(Anscombe's Quartet)是由统计学家弗朗西斯·安斯库姆(Francis Anscombe)于1973年提出的一组数据集,用于展示可视化在数据分析中的重要性。这四个数据集在统计学上具有相似的属性,但在图形上却呈现出截然不同的模式。 image.png 对于所有四个数据集来说,这些统计特性非常接近:

  • x的平均数大约为9
  • y的平均数约为7.5
  • y关于x的方差大约为4.125
  • x与y之间的相关系数约为0.82
  • 线性回归线的斜率约为0.5
  • 线性回归线的截距约为3

但每个数据集的图形表现却大相径庭:

  1. 第一组数据:呈现典型的线性关系。
  2. 第二组数据:数据点也大致呈线性趋势,但由于存在一个异常值(outlier),使得图形上的分布显得不那么规则。
  3. 第三组数据:除了一个远离其他数据点的异常值外,其余数据点几乎都在一条水平线上。
  4. 第四组数据:数据点形成一个非线性的模式,看起来像是一个X形。

在进行数据探索和分析时,不仅要关注统计数据,还要通过绘制图表来辅助理解数据的真实结构。

学习链接:blog.csdn.net/qazplm12_3/…

简单线性回归 / 一元线性回归

1、模型

把输入的特征 xx 乘上一个权重 ww (weight),再加上一个偏置 bb (bias)

即:y=wx+by=wx+b

2、损失

最小二乘法 image.png

平方处理:偏差的方向(即线是在数据点上方还是下方)不重要;可求导计算。

故机器学习的过程变为求损失函数最优解,即最优化问题。

最小二乘法参数求解

image.png 学习链接:zhuanlan.zhihu.com/p/71725190

分段线性函数

简单线性模型有很大的局限性,无法模拟大多数真实情况。

1、Hard Sigmoid

Hard Sigmoid 函数的特性是当输入的值,当 x 轴的值小于某一个阈值(某个定值)的时候,大于另外一个定值阈值的时候,中间有一个斜坡。所以它是先水平的,再斜坡,再水平的。

分段线性曲线(piecewise linear curve)可以看作是一个常数,再加上一堆蓝色的Hard Sigmoid函数。

image.png

如果点取的够多或点取的位置适当,分段线性曲线就可以逼近连续曲线,就可以逼近有角度的、有弧度的曲线。

2、用 Sigmoid 函数来逼近 Hard Sigmoid

定义

f(x)=c11+e(b+wx1)f(x)=c\frac {1} {1+e^{−(b+wx_1)}}

特性

  • 范围:Sigmoid函数的输出值范围是(0, 1),这使得它非常适合用作概率估计。
  • 形状:该函数具有S形曲线,随着输入 xx 的增大,函数值逐渐逼近1;随着 xx 的减小,函数值逐渐逼近0。
  • 导数:Sigmoid函数的导数也非常简单,便于计算梯度,这对于反向传播算法非常重要。导数形式如下: f(x)=f(x)(1f(x))f^′(x)=f(x)(1−f(x))

用途

  1. 作为激活函数:在神经网络中,Sigmoid函数被用作激活函数来引入非线性特性,使得神经网络能够学习复杂的模式。
  2. 输出层:在二分类问题中,Sigmoid函数通常用于输出层,将网络的输出转换为介于0和1之间的概率值。

image.png

调参

image.png

3、线性代数表述

image.png

即将简单线性模型扩展为分段线性模型

image.png

4、梯度下降

image.png

模型变形

激活函数

激活函数是在神经网络中的节点(或称神经元)上应用的一个非线性函数。它的主要作用是引入非线性特性到模型中,从而让神经网络能够学习并处理复杂的输入输出映射关系。常见的激活函数包括ReLU(修正线性单元)、Sigmoid、tanh(双曲正切)等。

  • ReLU: 定义为 f(x)=max(0,x)f(x)=max(0,x) ,它简单且计算效率高,能有效缓解梯度消失问题。
  • Sigmoid: 定义为 f(x)=c11+e(b+wx1)f(x)=c\frac {1} {1+e^{−(b+wx_1)}} ,输出值范围在(0, 1)之间,适用于概率估计,但容易导致梯度消失。
  • Tanh: 类似于Sigmoid函数,但是其输出值范围在(-1, 1)之间,通常收敛更快。

神经网络

神经网络是一种模仿生物神经系统结构和功能的计算模型,由大量的节点(或称神经元)通过加权连接组成。它可以用来解决分类、回归、预测等多种类型的问题。神经网络的基本组成部分包括输入层、一个或多个隐藏层以及输出层。

  • 输入层:接收原始数据输入。
  • 隐藏层:位于输入层与输出层之间,负责提取特征和进行复杂的数据变换。
  • 输出层:产生最终的预测结果。

隐藏层

隐藏层是神经网络中除了输入层和输出层之外的任何层。这些层负责提取输入数据的特征,并通过一系列的加权和激活函数传递给下一层。隐藏层的数量和每个层中节点的数量对于网络的复杂性和性能至关重要。

残差网络

残差网络是一种特殊的深度神经网络架构,旨在解决深层神经网络中的梯度消失问题和退化问题。ResNet通过添加跳跃连接(skip connections)来改善深层网络的表现。跳跃连接允许网络学习残差块,即学习输入到输出的偏差,而不是直接学习从输入到输出的映射。这种设计使得网络可以更容易地学习恒等映射,并有助于减少梯度消失问题的影响。

拟合和过拟合

拟合是指模型学习数据的能力。理想情况下,模型应该很好地拟合训练数据,同时在未见过的新数据上也能表现良好。

  • 欠拟合:当模型无法充分学习训练数据的模式时发生,表现为在训练集上的性能较差。
  • 过拟合:当模型过于复杂,以至于它不仅学习了数据中的真实模式,还学习了噪声和异常值,导致在新数据上的泛化能力变差。

为了防止过拟合,可以采取多种策略,如增加数据量、使用正则化技术(L1、L2正则化)、提前停止训练等。

反向传播

反向传播是一种用于训练神经网络的有效方法,特别是多层前馈网络。这个过程包括两个主要阶段:前向传播和后向传播。

  • 前向传播:在这个阶段,输入数据通过网络从输入层到输出层传递,计算每个节点的输出。
  • 后向传播:在这个阶段,网络的损失(误差)从输出层开始向后传播到输入层。损失函数用于衡量预测值与实际值之间的差异。通过链式法则计算梯度,并利用这些梯度来更新网络权重以最小化损失。

反向传播的核心在于使用梯度下降算法来调整网络权重,使网络逐步学习最优解。

深度学习模型

image.png