神经网络基础篇-1-神经网络的计算过程

2023-08-20  本文已影响0人  Mr_Michael

1.神经网络的主要功能

1)回归(Regression)

回归也可以叫做拟合(Fitting),是给出x值输出y值的过程,并且让y值与样本数据形成的曲线的距离尽量小,可以理解为是对样本数据的一种骨架式的抽象。

单层的神经网络能够模拟一条二维平面上的直线,从而可以完成线性分割任务。而理论证明,两层神经网络可以无限逼近任意连续函数。

2)分类(Classification)

分类是通过神经网络训练出来的分界线,把两类或多类样本分开。可以理解为是对两类或多类样本数据的边界的抽象。

2.神经网络的训练过程

1)初始化权重矩阵

以单层神经网络模型为例,有 m 个输入,有 n 个输出。在神经网络中,b 到每个神经元的权值来表示实际的偏移值(把偏移值看做是神经元的一个输入)。

image

2)循环训练

3)梯度下降法则

https://www.cnblogs.com/dztgc/archive/2013/05/02/3050315.html

“梯度下降”包含了两层含义:

  1. 梯度:函数当前位置的最快上升点;

  2. 下降:与导数相反的方向,用数学语言描述就是那个减号,亦即与上升相反的方向运动,就是下降。

4)随机梯度下降

5)反向传播

主要思想:

反向传播求偏导

偏导求解过程可以应用链式法则。假设有一个函数:z = x dot y,其中 x = 2w + 3b,y = 2b + 1。

z对w求偏导

z对b求偏导

由于网络中的参数比较多,一个参数w改变一次值,并不能让z直接达到目标值,因此需要对每个参数多次迭代训练。

# double variable new: w, b -----
w=3.000000,b=4.000000,z=162.000000,delta_z=12.000000
factor_b=63.000000, factor_w=18.000000, delta_b=0.095238, delta_w=0.333333
w=2.666667,b=3.904762,z=150.181406,delta_z=0.181406
factor_b=60.523810, factor_w=17.619048, delta_b=0.001499, delta_w=0.005148
w=2.661519,b=3.903263,z=150.000044,delta_z=0.000044
factor_b=60.485234, factor_w=17.613053, delta_b=0.000000, delta_w=0.000001
w=2.661517,b=3.903263,z=150.000000,delta_z=0.000000
done!
final b=3.903263
final w=2.661517
上一篇 下一篇

猜你喜欢

热点阅读