← 开源
dclambert

Python-ELM

Extreme Learning Machine implementation in Python

Model DevelopmentClassical MLPython
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
552
Star
249
Fork
+0
本周
2
贡献者
创建于 2013-03-04 · 更新于 2026-08-17 · 今日第 17170 名
主要开发者
dclambertbryant1410

dclambert/Python-ELM 排名第 17,170,有 552 个星标。

同类别比较

dclambert/Python-ELM 排名第 17,170,此处有 8 个同类条目;facebookresearch/banmo 排名第 17,172。

同类别比较
名称排名指标
lee-zq/3DUNet-Pytorch17,160
语言:
Python
星标数:
553
分叉数:
107
简介:
3DUNet implemented with pytorch
taki0112/Self-Attention-GAN-Tensorflow17,163
语言:
Python
星标数:
553
分叉数:
147
简介:
Simple Tensorflow implementation of "Self-Attention Generative Adversarial Networks" (SAGAN)
uber-research/LaneGCN17,164
语言:
Python
星标数:
553
分叉数:
132
简介:
[ECCV2020 Oral] Learning Lane Graph Representations for Motion Forecasting
YudeWang/SEAM17,167
语言:
Python
星标数:
552
分叉数:
94
简介:
Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation, CVPR 2020 (Oral)
facebookresearch/banmo17,172
语言:
Python
星标数:
552
分叉数:
61
简介:
BANMo Building Animatable 3D Neural Models from Many Casual Videos
ryouchinsa/Rectlabel-support17,177
语言:
Jupyter Notebook
星标数:
552
分叉数:
72
简介:
RectLabel is an offline image annotation tool for object detection and segmentation.
LatticeX-Foundation/Rosetta17,182
语言:
C++
星标数:
551
分叉数:
107
简介:
A Privacy-Preserving Framework Based on TensorFlow
URLab-Sim/UnrealRoboticsLab17,185
语言:
C++
星标数:
551
分叉数:
67
简介:
A high-fidelity, open-source robotics simulator integrating Unreal Engine's photorealistic rendering with MuJoCo's precision physics.
关键参数与规格
关键参数与规格
参数值
语言Python
类别Model Development
子类别Classical ML
星标数552
分叉数249
贡献者2
创建日期2013-03-04
更新日期2026-08-17
1 天星标数0
7 天星标数0
排名17,170
上次排名16,955
排名变化-215
7 天星标排名15,949
上次 7 天星标排名15,956
7 天星标排名变化7
总星标排名17,914
上次总星标排名17,888
总星标排名变化-26
README 摘录

Two key reasons behind may be: 1) the slow gradient- based learning algorithms are extensively used to train neural networks, and 2) all the parameters of the networks are tuned iteratively by using such learning algorithms. Unlike these traditional implementations, this paper proposes a new learning algorithm called extreme learning machine (ELM) for single- hidden layer feedforward neural networks (SLFNs) which ran- domly chooses the input weights and analytically determines the output weights of SLFNs. In theory, this algorithm tends

to provide the best generalization performance at extremely fast learning speed. The experimental results based on real- world benchmarking function approximation and classification problems including large complex applications show that the new algorithm can produce best generalization performance in some cases and can learn much faster than traditional popular learning algorithms for feedforward neural networks. It's a work in progress, so things can/might/will change. py__ Contains the __RandomLayer__, __MLPRandomLayer__, __RBFRandomLayer__ and __GRBFRandomLayer__ classes. RandomLayer is a transformer that

creates a feature mapping of the inputs that corresponds to a layer of hidden units with randomly generated components. The transformed values are a specified function of input activations that are a weighted combination of dot product (multilayer perceptron) and distance (rbf) activations: _mlp_activation_ is multi-layer perceptron input activation _rbf_activation_ is radial basis function input activation _alpha_ and _rbf_width_ are specified by the user _weights_ and _biases_ are taken from normal distribution of mean 0 and

sd of 1 _centers_ are taken uniformly from the bounding hyperrectangle of the inputs, and (All random components can be supplied by the user by providing entries in the dictionary given as the _user_components_ parameter. ) The input activation is transformed by a transfer function that defaults to numpy. tanh if not specified, but can be any callable that returns an array of the same shape as its argument (the input activation array, of shape [n_samples, n_hidden]). Transfer

functions provided are: sine tanh tribas inv_tribas sigmoid hardlim softlim gaussian multiquadric inv_multiquadric MLPRandomLayer and RBFRandomLayer classes are just wrappers around the RandomLayer class, with the _alpha_ mixing parameter set to 1. 0 respectively (for 100% MLP input activation, or 100% RBF input activation) The RandomLayer, MLPRandomLayer, RBFRandomLayer classes can take a callable user provided transfer function. See the docstrings and the example ipython notebook for details. The GRBFRandomLayer implements the Generalized Radial Basis Function from [[3]]( __elm

. py__ Contains the __ELMRegressor__, __ELMClassifier__, __GenELMRegressor__, and __GenELMClassifier__ classes. GenELMRegressor and GenELMClassifier both take *RandomLayer instances as part of their contructors, and an optional regressor (conforming to the sklearn API)for performing the fit (instead of the default linear fit using the pseudo inverse from scipy. GenELMClassifier is little more than a wrapper around GenELMRegressor that binarizes the target array before performing a regression, then unbinarizes the prediction of the regressor to make its own predictions. The ELMRegressor class is

a wrapper around GenELMRegressor that uses a RandomLayer instance by default and exposes the RandomLayer parameters in the constructor. ELMClassifier

常见问题

记录了多少星标和分叉?

dclambert/Python-ELM 有 552 个星标和 249 个分叉。

仓库排名是多少?

dclambert/Python-ELM 排名第 17,170。

记录的语言和类别是什么?

dclambert/Python-ELM 有 552 个星标,语言为 Python,类别为 Model Development。

哪个仓库排名最接近?

dclambert/Python-ELM 与 facebookresearch/banmo 比较,后者排名第 17,172,有 552 个星标。

README

Python-ELM v0.3

---> ARCHIVED March 2021 <---

This is an implementation of the Extreme Learning Machine [1][2] in Python, based on scikit-learn.
From the abstract:

It is clear that the learning speed of feedforward neural networks is in general far slower than required and it has been a major bottleneck in their applications for past decades. Two key reasons behind may be: 1) the slow gradient- based learning algorithms are extensively used to train neural networks, and 2) all the parameters of the networks are tuned iteratively by using such learning algorithms. Unlike these traditional implementations, this paper proposes a new learning algorithm called extreme learning machine (ELM) for single- hidden layer feedforward neural networks (SLFNs) which ran- domly chooses the input weights and analytically determines the output weights of SLFNs. In theory, this algorithm tends to provide the best generalization performance at extremely fast learning speed. The experimental results based on real- world benchmarking function approximation and classification problems including large complex applications show that the new algorithm can produce best generalization performance in some cases and can learn much faster than traditional popular learning algorithms for feedforward neural networks.

It's a work in progress, so things can/might/will change.

David C. Lambert
dcl [at] panix [dot] com

Copyright © 2013
License: Simple BSD

Files

random_layer.py

Contains the RandomLayer, MLPRandomLayer, RBFRandomLayer and GRBFRandomLayer classes.

RandomLayer is a transformer that creates a feature mapping of the inputs that corresponds to a layer of hidden units with randomly generated components.

The transformed values are a specified function of input activations that are a weighted combination of dot product (multilayer perceptron) and distance (rbf) activations:

  input_activation = alpha * mlp_activation + (1-alpha) * rbf_activation

  mlp_activation(x) = dot(x, weights) + bias
  rbf_activation(x) = rbf_width * ||x - center||/radius

mlp_activation is multi-layer perceptron input activation

rbf_activation is radial basis function input activation

alpha and rbf_width are specified by the user

weights and biases are taken from normal distribution of mean 0 and sd of 1

centers are taken uniformly from the bounding hyperrectangle of the inputs, and

radius = max(||x-c||)/sqrt(n_centers*2)

(All random components can be supplied by the user by providing entries in the dictionary given as the user_components parameter.)

The input activation is transformed by a transfer function that defaults to numpy.tanh if not specified, but can be any callable that returns an array of the same shape as its argument (the input activation array, of shape [n_samples, n_hidden]).

Transfer functions provided are:

  • sine
  • tanh
  • tribas
  • inv_tribas
  • sigmoid
  • hardlim
  • softlim
  • gaussian
  • multiquadric
  • inv_multiquadric

MLPRandomLayer and RBFRandomLayer classes are just wrappers around the RandomLayer class, with the alpha mixing parameter set to 1.0 and 0.0 respectively (for 100% MLP input activation, or 100% RBF input activation)

The RandomLayer, MLPRandomLayer, RBFRandomLayer classes can take a callable user provided transfer function. See the docstrings and the example ipython notebook for details.

The GRBFRandomLayer implements the Generalized Radial Basis Function from [3]

elm.py

Contains the ELMRegressor, ELMClassifier, GenELMRegressor, and GenELMClassifier classes.

GenELMRegressor and GenELMClassifier both take *RandomLayer instances as part of their contructors, and an optional regressor (conforming to the sklearn API)for performing the fit (instead of the default linear fit using the pseudo inverse from scipy.pinv2). GenELMClassifier is little more than a wrapper around GenELMRegressor that binarizes the target array before performing a regression, then unbinarizes the prediction of the regressor to make its own predictions.

The ELMRegressor class is a wrapper around GenELMRegressor that uses a RandomLayer instance by default and exposes the RandomLayer parameters in the constructor. ELMClassifier is similar for classification.

plot_elm_comparison.py

A small demo (based on scikit-learn's plot_classifier_comparison) that shows the decision functions of a couple of different instantiations of the GenELMClassifier on three different datasets.

elm_notebook.py

An IPython notebook, illustrating several ways to use the *ELM* and *RandomLayer classes.

Requirements

Written using Python 2.7.3, numpy 1.6.1, scipy 0.10.1, scikit-learn 0.13.1 and ipython 0.12.1

References

[1] http://www.extreme-learning-machines.org

[2] G.-B. Huang, Q.-Y. Zhu and C.-K. Siew, "Extreme Learning Machine:
          Theory and Applications", Neurocomputing, vol. 70, pp. 489-501,
          2006.
          
[3] Fernandez-Navarro, et al, "MELM-GRBF: a modified version of the  
          extreme learning machine for generalized radial basis function  
          neural networks", Neurocomputing 74 (2011), 2502-2510
排名相邻
同类项目