机器学习 —— 神经网络

建模过程

1、定义模型结构:如激活函数的选取,神经网络的层数等。其中,输入层的节点数需要与特征的维度匹配,输出层的节点数要与目标的维度匹配。而中间层的节点数,可通过Grid Search(网格搜索)选取表现最好的节点个数。

2、初始化模型参数:以logistic regression为例,只需初始化W和b为0就可以了,并且不需要加入一些抖动;

3、进行num_iterations次循环:

  1. 前向传播:计算当前的代价,假设样本的预测目标为 y p ,真实目标为 y 。那么,我们定义一个损失函数为: l o s s = ( y p y ) 2 。目标:优化参数,使得损失函数最小。
  2. 反向传播:计算当前的梯度
  3. 梯度下降:更新权重 θ

直到iteration结束,或者梯度近似为零、参数不再变化为止。

代码实现可参考:
Keras —— 基于Mnist数据集建立神经网络模型


神经元

这是一个最简单的神经元,模型的输入是x1,x2,x3通过参数(权重)θ1,θ2…,并使用逻辑函数激活(压缩),得到输出结果。


神经网络

下图为一个三层神经网络模型。第一层为输入层,第二层为隐藏层,第三层为输出层。 每条边上有一个权值 θ 。偏置节点为+1(即 x 0

a i (j)表示第j层的,第i个神经元

θ (j):第j层到第j+1层单元的权值矩阵

g ( ) :激活函数


猜你喜欢

转载自blog.csdn.net/starter_____/article/details/81639512