由于做研究需要,学习了一下matlab的知识。在学习过程当中也出现过问题,也学会一些办法来解决这些问题。在这里做一下笔记,来记录matlab神经网络学习过程。以下内容中还有很多是从网上借鉴而来,权当学习。
1.什么是神经网络
比较粗浅的解释是,我们把输入信号当做matlab中需要输入的数据,将这些数据输入到神经网路后,这些数据都会乘以个数,即权值w,得出的结果再与阈值b相加后求和得到u,为了能达到处理非线性的目的,u做了个变换,变换的规则和传输函数有关。
BP网络结构

BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。
BP网络函数生成(newff函数)
net=newff(PR,[S1 S2...SN],{TF1 TF2...TFN},BTF,BLF,PF)
PR:一个R*2矩阵,由R维输入向量的每维最小值和最大值组成
Si:第i层的神经元个数
TFi:第i层的传递函数,默认为tansig
BTF:训练函数,默认为trainlm
BLF:学习函数,默认为learngdm
PF:性能函数,默认为mse
关于隐含层节点数
n为输入层节点数
①s=log2n
②s=2n+1
2.BP算法网络训练失败的可能性较大,其原因有:
①从数学角度看,BP算法作为一种局部搜索的优化方法,但它要解决的问题为求解复杂非线性函数的局部极值,因此,算法很有可能陷入局部极值,使训练失败。
②网络的逼近、推广能力同学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。
3.求两个矩阵的相关性
可以用corrcoef函数来解决,corrcoef函数算出来的是皮尔逊(pearson)相关系数。例如A=corrcoef(X,Y); 输出A是一个二维矩阵,它的对角元恒为1,关于X,Y的相关系数就存放到A(1,2)=A(2,1)上,其值在[-1,1]之间,1代表最大的正相关,-1代表绝对值最大的负相关。
皮尔逊相关也称为积差相关(或积矩相关)是英国统计学家皮尔逊于20世纪提出的一种计算直线相关的方法。

回归分析
[b,bint,r,rint,stats]=regress(Y,X)
b是回归方程的系数,bint是回归系数的区间估计,r是残差,rint是置信区间,stats是用于检验回归模型的统计量,有三个参数:相关系数r^2,F值,与F对应的概率P。