感知机实现异或门MATLAB代码
时间: 2023-05-29 09:06:52 浏览: 83
以下是感知机实现异或门的MATLAB代码:
% 定义输入数据和期望输出
X = [0 0; 0 1; 1 0; 1 1];
Y = [0; 1; 1; 0];
% 定义初始权重和偏置
w = randn(2,1);
b = randn(1);
% 定义学习率和迭代次数
alpha = 0.1;
epochs = 10000;
% 训练模型
for i = 1:epochs
for j = 1:size(X,1)
x = X(j,:)';
y = Y(j);
z = w'*x + b;
a = 1/(1+exp(-z));
delta = a*(1-a)*(y-a);
w = w + alpha*delta*x;
b = b + alpha*delta;
end
end
% 预测结果
for j = 1:size(X,1)
x = X(j,:)';
z = w'*x + b;
a = 1/(1+exp(-z));
fprintf('输入:%d %d,输出:%d\n', x(1), x(2), round(a));
end
% 绘制决策边界
figure;
hold on;
scatter(X(:,1), X(:,2), 'filled');
x1 = min(X(:,1)):0.1:max(X(:,1));
x2 = -w(1)/w(2)*x1 - b/w(2);
plot(x1, x2);
xlabel('输入1');
ylabel('输入2');
title('感知机实现异或门');
legend('训练数据', '决策边界');
相关推荐
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)