基于核极限学习机(KELM)分类


文章目录

  • 基于核极限学习机(KELM)分类
  • 1.极限学习机原理概述
  • 2.ELM学习算法
  • 3.KELM理论基础
  • 4.分类问题
  • 5.测试结果
  • 6.Matlab代码



摘要:本文利用核极限学习机进行优化,并用于分类

1.极限学习机原理概述

典型的单隐含层前馈神经网络结构如图1 所示,由输入层、隐含层和输出层组成,输 入层与隐含层、隐含层与输出层神经元间全连接。其中,输入层有 n 个神经元,对应 n 个输入变量, 隐含层有 l个神经元;输出层有 m 个神经元 ,对应 m 个输出变量 。 为不失一般性,设输 入层与隐含层间的连接权值 w 为:
基于核极限学习机(KELM)分类 -附代码_权值
其中,基于核极限学习机(KELM)分类 -附代码_深度学习_02表示输入层第基于核极限学习机(KELM)分类 -附代码_算法_03个神经元与隐含层第基于核极限学习机(KELM)分类 -附代码_神经网络_04个神经元间的连接权值。

基于核极限学习机(KELM)分类 -附代码_深度学习_05

设隐含层与输出层间的连接权值 , 为基于核极限学习机(KELM)分类 -附代码_神经网络_06:
基于核极限学习机(KELM)分类 -附代码_机器学习_07
其中,自基于核极限学习机(KELM)分类 -附代码_算法_08表示隐含层第 j 个神经元与输出层第 k个神经元间的连接权值。

设隐含层神经元的阈值值 b 为:
基于核极限学习机(KELM)分类 -附代码_神经网络_09
设具有 Q 个样本的训练集输入矩阵 X 和输出矩阵 Y 分别为
基于核极限学习机(KELM)分类 -附代码_权值_10

KaTeX parse error: Undefined control sequence: \matrix at position 11: Y =\left[\̲m̲a̲t̲r̲i̲x̲{y_{11},y_{12},…

设隐含层神经元的激活函数为 g(x),则由图1 可得, 网络的输出 T 为:
基于核极限学习机(KELM)分类 -附代码_机器学习_11
式(6)可表示为:
基于核极限学习机(KELM)分类 -附代码_神经网络_12
其中, T’为矩阵 T 的转置; H 称为神经网络的隐含层输出矩阵 , 具体形式如下 :
基于核极限学习机(KELM)分类 -附代码_深度学习_13

2.ELM学习算法

由前文分析可知,ELM在训练之前可以随机产生 w 和 b , 只需确定隐含层神经元个数及隐含层和神经元的激活函数(无限可微) , 即可计算出基于核极限学习机(KELM)分类 -附代码_神经网络_06

(1)确定隐含层神经元个数,随机设定输入层与隐含层间的连接权值 w 和隐含层神经元的偏置 b ;

(2) 选择一个无限可微的函数作为隐含层神经元的激活函数,进而计算隐含层输出矩 阵 H ;

(3)计算输出层权值:基于核极限学习机(KELM)分类 -附代码_神经网络_15

值得一提的是,相关研究结果表明,在 ELM 中不仅许多非线性激活函数都可以使用(如 S 型函数、正弦函数和复合函数等),还可以使用不可微函数,甚至可以使用不连续的函数作为激活函数。

3.KELM理论基础

核极限学习机(Kernel Based Extreme Learning Machine,KELM)是基于极限学习机(Extreme Learning Machine,ELM)并结合核函数所提出的改进算法,KELM 能够在保留 ELM 优点的基础上提高模型的预测性能。

ELM 是一种单隐含层前馈神经网络,其学习目标函数F(x) 可用矩阵表示为:
基于核极限学习机(KELM)分类 -附代码_算法_16
式中:基于核极限学习机(KELM)分类 -附代码_权值_17 为输入向量,基于核极限学习机(KELM)分类 -附代码_机器学习_18基于核极限学习机(KELM)分类 -附代码_算法_19 为隐层节点输出,基于核极限学习机(KELM)分类 -附代码_算法_20 为输出权重,基于核极限学习机(KELM)分类 -附代码_神经网络_21

将网络训练变为线性系统求解的问题,基于核极限学习机(KELM)分类 -附代码_神经网络_06根据 基于核极限学习机(KELM)分类 -附代码_深度学习_23 确定,其中,基于核极限学习机(KELM)分类 -附代码_深度学习_24基于核极限学习机(KELM)分类 -附代码_算法_19 的广义逆矩阵。为增强神经网络的稳定性,引入正则化系数 基于核极限学习机(KELM)分类 -附代码_机器学习_26 和单位矩阵 基于核极限学习机(KELM)分类 -附代码_深度学习_27,则输出权值的最小二乘解为
基于核极限学习机(KELM)分类 -附代码_权值_28
引入核函数到 ELM 中,核矩阵为:
基于核极限学习机(KELM)分类 -附代码_权值_29
式中:基于核极限学习机(KELM)分类 -附代码_算法_30基于核极限学习机(KELM)分类 -附代码_权值_31 为试验输入向量,则可将式(9)表达为:
基于核极限学习机(KELM)分类 -附代码_机器学习_32
式中:基于核极限学习机(KELM)分类 -附代码_算法_33 为给定训练样本,基于核极限学习机(KELM)分类 -附代码_神经网络_34 为样本数量.基于核极限学习机(KELM)分类 -附代码_机器学习_35为核函数。

4.分类问题

本文对乳腺肿瘤数据进行分类。采用随机法产生训练集和测试集,其中训练集包含 500 个样本,测试集包含 69 个样本 。 测试正则化系数 C 和核函数参数 S 分别为2和4,选取核函数为rbf 高斯核函数。

5.测试结果

训练集结果如下图所示

基于核极限学习机(KELM)分类 -附代码_神经网络_36


测试集结果如下图所示:

基于核极限学习机(KELM)分类 -附代码_机器学习_37

训练集正确率:100%
测试集正确率:89.8551%
病例总数:569 良性:357 恶性:212
训练集病例总数:500 良性:300 恶性:200
测试集病例总数:69 良性:57 恶性:12
良性乳腺肿瘤确诊:55 误诊:2 确诊率p1=96.4912%
恶性乳腺肿瘤确诊:7 误诊:5 确诊率p2=58.3333%

6.Matlab代码

个人资料