开发者学堂课程【机器学习算法 :自适应线性单元】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址: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),其主要作用是线性逼近一个函数式而进行模式联想。
该模型是最早用于实际工程解决实际问题的人工神经网络。这种自适应可调的神经网络主要适用于信号处理中的自适应滤波、预测、模式识别等。
主要应用于语音识别、天气预报、心电图诊断、信号处理以及系统辨识等方面。
2. 拓扑图图解:
左边一列 x1...xi...xn 表示一组向量,其中含有各个分量,同时还含有权重 w,最后是净输出。
净输出为各输入值乘以权重值相加,其中最大的区别是线性激活函数,而在之前介绍的感知器模型无论是单层还是双层使用的都是 sign 函数、for 函数它们的输出值都是离散的。而自适应线性单元最大的特点就是激活函数是线性激活函数。
选择了线性激活函数则输出值一定是连续输出值,而在此的连续输出值也与之前的预期输出值之间也有一个差,叫做误差。我们整个网络参数去调整主要权重值的标准就根据误差来进行调整,直至误差小到一定范围内。
量化函数表示,即便输出的是连续值也可以加上一个量化函数使得连续值变为离散值,使得之后既能够做回归分析又能够做回归预测。
3. 自适应滤波
表示在十分嘈杂的环境下说话时,我们需要将所说的话给提取出来,需要去掉很多环境的噪声,这就是滤波的一种。
二、ADALINE & 感知器
接下来了解 ADALINE 和感知器的区别
1.激活函数
两者主要的区别在于 ADALINE 为线性激活函数,感知器为 sign 激活函数。
2.误差
ADALINE 的输出值为连续值,所以误差就是一个连续值,而感知器的为分类值,所以输出为对或错。
3.总结
激活函数: ADALINE 的激活函数为线性函数,感知器的为阈值函数
误差更新:ADALINE 在输出最终结果前根据误差更新权重,感知器在输出最终结果后更新
损失函数︰ADALINE 使用均方误差 SSE 作为损失函数,因为有了损失函数就可最小化损失函数,感知器没有损失函数。其中的均方误差 SSE 为将实际输出和期望输出的差求出平方,即为均方误差。
计算方便:SSE 为凸函数,可微,有多种快速求解的方法,比如梯度下降法等
输出结果: ADALINE 可以输出连续值或者分类值,感知器智能输出分类值
三、最小均方学习规则
1962年 Bernard Widrow 和Marcian Hoff 提出了
Widrow-Hoff 学习规则,它可以使神经元实际输出和期望输出之间的二次方的差最小,所以又称为最小均方学习规则
(Least-Mean-Square ,LMS)。
最小均方算法是8学习规则的特例,其激活函数不同于8学习规则,不做任何变换:
最小均方算法和学习规则相比,无需求导数,学习速度快,且有不错的精度。
四、ADALINE 例子
1.题目
输入样本: x=(1.2,2,1.1)T,期望输出: d = 1.8,初始权值随机数 W(0)=(1.2.3)T,学习率 =0.6,训练单节点的 ADALINE 神经元。
2. 参考答案
此时已知输入样本 x,期望输出 d 和初始权值,依次计算出输出值=最初的权值乘以输出变量和误差值=期望输出 d-计算输出值。
然后再计算调整值=学习率0.6、误差值-6.9和输入变量x的乘积/输出变量的模。最后调整权值。
(1)第一次计算
(2)第二次计算
在有新的权值之后再计算输出值为-2.3、误差值4.1和调整值,最后调整权值。依次反复重复。
(3)第三次计算
计算输出值为4.2、误差值-2.4和调整值,最后调整权值。
(4)第四次计算
计算输出值为0.42、误差值1.38和调整值,最后调整权值。同时发现误差值在逐渐减小。
(5)第五次计算
计算输出值为2.61、误差值-0.81和调整值,最后调整权值。
(6)第六次计算
计算输出值为1.32、误差值0.48和调整值,最后调整权值。
①计算输出值:
②计算误差值:
③计算调整值:
④调整后权值:
(7)第七次计算
计算输出值为2.09、误差值-0.29和调整值,最后调整权值。
①计算输出值:
②计算误差值:
③计算调整值:
④调整后权值:
(8)第八次计算
计算输出值为1.63、误差值0.17和调整值,最后调整权值。此时并没有说明误差在多少范围内可以结束,所以继续计算。若说明为0.5以内即可,此时就可以不再计算。
①计算输出值:
②计算误差值
③计算调整值:
④调整后权值:
(9)第九次计算
计算输出值为1.897、误差值-0.097和调整值,最后调整权值。
①计算输出值:
②计算误差值:
③计算调整值:
④调整后权值:
(10)第十次计算
计算输出值为1.7429、误差值-0.0571和调整值,最后调整权值。
①计算输出值:
②计算误差值:
③计算调整值:
④调整后权值:
(11)第十一次计算
计算输出值为1.8339、误差值-0.03390,此时的误差值很少,被认为满足要求,所以最后将权重值计算出来就是结果。
①计算输出值:
②计算误差值:
③最后结果权重值:
五、MADALINE:多层自适应线性网络
Hoff 将 ADALINE 进行了改进和推广,提出 MADALINE模型,即将多个ADALINE 神经元互相连接形成一个多层网络,实际上是由ADALINE和AND逻辑器组成,可以对分线性数据进行划分。
同样采取 LMS 的算法j进行学习。但由于隐藏层的误差无法直接计算,即 LMS 算法不能直接 y 用于含有隐藏层的神经元网络,故 MADALINE 一般不含隐藏层。对此,Widrow 提出了一个需要微分的算法 MRⅡ用于解决多层网络的学习问题。