bp算法

数据结构与算法整理3——BP算法和KMP算法

核能气质少年 提交于 2020-02-13 17:12:01
数据结构与算法整理3——BP算法和KMP算法 目录 数据结构与算法整理3——BP算法和KMP算法 1、字符串的基本操作 2、模式匹配——BP算法和KMP算法 3、串的操作代码(C语言) 1、字符串的基本操作 1)串的定义:字符串(也就是串)是0个或多个字符序列组成的有限序列。 串就是数据元素为单个字符的特殊线性表。 “qhjkdcbjsb”(隐含结束符\0)就是一个字符串,引号起界定作用,“”表示空串,串长为0 “ ”空格串不是空串,串长为空格数。 2)串的存储类型: 顺序存储 :定长顺序存储结构、堆分配存储结构(动态分配连续内存) 链式存储: 2、模式匹配——BP算法和KMP算法 串的模式匹配:就是指定一个主串S和子串T,求T在S中第一次出现的位置。 (1) 朴素模式匹配(BP算法) 核心思想 :主串S和子串T,S[1]和T[1]比较,S[2]与T[2]比较,直到S[n]与T[n]都是相等的为止,若S[i]与T[i]不相等,则子串向右移动一个(一个字符)继续比较。 时间复杂度 :主串S长度为n,子串T长度为m,最多进行m(m-n+1)次,最坏的时间复杂度为O(mn) 效率不高。 (2) KMP 算法 核心思想 :尽量利用已经得到的“部分匹配”的结果信息,不要让i回溯,加快子串右滑的速度, 问题由子串决定而不是主串决定的 next 数组 :是一个智能数组

BP 算法之一种直观的解释

喜夏-厌秋 提交于 2020-01-10 07:15:11
本文转载自: https://www.cnblogs.com/daniel-d/archive/2013/06/03/3116278.html 作者:daniel-D 转载请注明该声明。 0. 前言 之前上模式识别课程的时候,老师也讲过 MLP 的 BP 算法, 但是 ppt 过得太快,只有一个大概印象。后来课下自己也尝试看了一下 stanford deep learning 的 wiki, 还是感觉似懂非懂,不能形成一个直观的思路。趁着这个机会,我再次 revisit 一下。本文旨在说明对 BP 算法的直观印象,以便迅速写出代码,具体偏理论的链式法则可以参考 我的下一篇博客 (都是图片,没有公式)。 1. LMS 算法 故事可以从线性 model 说起(顺带复习一下)~在线性 model 里面,常见的有感知机学习算法、 LMS 算法等。感知机算法的损失函数是误分类点到 Target 平面的总距离,直观解释如下:当一个实例点被误分,则调整 w, b 的值,使得分离超平面向该误分类点的一侧移动,以减少该误分类点与超平面的距离,在 Bishop 的 PRML一书中,有一个非常优雅的图展现了这个过程。但是了解了 MLP 的 BP 算法之后,感觉这个算法与 LMS 有点相通之处。虽然从名字上 MLP 叫做多层感知机,感知机算法是单层感知机。 LMS (Least mean squares)

深度学习之BP神经网络

怎甘沉沦 提交于 2019-11-30 14:48:19
模型、策略、算法:    在深度学习中,无论多么复杂的结构,终究逃不过三种构造,那就是模型、策略、算法,它们都是在这三种结构基础上进行的变形、扩展、丰富   模型:构建参数、函数,确定学习方式   策略:策略的重点时损失函数,即构造出一种能都使得损失最小的函数结构   算法:不断迭代,深度学习 BP神经网络基本概念:   BP神经网络是一种多层的前馈神经网络,其主要的特点是:信号是前向传播的,而误差是反向传播的。它模拟了人脑的神经网络的结构,而人大脑传递信息的基本单位是神经元,人脑中有大量的神经元,每个神经元与多个神经元相连接。BP神经网络,类似于上述,是一种简化的生物模型。每层神经网络都是由神经元构成的,单独的每个神经元相当于一个感知器。输入层是单层结构的,输出层也是单层结构的,而隐藏层可以有多层,也可以是单层的。输入层、隐藏层、输出层之间的神经元都是相互连接的,为全连接。总得来说,BP神经网络结构就是,输入层得到刺激后,会把他传给隐藏层,至于隐藏层,则会根据神经元相互联系的权重并根据规则把这个刺激传给输出层,输出层对比结果,如果不对,则返回进行调整神经元相互联系的权值。这样就可以进行训练,最终学会,这就是BP神经网络模型。 BP神经网络简介: BP神经网络已广泛应用于非线性建摸、函数逼近、系统辨识等方面,但对实际问题,其模型结构需由实验确定,无规律可寻