Class: Rumale::NeuralNetwork::BaseRVFL

Inherits:
Base::Estimator show all
Defined in:
rumale-neural_network/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 Attribute Summary

Attributes inherited from Base::Estimator

#params

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 'rumale-neural_network/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