ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

前向传播算法 Forward propagation 与反向传播算法 Back propagation

2019-05-19 19:50:24  阅读:201  来源: 互联网

标签:堆放 传播 propagation 算法 l2 l1 np 节点


                                                 

虽然学深度学习有一段时间了,但是对于一些算法的具体实现还是模糊不清,用了很久也不是很了解。因此特意先对深度学习中的相关基础概念做一下总结。先看看前向传播算法(Forward propagation)与反向传播算法(Back propagation)。

1.前向传播

这里写图片描述

bp过程可能差不多就是这样了,可能此文需要你以前接触过bp算法,只是还有疑惑,一步步推导后,会有较深的理解。

上面的python代码实现如下:

#!/usr/bin/env python#coding:utf-8import numpy as npdef nonlin(x, deriv = False):    if(deriv == True):        return x * (1 - x)    return 1 / (1 + np.exp(-x))X = np.array([[0.35], [0.9]])y = np.array([[0.5]])np.random.seed(1)W0 = np.array([[0.1, 0.8], [0.4, 0.6]])W1 = np.array([[0.3, 0.9]])print 'original ', W0, '\n', W1for j in xrange(100):    l0 = X    l1 = nonlin(np.dot(W0, l0))    l2 = nonlin(np.dot(W1, l1))    l2_error = y - l2    Error = 1 / 2.0 * (y-l2)**2    print 'Error:', Error    l2_delta = l2_error * nonlin(l2, deriv=True)    l1_error = l2_delta * W1 #back propagation    l1_delta = l1_error * nonlin(l1, deriv=True)    W1 += l2_delta * l1.T    W0 += l0.T.dot(l1_delta)    print W0, '\n', W1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 1
                     

标签:堆放,传播,propagation,算法,l2,l1,np,节点
来源: https://blog.csdn.net/qq_45019572/article/details/90346268

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有