- Prepare the Dataset: Use a dataset with two features for simplicity. You can use synthetic data or any suitable dataset.
- Implement the ELM: Implement the ELM by initializing the input weights and biases, computing the hidden layer output matrix, and calculating the output weights.
- Generate a Grid of Points: Create a grid of points covering the feature space to evaluate the classifier.
- Predict Class Labels: Use the trained ELM to predict class labels for each point in the grid.
- Plot the Decision Boundary: Visualize the decision boundary using contour plotting.
How to plot decision boundary using ELM classifier for two class problem.
1 view (last 30 days)
Show older comments
How to find decision boundary to classify two classes in Extreme learning machine classifier.please help
0 Comments
Answers (1)
Amith
on 19 Aug 2024
Hi Uma,
To find and visualize the decision boundary for a two-class classficiation problem using Extreme Learning in MATLAB you can follow these steps:
Steps to Implement ELM and Plot Decision Boundary in MATLAB
Below is an example MATLAB script to demonstrate these steps:
% Generate synthetic data
rng(1); % For reproducibility
n = 100;
X = [randn(n, 2) + 1; randn(n, 2) - 1];
y = [ones(n, 1); -ones(n, 1)];
% Standardize features
X = (X - mean(X)) ./ std(X);
% ELM Parameters
nHiddenUnits = 10;
% Initialize weights and biases
inputWeights = rand(size(X, 2), nHiddenUnits) * 2 - 1;
biases = rand(1, nHiddenUnits);
% Compute hidden layer output
H = 1 ./ (1 + exp(-(X * inputWeights + biases)));
% Compute output weights
outputWeights = pinv(H) * y;
% Create a grid of points for visualization
[xGrid, yGrid] = meshgrid(linspace(min(X(:,1))-1, max(X(:,1))+1, 100), ...
linspace(min(X(:,2))-1, max(X(:,2))+1, 100));
% Predict class labels for each point in the grid
gridPoints = [xGrid(:), yGrid(:)];
HGrid = 1 ./ (1 + exp(-(gridPoints * inputWeights + biases)));
predictions = HGrid * outputWeights;
% Reshape predictions to match the grid
Z = reshape(predictions, size(xGrid));
% Plot decision boundary and data points
figure;
contourf(xGrid, yGrid, Z, [0, 0], 'LineColor', 'k', 'LineWidth', 1.5);
hold on;
scatter(X(y == 1, 1), X(y == 1, 2), 'ro', 'filled');
scatter(X(y == -1, 1), X(y == -1, 2), 'bo', 'filled');
title('Decision Boundary of ELM');
xlabel('Feature 1');
ylabel('Feature 2');
legend('Decision Boundary', 'Class 1', 'Class -1');
axis tight;
hold off;
Hope this helps!
0 Comments
See Also
Categories
Find more on Statistics and Machine Learning Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!