系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI,
点击star加星不要吝啬,星越多笔者越努力
5.2 神经网络解法
与单特征值的线性回归问题类似,多变量(多特征值)的线性回归可以被看做是一种高维空间的线性拟合。以具有两个特征的情况为例,这种线性拟合不再是用直线去拟合点,而是用平面去拟合点。
5.2.1 定义神经网络结构
我们定义一个如图5-1所示的一层的神经网络,输入层为2或者更多,反正大于2了就没区别。这个一层的神经网络的特点是:
- 没有中间层,只有输入项和输出层(输入项不算做一层);
- 输出层只有一个神经元;
- 神经元有一个线性输出,不经过激活函数处理,即在下图中,经过\(\Sigma\)求和得到\(Z\)值之后,直接把\(Z\)值输出。
图5-1 多入单出的单层神经元结构
与上一章的神经元相比,这次仅仅是多了一个输入,但却是质的变化,即,一个神经元可以同时接收多个输入,这是神经网络能够处理复杂逻辑的根本。
输入层
单独看第一个样本是这样的:
\[ x_1 = \begin{pmatrix} x_{11} & x_{12} \end{pmatrix} = \begin{pmatrix} 10.06 & 60 \end{pmatrix} \]
\[ y_1 = \begin{pmatrix} 302.86 \end{pmatrix} \]
一共有1000个样本,每个样本2个特征值,X就是一个\(1000 \times 2\)的矩阵:
\[ X = \begin{pmatrix} x_1 \\ x_2 \\ \dots \\ x_{1000} \end{pmatrix} = \begin{pmatrix} x_{1,1} & x_{1,2} \\ x_{2,1} & x_{2,2} \\ \dots & \dots \\ x_{1000,1} & x_{1000,2} \end{pmatrix} \]
\[ Y = \begin{pmatrix} y_1 \\ y_2 \\ \dots \\ y_{1000} \end{pmatrix}= \begin{pmatrix} 302.86 \\ 393.04 \\ \dots \\ 450.59 \end{pmatrix} \]
\(x_1\)表示第一个样本,\(x_{1,1}\)表示第一个样本的一个特征值,\(y_1\)是第一个样本的标签值。
权重W和B
由于输入层是两个特征,输出层是一个变量,所以w的形状是2x1,而b的形状是1x1。
\[ W= \begin{pmatrix} w_1 \\ w_2 \end{pmatrix} \]
\[B=(b)\]
B是个单值,因为输出层只有一个神经元,所以只有一个bias,每个神经元对应一个bias,如果有多个神经元