1、什么是神经网络
一个关于房价预测的简单神经网络示意图如下图所示:
其中,最左测的所有特征称为输入层(Input layer),中间一层称为全连接层(dense layer),最右侧一层称为输出层(output layer)。
2、使用神经网络做监督学习
使用神经网咯做监督学习的使用案例如下所示:
基本神经网络,卷积神经网络(CNN)和循环神经网络(RNN)的示意图如下图所示:
结构化数据: 每一个特征的数据都能都被准确地进行量化,如房价,房间数量;用户年龄,用户ID,etc。
非结构化数据: 当输入的信息时声音,图片或者文本时,特征的数据无法准确地进行量化,如图像可以使用像素,文本可以使用单次编码。
3、使用神经网络做逻辑回归
加入我们现在的目标是通过二元分类来判断某张图片是否中的图像是否是“猫”,则首先需要将图片的像素值提取出来作为神经网络的输入特征向量,假如一幅图片的大小为64×64个像素点,而每一个像素点又包括红黄蓝三种色彩,将所有的像素点伸缩称为一个特征向量x,则x的大小为64×64×3。
3.1 符号定义
单个样本(x,y),x∈Rn,y∈{0,1},其中x表示特征向量,y表示真值。
m个训练样本: {(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m)),};
所有特征组成的向量集合 X=[x(1),x(2),...,x(m)],X∈R(n×m);
所有真值的集合 Y=[y(1),y(2),...,y(m)]
3.2 逻辑回归模型
给定一组训练数据,需要预测y^=P(y=1∣x);给定参数:w∈Rn,b∈Rn;输出预测值 y^=σ(wTx+b)。其中, sigmoid=1+e−z1函数图像如下所示:
逻辑回归模型使用交叉熵误差: L(y^,y)=−(ylogy^+(1−y)log(1−y^)),使用交叉熵误差的原因如下所示:
逻辑回归的成本函数如下所示: J(w,b)=m1∑i=1mL(y^,y)
3.3 使用梯度下降训练神经网络
神经网络的成本函数是 J(w,b),目标是选择合适的参数 w,b使得成本函数 J(w,b)尽可能地小,所以使用梯度下降时,首先需要计算 J(w,b)关于参数 w,b的偏导数,之后让参数 w,b沿着导数的方向进行移动,直到算法收敛。参数 w,b更新的方式如下所示:
3.4 计算图
计算图从左到右计算损失函数 J的值,从右到左计算计算图中每一个参数的梯度,下图是一个计算图的示例:
3.5 逻辑回归中的梯度下降
逻辑回归的模型和计算图如下图所示:
逻辑回归模型反向传播计算过程如下图所示:
3.6 多样本下的梯度下降
m个样本下的逻辑回归模型的梯度下降算法流程如下所示: