[机器学习]神经网络(Neural Network)

本文介绍了神经网络的基本概念,它是一种模仿生物神经网络的模型,用于分布式并行信息处理。讨论了代价函数J(Θ)的表达式,并详细阐述了反向传播算法在求解网络参数中的应用,以及如何通过梯度检验确保算法的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

神经网络(Neural Network)是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

代价函数
J ( Θ ) = − 1 m ∑ i = 1 m ∑ k = 1 s L ( y k ( i ) log ⁡ ( h Θ ( x ( i ) ) ) k + ( 1 − y k ( i ) ) log ⁡ ( 1 − h Θ ( x ( i ) ) ) k ) J(\Theta)=-{\frac {1} {m}} \sum_{i=1}^{m} \sum_{k=1}^{s_L} ( y^{(i)}_k\log(h_{\Theta}(x^{(i)}))_k +(1-y^{(i)}_k)\log(1-h_{\Theta}(x^{(i)}))_k ) J(Θ)=m1i=1mk=1sL(yk(i)log(hΘ(x(i)))k+(1yk(i))log(1hΘ(x(i)))k)其中 x ( i ) x^{(i)} x(i)代表第 i i i个样本的输入向量, h ( x ( i ) ) h(x^{(i)}) h(x(i))代表第 i i i个样本的输出向量, 第 L L L代表层数, s l s_l sl代表第 l l l 层的单元数, a i ( l ) a_i^{(l)} ai(l)代表第 l l l 层的第 i i i 个元素。

求解方法

  • 反向传播算法(Back propagation Algorithm)
    通过迭代
    Θ i j ( l ) = Θ i j ( l ) − α ∂ ∂ Θ i j ( l ) J ( Θ ) \Theta_{ij}^{(l)}=\Theta_{ij}^{(l)}-\alpha{\frac {\partial}{\partial\Theta_{ij}^{(l)}}}J(\Theta) Θij(l)=Θij(l)αΘij(l)J(Θ)确定参数 Θ \Theta Θ

为了保证反向传播算法的正确实施,我们需要进行梯度检验(Gradient Checking)。其具体步骤如下:

  1. 从训练集中随机抽取一些样本。
  2. 随机初始化参数。
  3. 通过前向传播计算损失函数。
  4. 分别计算解析梯度与数值梯度。

实现步骤

  1. 随机初始化参数。
  2. 通过前向传播计算 h Θ ( x ( i ) ) h_{\Theta}(x^{(i)}) hΘ(x(i))与代价函数 J ( Θ ) J(\Theta) J(Θ)
  3. 进行梯度检验。
  4. 通过反向传播算法确定参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值