机器学习————神经网络

神经网络

神经网络的介绍

神经网络是为了模拟人的大脑

神经网络起源于1943年,A Logical Calculus of Ideas Immanent in Nervous Activity , 使用一个间划过的计算模型来描述在动物的大脑中,神经元如何通过命题逻辑来实现复杂的计算
在80年代流行过一阵,但是到了90年代后期,由于各种原因,应用逐渐消失了

近几年,神经网络又火了起来

神经元

生物神经元:由包含细胞核和大部分细胞复合成分的细胞体组成。有许多分枝延伸的部分称为树突,一个非常长的延伸称为轴突。轴突的长度肯呢个比细胞体长几倍,或者长达几万倍,在其极端附近,轴突分裂成许多被称为终树突的分支,在这些分支的尖端是称为突触终端的微小结构,它会连接到其他神经元的树突(或者直接连接到细胞体)。生物神经元通过这些突触接受从其他细胞发来的很短的电脉冲,这种脉冲被称为信号。当一个神经元在一定的时间内收到足够多的信号,就会发出它自己的信号

在这里插入图片描述
在这里插入图片描述

感知器与神经网络
线性阈值单元LTU

在这里插入图片描述
感知器就是单个LTU
在这里插入图片描述
神经网络就是多层感知器在这里插入图片描述

在这里插入图片描述
在训练集中,这些中间节点的真正数值,是我们不知道的
计算层数时,不把输入层算入在内,或者把输入层叫做第0层
在这里插入图片描述

一个神经元的数学表示

在这里插入图片描述

一层神经网络的数学表示

在这里插入图片描述

神经网络的TF-IDF

在这里插入图片描述

激活函数

在这里插入图片描述
激活函数的作用

  1. 非线性变化
  2. 梯度下降

在神经网络的发展中,把激活函数从阶跃函数改成逻辑函数是一大进步,目的就是为了实现梯度下降,但是,仍然有很多别的激活函数可供使用

为什么需要非线性激活函数

如果你使用线性激活函数,或者没有激活函数,那么无论你的神经网络有多少层,
你一直在做的只是计算线性激活函数(两个线性组合的本身就是线性组合),
所以隐藏层就没有用了
在这里插入图片描述
在这里插入图片描述

如何训练神经网络

我们使用反向传播来训练神经网络

反向传播的理解

反向传播的理解: 对于每一个训练实例,算法将其发送到网络中并计算每个连续层中的每个神经元的输出(这是正向过程,与做预测的过程一样)。然后它会度量网络的输出误差(对比期望值和实际的网络输出)

然后,它会计算最后一个隐藏层中的每个神经元对输出神经元的误差的贡献度。
之后,他继续血量这些误差贡献中有多少来自前一个隐藏层中的每一个神经元,这个过程一直持续到输入层(也就是第一层)

这个反向传递过程通过在网络中向后传播误差梯度有效的测量网络中所有连接权重的误差梯度(这也是它名字的来源)

计算图
计算图的导数

在这里插入图片描述

神经网络的梯度下降

在这里插入图片描述
在这里插入图片描述

神经网络的传播过程的公式推导

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

神经网络:

正向传播:利用输入值算出预测值
对神经网络逐层进行计算
步骤:
(1)对神经网络第一层计算
1. 对第一层第一个神经元计算
1)应用线性函数计算
2)应用非线性函数计算(激活函数:Sigmod,Tanh,Relu,Leaky Relu)
2. 对第一层第二个神经元计算…
3…
(2) 对神经网络第二层计算…

反向传播:通过损失函数(真实值-预测值),应用梯度下降,来计算出当w[1],b[1],w[2],b[2]为何值时,损失函数值最小
导数的意义:通过导数,我们能知道损失函数的损失值的来源;
反向传播的核心:通过导数,得到损失函数的来源,然后减少/增大来源,来调式w,b
步骤:
(1)对最后一层求导
1.我们已知的,不用求的有损失函数;所以我能要拿损失函数进行求导
2.dL/da, a = sigmod(z)
3.dL/dz = dL/da * da/dz
4.dL/dw = dL/da * da/dz * dz/dw; dL/db = dL/da * da/dz * dz/db
(2)对倒数第二层求导
1. dL/w[1] = dL/dz[2] * dz[2]/da[1] * da[1]/dz[1] * dz[1]/dw[1]
2. dL/b[1] = dL/dz[2] * dz[2]/da[1] * da[1]/dz[1] * dz[1]/db[1]
(3)…直到第一层

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值