自适应线性单元| 学习笔记

简介: 快速学习自适应线性单元。

开发者学堂课程【机器学习算法 :自适应线性单元】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/535/detail/7239


自适应线性单元

 

内容介绍

一、自适应线性单元

二、ADALINE & 感知器

三、最小均方学习规则

四、ADALINE 例子

五、MADALINE: 多层自适应线性网络

 

一、自适应线性单元

1.概念

在介绍神经网络规则时,提到过最小均方算法,简称 LMS 算法,它又称为Widrow-Hoff 算法,是由 Widrow 和 Hoff 两个人联合提出的。在此自适应可调的神经网络也是由 Widrow 提出的。

1962年,斯坦福大学教授 Widrow 提出一种自适应可调的神经网络,其基本构成单元称为自适应线性单元(Adaptive Linear Neuron ,简称 ADALINE),其主要作用是线性逼近一个函数式而进行模式联想。

该模型是最早用于实际工程解决实际问题的人工神经网络。这种自适应可调的神经网络主要适用于信号处理中的自适应滤波、预测、模式识别等。

主要应用于语音识别、天气预报、心电图诊断、信号处理以及系统辨识等方面。

图片18.png

2. 拓扑图图解:

左边一列 x1...xi...xn 表示一组向量,其中含有各个分量,同时还含有权重 w,最后是净输出。

净输出为各输入值乘以权重值相加,其中最大的区别是线性激活函数,而在之前介绍的感知器模型无论是单层还是双层使用的都是 sign 函数、for 函数它们的输出值都是离散的。而自适应线性单元最大的特点就是激活函数是线性激活函数。

选择了线性激活函数则输出值一定是连续输出值,而在此的连续输出值也与之前的预期输出值之间也有一个差,叫做误差。我们整个网络参数去调整主要权重值的标准就根据误差来进行调整,直至误差小到一定范围内。

量化函数表示,即便输出的是连续值也可以加上一个量化函数使得连续值变为离散值,使得之后既能够做回归分析又能够做回归预测。

3. 自适应滤波

表示在十分嘈杂的环境下说话时,我们需要将所说的话给提取出来,需要去掉很多环境的噪声,这就是滤波的一种。

 

二、ADALINE & 感知器

接下来了解 ADALINE 和感知器的区别

1.激活函数

两者主要的区别在于 ADALINE 为线性激活函数,感知器为 sign 激活函数。

2.误差

ADALINE 的输出值为连续值,所以误差就是一个连续值,而感知器的为分类值,所以输出为对或错。

图片19.png

3.总结

激活函数: ADALINE 的激活函数为线性函数,感知器的为阈值函数

误差更新:ADALINE 在输出最终结果前根据误差更新权重,感知器在输出最终结果后更新

损失函数︰ADALINE 使用均方误差 SSE 作为损失函数,因为有了损失函数就可最小化损失函数,感知器没有损失函数。其中的均方误差 SSE 为将实际输出和期望输出的差求出平方,即为均方误差。

计算方便:SSE 为凸函数,可微,有多种快速求解的方法,比如梯度下降法等

输出结果: ADALINE 可以输出连续值或者分类值,感知器智能输出分类值

 

三、最小均方学习规则

1962年 Bernard Widrow 和Marcian Hoff 提出了

Widrow-Hoff 学习规则,它可以使神经元实际输出和期望输出之间的二次方的差最小,所以又称为最小均方学习规则

(Least-Mean-Square ,LMS)。

图片20.png 

最小均方算法是8学习规则的特例,其激活函数不同于8学习规则,不做任何变换:

图片21.png

最小均方算法和图片22.png学习规则相比,无需求导数,学习速度快,且有不错的精度。

 

四、ADALINE 例子

1.题目

输入样本: x=(1.2,2,1.1)T,期望输出: d = 1.8,初始权值随机数 W(0)=(1.2.3)T,学习率 图片23.png=0.6,训练单节点的 ADALINE 神经元。

图片24.png

2. 参考答案

此时已知输入样本 x,期望输出 d 和初始权值,依次计算出输出值=最初的权值乘以输出变量和误差值=期望输出 d-计算输出值。

然后再计算调整值=学习率0.6、误差值-6.9和输入变量x的乘积/输出变量的模。最后调整权值。

(1)第一次计算

图片25.png

(2)第二次计算

在有新的权值之后再计算输出值为-2.3、误差值4.1和调整值,最后调整权值。依次反复重复。

 图片26.png

(3)第三次计算    

计算输出值为4.2、误差值-2.4和调整值,最后调整权值。

图片27.png

(4)第四次计算

计算输出值为0.42、误差值1.38和调整值,最后调整权值。同时发现误差值在逐渐减小。

图片28.png

(5)第五次计算

计算输出值为2.61、误差值-0.81和调整值,最后调整权值。

图片29.png

(6)第六次计算

计算输出值为1.32、误差值0.48和调整值,最后调整权值。

计算输出值:

图片30.png

计算误差值:

图片31.png 

③计算调整值:

图片32.png

调整后权值:

图片33.png 

(7)第七次计算

计算输出值为2.09、误差值-0.29和调整值,最后调整权值。

计算输出值:

图片34.png 

计算误差值:

图片35.png

计算调整值:

图片36.png 

调整后权值:

图片37.png

(8)第八次计算

计算输出值为1.63、误差值0.17和调整值,最后调整权值。此时并没有说明误差在多少范围内可以结束,所以继续计算。若说明为0.5以内即可,此时就可以不再计算。

计算输出值:

图片38.png 

计算误差值

 图片39.png

计算调整值:

图片40.png

调整后权值:

图片41.png 

(9)第九次计算

计算输出值为1.897、误差值-0.097和调整值,最后调整权值。

①计算输出值:

图片42.png

②计算误差值:

图片43.png

计算调整值:

图片44.png

调整后权值:

图片45.png 

(10)第十次计算

计算输出值为1.7429、误差值-0.0571和调整值,最后调整权值。

计算输出值:

图片46.png

计算误差值:

图片47.png

计算调整值:

图片48.png

调整后权值:

图片49.png

(11)第十一次计算

计算输出值为1.8339、误差值-0.03390,此时的误差值很少,被认为满足要求,所以最后将权重值计算出来就是结果。

计算输出值:

图片50.png

计算误差值:

图片51.png

最后结果权重值:

图片52.png


五、MADALINE:多层自适应线性网络

Hoff 将 ADALINE 进行了改进和推广,提出 MADALINE模型,即将多个ADALINE 神经元互相连接形成一个多层网络,实际上是由ADALINE和AND逻辑器组成,可以对分线性数据进行划分。

同样采取 LMS 的算法j进行学习。但由于隐藏层的误差无法直接计算,即 LMS 算法不能直接 y 用于含有隐藏层的神经元网络,故 MADALINE 一般不含隐藏层。对此,Widrow 提出了一个需要微分的算法 MRⅡ用于解决多层网络的学习问题。

图片53.png

相关文章
|
机器学习/深度学习
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
1196 0
普通卷积、分组卷积和深度分离卷积概念以及参数量计算
|
1月前
|
机器学习/深度学习 算法 数据挖掘
稀疏促进动态模态分解(SPDMD)详细介绍以及应用
稀疏促进动态模态分解(SPDMD)结合了动态模态分解(DMD)的数学优雅性和稀疏优化技术,有效提取高维数据中的关键特征。SPDMD通过稀疏约束自动筛选出最重要模态,去除冗余信息,提升模型的可解释性和计算效率。该方法在流体动力学、图像处理、时间序列分析及金融数据等领域广泛应用,能够识别主要趋势、周期性模式及异常现象。SPDMD不仅提高了数据分析效率,还为各领域研究提供了强有力的工具。通过自动选择最相关的模态,SPDMD尤其适用于大规模数据集和实时应用。
57 4
|
4月前
|
机器学习/深度学习 编解码 PyTorch
【YOLOv8改进】HWD: Haar小波降采样,用于语义分割的降采样模块,减少特征图的空间分辨率
YOLOv8专栏探讨了卷积网络的改进,特别是提出了一种名为HWD的基于Haar小波的下采样模块,用于语义分割,旨在保留更多空间信息。HWD结合了无损编码和特征表示学习,提高了模型性能并减少了信息不确定性。新度量标准FEI量化了下采样的信息保留能力。论文和代码可在提供的链接中找到。核心代码展示了如何在PyTorch中实现HWD模块。
|
6月前
|
数据可视化
R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
R语言用Rshiny探索lme4广义线性混合模型(GLMM)和线性混合模型(LMM)
|
6月前
LabVIEW连续采样与有限采样模式
LabVIEW连续采样与有限采样模式
244 0
|
编解码 算法 数据可视化
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
【多重信号分类】超分辨率测向方法——依赖于将观测空间分解为噪声子空间和源/信号子空间的方法具有高分辨率(HR)并产生准确的估计(Matlab代码实现)
110 0
|
机器学习/深度学习 决策智能
矩阵分析 (一) 线性空间和线性变换
矩阵分析 (一) 线性空间和线性变换
192 0
|
6月前
|
机器学习/深度学习 编解码 自然语言处理
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
LRP-QViT完美而来 | 输出层分配相关性+剪切通道让Swin Transformer量化后居然涨1.5个点
279 0
|
6月前
|
机器学习/深度学习 算法 网络安全
【一起撸个DL框架】5 实现:自适应线性单元
5 实现:自适应线性单元🍇 1 简介 上一篇:【一起撸个DL框架】4 反向传播求梯度 上一节我们实现了计算图的反向传播,可以求结果节点关于任意节点的梯度。下面我们将使用梯度来更新参数,实现一个简单的自适应线性单元。
55 0
|
算法
【模型预测控制MPC】使用离散、连续、线性或非线性模型对预测控制进行建模(Matlab代码实现)
【模型预测控制MPC】使用离散、连续、线性或非线性模型对预测控制进行建模(Matlab代码实现)
526 0