神算法
Ⅰ BP神经算法是什么能给点既通俗易懂又比较详细的回答吗
BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
BP神经网络算法是在BP神经网络现有算法的基础上提出的,是通过任意选定一组权值,将给定的目标输出直接作为线性方程的代数和来建立线性方程组,解得待求权,不存在传统方法的局部极小及收敛速度慢的问题,且更易理解。
1 传统的BP算法简述
BP算法是一种有监督式的学习算法,其主要思想是:输入学习样本,使用反向传播算法对网络的权值和偏差进行反复的调整训练,使输出的向量与期望向量尽可能地接近,当网络输出层的误差平方和小于指定的误差时训练完成,保存网络的权值和偏差。具体步骤如下: (1)初始化,随机给定各连接权[w],[v]及阀值θi,rt。 (2)由给定的输入输出模式对计算隐层、输出层各单元输出 bj=f(■wijai-θj) ct=f(■vjtbj-rt) 式中:bj为隐层第j个神经元实际输出;ct为输出层第t个神经元的实际输出;wij为输入层至隐层的连接权;vjt为隐层至输出层的连接权。 dtk=(ytk-ct)ct(1-ct) ejk=[■dtvjt] bj(1-bj) 式中:dtk为输出层的校正误差;ejk为隐层的校正误差。 (3)计算新的连接权及阀值,计算公式如下: vjt(n+1)=vjt(n)+?琢dtkbj wij(n+1)=wij(n)+?茁ejkaik rt(n+1)=rt(n)+?琢dtk θj(n+1)=θj(n)+?茁ejk 式中:?琢,?茁为学习系数(0<?琢<1,0<?茁<1)。 (4)选取下一个输入模式对返回第2步反复训练直到网络设输出误差达到要求结束训练。 传统的BP算法,实质上是把一组样本输入/输出问题转化为一个非线性优化问题,并通过负梯度下降算法,利用迭代运算求解权值问题的一种学习方法,但其收敛速度慢且容易陷入局部极小,为此提出了一种新的算法,即高斯消元法。
2 改进的BP网络算法
2.1 改进算法概述 此前有人提出:任意选定一组自由权,通过对传递函数建立线性方程组,解得待求权。本文在此基础上将给定的目标输出直接作为线性方程等式代数和来建立线性方程组,不再通过对传递函数求逆来计算神经元的净输出,简化了运算步骤。没有采用误差反馈原理,因此用此法训练出来的神经网络结果与传统算法是等效的。其基本思想是:由所给的输入、输出模式对通过作用于神经网络来建立线性方程组,运用高斯消元法解线性方程组来求得未知权值,而未采用传统BP网络的非线性函数误差反馈寻优的思想。 2.2 改进算法的具体步骤 对给定的样本模式对,随机选定一组自由权,作为输出层和隐含层之间固定权值,通过传递函数计算隐层的实际输出,再将输出层与隐层间的权值作为待求量,直接将目标输出作为等式的右边建立方程组来求解。 现定义如下符号(见图1):x (p)输入层的输入矢量;y (p)输入层输入为x (p)时输出层的实际输出矢量;t (p)目标输出矢量;n,m,r分别为输入层、隐层和输出层神经元个数;W为隐层与输入层间的权矩阵;V为输出层与隐层间的权矩阵。具体步骤如下: (1)随机给定隐层和输入层间神经元的初始权值wij。 (2)由给定的样本输入xi(p)计算出隐层的实际输出aj(p)。为方便起见将图1网络中的阀值写入连接权中去,令:隐层阀值θj=wnj,x(n)=-1,则: aj(p)=f(■wijxi(p)) (j=1,2…m-1)。 (3)计算输出层与隐层间的权值vjr。以输出层的第r个神经元为对象,由给定的输出目标值tr(p)作为等式的多项式值建立方程,用线性方程组表示为: a0(1)v1r+a1(1)v2r+…+am(1)vmr=tr(1)a0(2)v1r+a1(2)v2r+…+am(2)vmr=tr(2) ……a0(p)v1r+a1(p)v2r+…+am(p)vmr=tr(p) 简写为: Av=T 为了使该方程组有唯一解,方程矩阵A为非奇异矩阵,其秩等于其增广矩阵的秩,即:r(A)=r(A┊B),且方程的个数等于未知数的个数,故取m=p,此时方程组的唯一解为: Vr=[v0r,v2r,…vmr](r=0,1,2…m-1) (4)重复第三步就可以求出输出层m个神经元的权值,以求的输出层的权矩阵加上随机固定的隐层与输入层的权值就等于神经网络最后训练的权矩阵。
3 计算机运算实例
现以神经网络最简单的XOR问题用VC编程运算进行比较(取神经网络结构为2-4-1型),传统算法和改进BP算法的误差(取动量因子α=0.001 5,步长η=1.653)
Ⅱ 铁板神数推算法
1、《铁板神数》------中国古代占筮方法之一。
2、据称凡事皆有定数,故名曰“铁板”,其法采用皇极经世之计数方法。以卦值日月为主,神算为次。卦用错卦,以中所为起点,起复终坤。卦爻历表则依邵氏所编。河图卦、洛书卦、文王卦皆用,又不全用;并以京房之“吕律宫商”配入洹祥尺天卦与纳甲卦。
3、推算时则混合干支,以八卦隐人五行,兼用纳音谨中高干支,卦气值日,十声十二音等,以及吸收紫微斗数等术之星座神煞概念,属较复杂之终合预测方法培租。
Ⅲ 有哪些算法惊艳到了你
给一个Streaming的Data,未知长度,要求在Streaming结束后返回N个Data,且是等概率的。在听到这个问题的时候简直惊呆了。如果Streaming长度已知为L,当然对于每一个Data,我生成一个N/L的概率即可。但是长度未知,也即概率未知,怎么可能在Data来的时候判断要不要保留这个Data,还能保证是等概率的……百思不得其解。事后一番研究,才发现了这类算法,算法之简单令人惊叹:首先保留前N个Data,对于后面来的Data以N/i的概率选择是否保留,i为当前Data序号,保留的话在原来保留的N的Data中随机剔除一个。最后返回这N的即可。证明也很容易,奇妙得地方在于在计算概率的时候,出现了很长的,可以前后上下不断约掉的分式。相互约去之后剩下的概率刚好是N/L,L为总长度。简直美妙极了!显然这类算法也非常有用,因为在实际问题中会出现大量需要在Streaming的数据中进行Sample,为下一步处理数据做准备的情形。而这竟然有一个O(L)的算法,真是太惊艳了!
Ⅳ 三中三神奇算法是什么
三中三有公式规律,规律如下:两个奇数就会有一个偶数,所以前99个数中有66个奇数33个偶数,第100个数是奇数,综上所述,一共有67个奇数,33个偶数。
公式主要分为两大类计算:
1、大小序D:公式前面有注明字内母D的为大小序。算法是从小到大。(大小序第一个拼音字母)或直接写明大小序落球序。
2、落球序L:公式前面有注明字母L的为落球序算法(落球序第一个拼音字母)或直接写明落球序。公式里提到的〈平几肖〉。那就是第几平码所对应的生肖的最小岁数。
例:38所对应的生肖最小岁数是02,就要用02来计算。
算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。
形式化算法的概念部分源自尝试解决希尔伯特提出的判定问题,并在其后尝试定义有效计算性或者有效方法中成形。