线性神经网络

线性神经网络是一种最简单的神经网络模型,也被称为单层感知机(single-layer perceptron)。它由一个单一的神经元(或节点)组成,每个输入特征与神经元中的权重相乘,然后将它们相加并加上偏置项,最后通过一个激活函数进行处理,得到输出。

数学表达式可以表示为: $y = f(w_1x_1 + w_2x_2 + … + w_nx_n + b)$ 其中,($x_1, x_2, …, x_n$) 是输入特征,($w_1, w_2, …, w_n$) 是对应的权重,($b$) 是偏置项,($f$) 是激活函数,($y$) 是输出。

线性神经网络的特点是可以学习输入特征与输出之间的线性关系,但对于非线性问题表现不佳。然而,多个线性神经网络层组合在一起可以构成一个多层神经网络,从而可以学习更复杂的非线性关系。

线性神经网络在一些简单的线性分类问题上表现良好,并且在某些特定的应用场景中仍然有一定的用武之地。然而,在处理复杂的非线性问题时,通常需要使用深度神经网络,并引入更复杂的非线性激活函数,以便更好地捕捉数据中的复杂关系。

线性回归

线性回归(linear regression)是一种用于建立特征与连续目标变量之间关系的统计模型。

线性模型

在线性回归中,我们试图通过一个线性方程来描述自变量(特征)和因变量(目标变量)之间的关系。线性回归模型的基本形式可以表示为:

$$ \hat{y} = \beta_0 + \beta_1x_1 + \beta_2x_2 + … + \beta_nx_n + \varepsilon $$

其中,( $\hat{y}$ ) 是因变量,用$\hat{y}$表示$y$的估计值,( $x_1, x_2, …, x_n$ ) 是自变量(特征),( $\beta_0, \beta_1, \beta_2, …, \beta_n$ ) 是模型的参数(斜率),( $\varepsilon$ ) 表示误差项(考虑观测误差带来的影响)。

将所有特征放在向量$x \in \R^d$中,将参数放在向量$\beta \in \R^d$中,用点积形式来表达模型:

$$ \hat{y} = x^\top \beta + \varepsilon $$

对于特征集合$X$,预测值$\hat{x} \in \R^n$可用矩阵-向量乘法表示:

$$\hat{y} =X\beta + \varepsilon $$

线性回归的目标是找到一组权重向量$\beta$和偏置$\varepsilon$: 当给定从$X$的同分布中取样的新样本特征时, 这组权重向量和偏置能够使得新样本预测标签的误差尽可能小。

损失函数

我们开始考虑如何用模型 拟合(fit) 数据之前,我们需要确定一个拟合程度的度量。

损失函数(loss function) 能够量化目标的实际值与预测值之间的差距,通常我们会选择非负数作为损失,且数值越小表示损失越小,完美预测时的损失为 0。

回归问题中最常用的损失函数是平方误差函数

假设样本$i$的预测值为$\hat{y}^{(i)}$,其相应的真实标签为$y^{(i)}$,平方误差可定义:

$$l^{(i)}(\beta,\varepsilon)=\frac{1}{2}(\hat{y}^{(i)}-y^{(i)})^2$$

常数$\frac{1}{2}$不会带来本质影响,当我们对损失函数求导后常数系数为$1$,这样在形式上稍微简单一些

为了度量模型在整个数据集上的质量,我们需计算在训练集$n$个样本上的损失均值(也等价于求和)。

$$L(\beta,\varepsilon) = \frac{1}{n}\sum^n_{i=1}l^{(i)}(\beta,\varepsilon)=\frac{1}{n}\sum^n_{i=1}\frac{1}{2}(\beta^\top x^{i}+\varepsilon -y^{(i)})^2$$