您的位置:

极限学习机——神经网络学习的一种新方法

极限学习机(Extreme Learning Machine,简称ELM)是机器学习中的一种神经网络算法,其主要思想是利用随机初始化方法和最小二乘法快速训练神经网络,解决了传统神经网络训练速度慢,易陷入局部极小值等问题。下面我们将从多个方面对极限学习机做详细阐述。

一、极限学习机课程学习

想要深入了解极限学习机,可以通过以下链接访问Coursera平台上的极限学习机课程学习:

https://www.coursera.org/learn/machine-learning-elm

该课程共包括四个章节,分别为:

1.极限学习机基础及应用

2.极限学习机高级应用

3.极限学习机在视觉和图像处理中的应用

4.极限学习机的理论问题及其解决方案

二、极限学习法

极限学习机是由黄广州等人发明的一种快速训练神经网络的算法,其主要特点在于:

1.隐藏层神经元的随机初始化,从而避免了必须要预设学习费用、学习规则的问题;

2.输出层神经元的线性加权和,无需激活函数的反复调整。这样做的好处是将训练速度进行了极大的提高,同时可以提高模型的泛化性能,减小了过度拟合的可能,增加了算法的抗干扰性。

三、极限学习机的程序框架教程

下面为大家介绍极限学习机的程序框架教程:

// 构造函数
function ELM(input_num, hidden_num, output_num) {
  // 初始化权重矩阵和阈值向量
  this.w = new Matrix(hidden_num, input_num);
  this.b = new Matrix(hidden_num, 1);
  this.beta = new Matrix(output_num, hidden_num);
  
  // 随机初始化权重矩阵和阈值向量
  this.w.randomize();
  this.b.randomize();
  
  // 训练方法
  this.train = function (input, output) {
    // 将输入矩阵和输出矩阵转置
    var inputT = input.transpose();
    var outputT = output.transpose();
  
    // 加权输出矩阵
    var A = new Matrix(hidden_num, input_num);
    A = this.w.multiply(inputT).add(this.b.repRow(input.getRows()));
  
    // 激活函数矩阵
    var H = new Matrix(hidden_num, input_num);
    H = A.map(function (x) {
      return Math.max(0, x);
    });
  
    // 计算输出权重矩阵
    this.beta = Matrix.pinv(H.transpose().multiply(H)).multiply(H.transpose()).multiply(outputT);
  };
  
  // 预测方法
  this.predict = function (input) {
    // 加权输出矩阵
    var A = new Matrix(hidden_num, input.getColumns());
    A = this.w.multiply(input).add(this.b.repColumn(input.getColumns()));
  
    // 激活函数矩阵
    var H = new Matrix(hidden_num, input.getColumns());
    H = A.map(function (x) {
      return Math.max(0, x);
    });
  
    // 计算输出预测矩阵
    return this.beta.multiply(H);
  };
}

四、极限学习机的缺点

极限学习机的缺点在于:

1. 隐含层节点数对算法的性能有很大的影响;

2. 在处理非线性可分的问题时,与传统的神经网络算法相比精度相对较低;

3. 在训练过程中对样本的敏感程度较高,不好处理噪声样本。

五、极限学习机的程序框架交流

如果对于极限学习机的算法程序有任何疑问或者想要交流,欢迎大家加入以下QQ群:

极限学习机技术交流群:xxxxxx

六、极限学习机回归

使用极限学习机进行回归分析时,常常需要将网络的输出限制在一定的范围内。这时可以考虑神经网络本身的特点,将网络的输出进行归一化处理,使其在一个固定的范围内波动,从而保证输出的有效性。

七、极限学习机原理

极限学习机的原理主要有以下两点:

1.隐含层神经元的随机初始化;

2.输出层神经元的线性加权和,无需激活函数的反复调整。

八、极限学习机和相关向量机

极限学习机和支持向量机(SVM)有相似之处,支持向量机利用核函数将数据映射到高维空间中,以划分出复杂的非线性决策区域;同样,极限学习机在一定的映射过程后也可以展现出支持向量机类似的特性,比如极限学习机和支持向量机在训练过程中都使用了最小二乘法。

九、极限学习机有哪些优点

极限学习机的优点在于:

1.加快了神经网络的训练速度;

2.提高了模型的泛化性能,减小了过度拟合的可能,增加了算法的抗干扰性;

3.广泛应用于信号处理、预测和分类等领域,独立的在线处理模块还可以用于大数据分析。

十、极限学习机多任务学校

如果你想深入学习极限学习机,并了解在多任务学习中的应用,可以参加以下极限学习机多任务学校:

https://www.elmtask.com/