最小均方算法(LMS)
一、LMS算法
全称Least mean square 算法。中文是最小均方算法。
感知器和自适应线性元件在历史上几乎是同时提出的,并且两者在对权值的调整的算法非常相似。它们都是基于纠错学习规则的学习算法。感知器算法存在如下问题:不能推广到一般的前向网络中;函数不是线性可分时,得不出任何结果。而由美国斯坦福大学的Widrow和Hoff在研究自适应理论时提出的LMS算法,由于其容易实现而很快得到了广泛应用,成为自适应滤波的标准算法。
均方差这个概念的公式如下所示:
(1)
上述公式中的R表示正确的预期结果,C表示当前计算结果。这个便是LMS算法中终止算法的核心公式。
如何得到当前计算结果C的公式如下所示:
(2)
i表示输入值,W表示输入端所对应的权值,对这两个值进行乘法运算后,并求和。对于求和的结果可以进行一定处理,比如大于0的O便为1;否则就为-1。
用于调整输入端权值的公式如下所示:
(3)
在算法运行时,不断利用公式(2)进行输入端的权值调整,使权值越来越接近正确值。其中w便是输入端所对应的权值,I是输入值,它表示学习参数,一般为小于1的正数。
LMS算法步骤:
1,、设置变量和参量:
X(n)为输入向量,或称为训练样本
W(n)为权值向量
b(n)为偏差
d(n)为期望输出
y(n)为实际输出
η为学习速率
n为迭代次数
2、初始化,赋给w(0)各一个较小的随机非零值,令n=0
3、对于一组输入样本x(n)和对应的期望输出d,计算
e(n)=d(n)-X(n)^W(n)
W(n+1)=W(n)+ηX(n)e(n)
4、判断是否满足条件,若满足算法结束,若否n增加1,转入第3步继续执行。
二、代码
LMS(Least Mean Squre)算法
% 输入参数:
% xn 输入的信号序列 (列向量)
% dn 所期望的响应序列 (列向量)
% M 滤波器的阶数 (标量)
% mu 收敛因子(步长) (标量) 要求大于0,小于xn的相关矩阵最大特征值的倒数
% itr 迭代次数 (标量) 默认为xn的长度,M<itr<length(xn)
% 输出参数:
% W 滤波器的权值矩阵 (矩阵)
% 大小为M x itr,
% en 误差序列(itr x 1) (列向量)
% yn 实际输出序列 (列向量)
% 参数个数必须为4个或5个
if nargin == 4 % 4个时递归迭代的次数为xn的长度
itr = length(xn);
elseif nargin == 5 % 5个时满足M<itr<length(xn)
if itr>length(xn) | itr<M
error('迭代次数过大或过小!');
end
else
error('请检查输入参数的个数!');
end
% 初始化参数
en = zeros(itr,1); % 误差序列,en(k)表示第k次迭代时预期输出与实际输入的误差
W = zeros(M,itr); % 每一行代表一个加权参量,每一列代表-次迭代,初始为0
% 迭代计算
for k = M:itr % 第k次迭代
x = xn(k:-1:k-M+1); % 滤波器M个抽头的输入
y = W(:,k-1).' * x; % 滤波器的输出
en(k) = dn(k) - y ; % 第k次迭代的误差
% 滤波器权值计算的迭代式
W(:,k) = W(:,k-1) + 2*mu*en(k)*x;
end
% 求最优时滤波器的输出序列
yn = inf * ones(size(xn));
for k = M:length(xn)
x = xn(k:-1:k-M+1);
yn(k) = W(:,end).'* x;
end
最小均方算法(LMS)相关推荐
- python 最小值算法_机器学习:Python实现最小均方算法(lms)
lms算法跟Rosenblatt感知器相比,主要区别就是权值修正方法不一样.lms采用的是批量修正算法,Rosenblatt感知器使用的 是单样本修正算法.两种算法都是单层感知器,也只适用于线性可分的 ...
- 神经网络与机器学习 笔记—LMS(最小均方算法)和学习率退火
神经网络与机器学习 笔记-LMS(最小均方算法)和学习率退火 LMS算法和Rosenblatt感知器算法非常想,唯独就是去掉了神经元的压制函数,Rosenblatt用的Sgn压制函数,LMS不需要压制 ...
- lms算法的verilog实现_最小均方算法(LMS Algorithm)理论及DSP实现
LMS算法可认为是机器学习里面最基本也比较有用的算法,神经网络中对参数的学习使用的就是LMS的思想,在通信信号处理领域LMS也非常常见,比如自适应滤波器. 本文主要对LMS(Least Mean Sq ...
- 最小均方算法(LMS Algorithm)理论及DSP实现
LMS算法可认为是机器学习里面最基本也比较有用的算法,神经网络中对参数的学习使用的就是LMS的思想,在通信信号处理领域LMS也非常常见,比如自适应滤波器. 本文主要对LMS(Least Mean Sq ...
- LMS Algorithm 最小均方算法
承接上一篇博文中的线性回归中的的cost function.我们想要找出能使得 J(θ)最小的θ(也叫weights). 其中J(θ)如下所示: 为了做到使其值最小,让我们使用一个search alg ...
- 机器学习算法|LMS(Least Mean Square)最小均方算法公式推导
- 最小均方算法二分类(基于双月数据集)
1.生成数据集 import numpy as np import matplotlib.pyplot as pltclass moon_data_class(object):def __init__ ...
- 传统语音增强——最小均方(LMS)自适应滤波算法
一.语音降噪的意义 语音降噪主要研究如何利用信号处理技术消除信号中的强噪声干扰,从而提高输出信噪比以提取出有用信号的技术.消除信号中噪声污染的通常方法是让受污染的信号通过一个能抑制噪声而让信号相对不变 ...
- 光纤 matlab,matlab – 均衡光纤通道的最小均方
我使用LMS的Matlab代码(最小均方算法)来均衡通道的效果,它适用于在MATLAB中生成的抽头延迟通道,但对于使用光谱系统程序的光纤通道,它不能正常工作,我认为问题在于光纤脉冲响应,因为它不是有限 ...
最新文章
- ISME:比较基因组学揭示蓝藻进化和生境适应性特征
- jqurey操作select 语法解释
- 九十分钟极速入门Linux——Linux Guide for Developments 学习笔记
- 用vim 配置javascript
- nx二次开发c语言,NX二次开发-UFUN API函数编程基础
- html4废弃了哪些元素,HTML中的一些废弃元素_html
- python opencv 实现从一个文件夹中读取图片做切割处理后放入另一个文件夹
- 查询MySQL中某个数据库中有多少张表
- Android 性能优化——之控件的优化
- 一直都说字节跳动有点难,这次体会了,而且被怼了~
- iOS之自定义pickerview(行驶里程数)
- 中断python快捷键_python的快捷键
- 即将首发 | 业界首个零售数字化创新白皮书,解锁全链路数字化致胜秘籍
- 华中科技大学计算机学院陈迪,华中科技大学2011届“优秀毕业生”公示名单
- iOS应用内购基本步骤及问题
- 如何用elastic APM实现用户行为轨迹监控(User Journey Monitoring)
- 大屯公司办公系统服务器地址,OA系统地址
- 负离子空气净化器哪个牌子好,空气净化器科普
- linux设备驱动归纳总结(十):1.udevmisc
- Testin云测如何成为传统企业转型升级的“X”因子?
热门文章
- 4. 查询非计算机科学系中比计算机科学系任意一个学生年龄小的学生姓名和年龄
- 【渝粤题库】陕西师范大学700000 生物科学研究方法 作业(专升本)
- ROS源码安装teleop_twist_keyboard
- 透过大数据剖析漫画何去何从
- 妙趣横生的算法 C语言实现 pdf
- 利用Pano2VR +PS在全景图中补地以及添加图片
- 首届“千海金”杯信物文化珠宝设计赛在京启动
- Authorization not available. Check if polkit service is running or see debug message for more
- 5G智慧港口场景的传输网络切片应用
- 在计算机网络术语中wan的中文意思是什么,男生聊天中wan是什么意思 wan是什么的缩写...