![]() |
TfELM
|
Public Member Functions | |
| __init__ (self, Kernel kernel, activation='tanh', act_params=None, C=1.0, nystrom_approximation=False, landmark_selection_method='random', **params) | |
| build (self, input_shape) | |
| fit (self, x, y) | |
| predict (self, x) | |
| predict_proba (self, x) | |
| calc_output (self, x) | |
| __str__ (self) | |
| count_params (self) | |
| to_dict (self) | |
| load (cls, attributes) | |
Public Attributes | |
| K | |
| error_history | |
| feature_map | |
| name | |
| beta | |
| input | |
| output | |
| nystrom_approximation | |
| landmark_selection_method | |
| activation | |
| C | |
| denoising | |
| denoising_param | |
| kernel | |
Kernel Extreme Learning Machine (KELM) Layer.
This class implements a single layer of the Kernel Extreme Learning Machine.
Parameters:
-----------
kernel (object): Instance of a kernel function.
activation (str, optional): Name of the activation function. Defaults to 'tanh'.
act_params (dict, optional): Parameters for the activation function.
C (float, optional): Regularization parameter. Defaults to 1.0.
nystrom_approximation (bool, optional): Whether to use Nystrom approximation for large datasets.
Defaults to False.
landmark_selection_method (str, optional): Method for landmark selection if using Nystrom approximation.
Defaults to 'random'.
Attributes:
-----------
K (tensor): Kernel matrix.
error_history (list): History of errors during training.
feature_map (tensor): Feature map.
name (str): Name of the layer.
beta (tensor): Weights of the layer.
input (tensor): Input data.
output (tensor): Output data.
nystrom_approximation (bool): Indicates whether Nystrom approximation is used.
landmark_selection_method (str): Method for landmark selection.
activation (function): Activation function.
C (float): Regularization parameter.
kernel (object): Instance of a kernel function.
denoising (str, optional): Denoising method. Defaults to None.
denoising_param (float, optional): Denoising parameter. Defaults to None.
Methods:
-----------
build(input_shape): Build the layer with the given input shape.
fit(x, y): Fit the layer to the input-output pairs.
predict(x): Predict the output for the input data.
predict_proba(x): Predict class probabilities for the input data.
calc_output(x): Calculate the output for the input data.
count_params(): Count the number of trainable and non-trainable parameters.
to_dict(): Convert the layer attributes to a dictionary.
load(attributes): Load the layer from a dictionary of attributes.
Examples:
-----------
Initialize a Kernel (it can be instanced as Kernel class and its subclasses like CombinedProductKernel)
>>> kernel = CombinedProductKernel([Kernel("rational_quadratic"), Kernel("exponential")])
Initialize a Kernel Extreme Learning Machine (KELM) layer
>>> layer = KELMLayer(kernel, 'mish')
Initialize a Kernel Extreme Learning Machine (KELM) layer with Nystrom kernel matrix approximation
>>> layer = KELMLayer(kernel, 'mish', nystrom_approximation=True)
Initialize a Kernel Extreme Learning Machine (KELM) model
>>> model = KELMModel(layer) | KELMLayer.KELMLayer.build | ( | self, | |
| input_shape ) |
Build the layer with the given input shape.
This method initializes the layer by creating a kernel matrix placeholder
of appropriate dimensions based on the input shape.
Args:
-----------
input_shape (tuple): Shape of the input data.
Example:
-----------
>>> kelm = KELMLayer(number_neurons=1000, activation='mish')
>>> kelm.build(x.shape)
| KELMLayer.KELMLayer.calc_output | ( | self, | |
| x ) |
Calculate the output for the input data.
This method calculates the output for the given input data.
Args:
-----------
x (tensor): Input data.
Returns:
-----------
tensor: Calculated output.
| KELMLayer.KELMLayer.count_params | ( | self | ) |
Count the number of trainable and non-trainable parameters.
This method counts the number of trainable and non-trainable parameters
in the layer.
Returns:
-----------
dict: Dictionary containing the counts of trainable, non-trainable,
and total parameters.
| KELMLayer.KELMLayer.fit | ( | self, | |
| x, | |||
| y ) |
Fit the layer to the input-output pairs.
This method fits the layer to the given input-output pairs by calculating
the kernel matrix, applying regularization, and computing the weights.
Args:
-----------
x (tensor): Input data.
y (tensor): Target values.
Example:
-----------
>>> kelm = KELMLayer(number_neurons=1000, activation='mish')
>>> kelm.build(x.shape)
>>> kelm.fit(train_data, train_targets)
| KELMLayer.KELMLayer.load | ( | cls, | |
| attributes ) |
Load the layer from a dictionary of attributes.
This class method loads the layer from a dictionary of attributes.
Args:
-----------
attributes (dict): Dictionary containing the layer attributes.
Returns:
-----------
object: Instance of the loaded layer.
| KELMLayer.KELMLayer.predict | ( | self, | |
| x ) |
Predict the output for the input data.
This method predicts the output for the given input data.
Args:
-----------
x (tensor): Input data.
Returns:
-----------
tensor: Predicted output.
Example:
-----------
>>> kelm = KELMLayer(number_neurons=1000, activation='mish')
>>> kelm.build(x.shape)
>>> kelm.fit(train_data, train_targets)
>>> pred = kelm.predict(test_data)
| KELMLayer.KELMLayer.predict_proba | ( | self, | |
| x ) |
Predict class probabilities for the input data.
This method predicts class probabilities for the given input data.
Args:
-----------
x (tensor): Input data.
Returns:
-----------
numpy.ndarray: Predicted class probabilities.
Example:
-----------
>>> elm = ELMLayer(number_neurons=1000, activation='mish')
>>> elm.build(x.shape)
>>> elm.fit(train_data, train_targets)
>>> pred = elm.predict_proba(test_data)
| KELMLayer.KELMLayer.to_dict | ( | self | ) |
Convert the layer attributes to a dictionary.
This method converts the layer's attributes to a dictionary.
Returns:
-----------
dict: Dictionary containing the layer attributes.