Class: Rumale::NeuralNetwork::BaseRVFL

Inherits:
Base::Estimator
  • Object
show all
Defined in:
lib/rumale/neural_network/base_rvfl.rb

Overview

BaseRVFL is an abstract class for implementation of random vector functional link (RVFL) network. This class is used internally.

Reference

  • Malik, A. K., Gao, R., Ganaie, M. A., Tanveer, M., and Suganthan, P. N., "Random vector functional link network: recent developments, applications, and future directions," Applied Soft Computing, vol. 143, 2023.
  • Zhang, L., and Suganthan, P. N., "A comprehensive evaluation of random vector functional link networks," Information Sciences, vol. 367--368, pp. 1094--1105, 2016.

Direct Known Subclasses

RVFLClassifier, RVFLRegressor

Instance Method Summary collapse

Constructor Details

#initialize(hidden_units: 128, reg_param: 100.0, scale: 1.0, random_seed: nil) ⇒ BaseRVFL

Create a random vector functional link network estimator.

Parameters:

  • hidden_units (Array) (defaults to: 128)

    The number of units in the hidden layer.

  • reg_param (Float) (defaults to: 100.0)

    The regularization parameter.

  • scale (Float) (defaults to: 1.0)

    The scale parameter for random weight and bias.

  • random_seed (Integer) (defaults to: nil)

    The seed value using to initialize the random generator.



21
22
23
24
25
26
27
28
29
30
# File 'lib/rumale/neural_network/base_rvfl.rb', line 21

def initialize(hidden_units: 128, reg_param: 100.0, scale: 1.0, random_seed: nil)
  super()
  @params = {
    hidden_units: hidden_units,
    reg_param: reg_param,
    scale: scale,
    random_seed: random_seed || srand
  }
  @rng = Random.new(@params[:random_seed])
end