• 线性神经网络


    介绍

    线性神经网络在结构上和感知器网络非常相似,只是神经元传输函数不同。

    假设输入向量为:

     

    权值向量为:

    则输出可以表示为:

     LMS学习算法

    线性什么网络学习的目标是找到适当的w,使得误差的均方差mse最小,在实际计算中,为了解决权值w的维数过高,计算较复杂的问题,采用梯度下降法,从空间某一点开始,沿着负梯度方向,最终达到最小值。

    误差

    代价函数:

    权值调整规则:

    收敛条件的选择

    收敛条件的选择对算法有较大的影响,常用的条件有:

    • 误差等于0或者小于事先规定的值。
    • 权值变化量已经很小,
    • 设置最大迭代次数,达到最大迭代次数后,算法强制结束

    学习率的选择

    学习率过小,则算法耗时过长;学习率过大,则可能导致误差在某个水平上反复振荡,影响收敛的稳定性。

    1996年Hayjin证明,只要学习率满足下式,LMS算法就是按方差收敛的:

    其中是输入向量x(n)组成的自相关矩阵R的最大特征值,由于常数通常不可知,因此往往是由自相关矩阵R的迹来代替。自相关矩阵主对角线元素就是个输入向量的均方值。因此公式又可以写 成:

     学习率随着学习的进行逐渐下降比始终不变更加合理。在学习初期,使用较大的学习率保证收敛速度,随着迭代的增加,减小学习率保证精度,确保收敛。

    线性神经网络和感知器对比

    感知器和线性神经网络在结构上非常相似,唯一的区别在于传输函数,感知器传输函数为一个简单的二值阈值元件;线性神经网络的传输函数是线性的。这就决定了感知器只能做简单的分类,而线性神经网络可以实现拟合或者逼近。

    LMS学习算法得到的分类边界往往处于两种模式的正中间,而感知器学习算法在刚刚能正确分类的位置就停下来了,从而使分类边界离一些模式较近,使系统对误差较为敏感。

    线性神经网络相关函数

    x=-5:5;
    y=3*x-7;
    randn('state',2);
    y=y+randn(1,length(y))*1.5;
    plot(x,y,'o')
    P=x
    T=y
    net=newlind(P,T);  %返回已经训练好的线性神经网络
    new_x=-5:0.2:5;
    new_y=sim(net,new_x);  %仿真测试
    hold on
    plot(new_x,new_y)
    net.iw   %[2.9219]
    net.b    %[-6.6797]
  • 相关阅读:
    学WPF (1 of n)干啥都有第一次
    程序启动时显示Flash窗体(C#)
    对象序列化后直接获取byte[]的方法
    工程管理(1 of n): 建立用于管理代码开发的注释标记
    发现Visual Studio隐含的大礼包漂亮的Visual Studio图像库
    C# Hello World
    更人性化地控制用户输入(1 of n)
    快手导航 计算机软件网址导航 时空地图TimeGIS
    中国图书馆图书分类法(Chinese Library Classification CLC)的XML文档生成 时空地图TimeGIS
    快手软件 v2.5 发布 时空地图TimeGIS
  • 原文地址:https://www.cnblogs.com/larry-xia/p/9245213.html
Copyright © 2020-2023  润新知