用随机矩阵作为输入和输出,训练线性网络,发现能够完全仿真,但是P*[net.IW{:}]矩阵和目标矩阵却不存在任何线性关系(总是有一个向量为零向量),这说明可能线性神经网络不能运算非线性,可以拟合随机但是对于网络本身没有任何学习作用。(随机不包含任何模式),这说明线性神经网络也是一种模式识别网络。
貌似本人的版本的matlab计算矩阵存在错误(矩阵运算的时候出现不可能的超大元素,而且马上软件崩溃),所以以上结论仅供幻想。
用随机矩阵作为输入和输出,训练线性网络,发现能够完全仿真,但是P*[net.IW{:}]矩阵和目标矩阵却不存在任何线性关系(总是有一个向量为零向量),这说明可能线性神经网络不能运算非线性,可以拟合随机但是对于网络本身没有任何学习作用。(随机不包含任何模式),这说明线性神经网络也是一种模式识别网络。
貌似本人的版本的matlab计算矩阵存在错误(矩阵运算的时候出现不可能的超大元素,而且马上软件崩溃),所以以上结论仅供幻想。
9、线性神经网络的训练:
线性神经网络能够自动进行网络训练。但是内置的参数运算可以在命令区进行运算,errsurf(输入向量,目标输出向量,可取权值构成的行向量,可取偏差组成的行向量)
plotes(可取权值行向量,可取偏差的行向量,errsurf计算的误差矩阵,三维图采用的观察角度,默认的观察角度为[-37.5,30])
maxlinlr 计算线性神经元层的最大学习速率
lr=maxlinlr(P),lr=maxlinlr(P。‘bias’)
plotep在上面的图中会出当前网络的误差性能,其中的调用格式如下:h=plotep(当前网络权值,当前偏差向量,误差矩阵)
plotperf(TR,goal,name,epoch)
TR为train训练函数返回的记录对象 goal是训练目标值
name是网络的函数名称,epoch为目前的迭代次数
其中,errsurf函数中,输入向量、目标输出向量,可取权值组成的行向量是指限定权值最大值和最小值,可取偏差的行向量是指偏差的最大值(正负)。可取权值行向量形成了一个
三维上的立方体,权值矩阵.*权值(x)=输出向量权值矩阵.*权值(x)-目标向量=误差
也就是求权值矩阵.*权值-目标向量的最小值存在一个超平面,该超平面的最低点就是网络权值训练的最佳点
计算最大速率,仅靠p就能得出最大计算速率,因为前面规定学习速率需要比输入向量的自相关矩阵的最大本征值小 实际上这就是求该值
采用线性神经网络或者感知器解决非线性问题,所形成的误差曲面最低谷没有最小点,而是一条长沟或者其他。
10、线性神经网络的局限:
非线性:已经验证。
超定系统:只有一个输入和输出,但是却有四种约束方程,权值难以配合约束方程得到最佳解。不定系统:输入输出只有一个元素,待定变量多于约束方程,使得问题有无限解。
11、应用:
线性预测:length函数:向量长度。先形成了一个6*Length的0矩阵。然后用T内元素依次给P赋值(注意学习for语句的循环,比while简单),每有一个输出向量,生成六个输入向量。
(循环:首先设置一个行数为6,列数为输出向量数相同。每往下一列往后挪一个数。因此从第七个开始,每个训练向量都是结果往前推个的结果,这也是为什么网络在仿真的预测值在开始的六个位置误差下降第六位开始没有误差的原因,和网络训练没有关系,并非训练网络需要时间)。
自适应滤波抵消:con2seq函数的意义:将矩阵转化为连续信号,是adapt函数所需要的序列信号格式。
输入向量为一个函数,期望输出是它的一个变形,直接用先行网络训练能够很好拟合。
自适应滤波系统辨识:模型在某一个阶段内是线性的,但是在整个时间序列上是非线性的,那么就需要用自适应滤波辨识系统。Filter函数:Y=filter(A,B,X)将向量X以A,B规定的规则过滤为向量Y。
Filter一维滤波器
本人对线性神经网络不熟悉,而且它和模式识别、人工智能、心理模型建立的关系不大,只要学好它的权值学习法则和误差计算就可以了。而且其实线性神经网络问题在某种程度上是可以通过矩阵运算替代的,已经在matlab中证实,正方矩阵作为输入样本的线性神经网络,可能它的权值就是T/P,而其他网络只要完全拟合,T/P与网络权值的关系仅存在一个常数差。不过线性网络在线性滤波确实很强大。在信号学方面应该存在较大应用。