NNFLC Assignment - 7 Submitted By:-Name: - Aman Kapil Roll No.: - 21001017005 Q1: - Implement AND Gate Using Hebb's Network in Matlab
NNFLC Assignment - 7 Submitted By:-Name: - Aman Kapil Roll No.: - 21001017005 Q1: - Implement AND Gate Using Hebb's Network in Matlab
Submitted By:-
Name:- Aman Kapil
Roll No.:- 21001017005
data = [
1 1 1;
-1 1 -1;
1 -1 -1;
-1 -1 -1
];
w1 = 0;
w2 = 0;
b = 0;
learning_rate = 1;
for i = 1:size(data, 1)
x1 = data(i, 1);
x2 = data(i, 2);
y = data(i, 3);
delta_w1 = learning_rate * x1 * y;
delta_w2 = learning_rate * x2 * y;
delta_b = learning_rate * y;
w1 = w1 + delta_w1;
w2 = w2 + delta_w2;
b = b + delta_b;
end
fprintf('Final weights and bias:\n');
fprintf('w1 = %d, w2 = %d, b = %d\n', w1, w2,
b);
% Testing with data points (1, -1)
test_x1 = 1;
test_x2 = -1;
% Calculate the output for the test point
y_test = sign(w1 * test_x1 + w2 * test_x2 +
b);
fprintf('Output for test input (1, -1): y = %d\n', y_test);
Q2:- Distinguish between two given patterns using Hebb’s network in Matlab.
Ans:-
# CODE:-
% Training data where + = 1 and . = -1
data = [
1 -1 -1 1 -1 -1 1 -1 -1 1 1 1 1;
1 -1 1 1 -1 1 1 -1 1 1 1 1 -1
];
w1 = 0; w2 = 0; w3 = 0; w4 = 0; w5 = 0; w6 = 0;
w7 = 0; w8 = 0; w9 = 0; w10 = 0; w11 = 0; w12 = 0;
b = 0;
learning_rate = 1;
for i = 1:size(data, 1)
x1 = data(i, 1);
x2 = data(i, 2);
x3 = data(i, 3);
x4 = data(i, 4);
x5 = data(i, 5);
x6 = data(i, 6);
x7 = data(i, 7);
x8 = data(i, 8);
x9 = data(i, 9);
x10 = data(i, 10);
x11 = data(i, 11);
x12 = data(i, 12);