⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gen_data_linear_sep.m

📁 Perceptron matlab code
💻 M
字号:
function [X,Y] = Gen_Data_Linear_Sep(N,d,gap)

X = rand(N,d);
Y = zeros(N,1);

beta_hat = ones(d,1);

beta_zero_hat = -1;

val = zeros(N,1);
for i = 1:N
    val(i) = (beta_zero_hat + X(i,:) * beta_hat);
    if val(i) > 0
        Y(i) = 1;
    else
        Y(i) = -1;
    end
end

ind_valid = find(abs(val)>gap);
X = X(ind_valid,:);
Y = Y(ind_valid,:);


ind_1 = find(Y >0);
ind_2 = find(Y<=0);


max_x = max(X);
min_x = min(X);
X_plot = [min_x;max_x];

figure(1000);
plot(X(ind_1,1),X(ind_1,2),'rs');
hold on
plot(X(ind_2,1),X(ind_2,2),'bo');
% if abs(beta_hat(2)) > abs(beta_hat(1))
%     zx = X_plot(:,1);
%     yy = -(zx * beta_hat(1) + beta_zero_hat)/beta_hat(2);
%     plot(zx,yy,'r-');
%     
% else
%     zx = X_plot(:,2);
%     yy = -(zx * beta_hat(2) + beta_zero_hat)/beta_hat(1);
%     plot(yy,zx,'r-');
% end
%axis([min_x(1) max_x(1) min_x(2) max_x(2)]);
axis([0 1.3 0 1.3]);
xlabel('x_1');
ylabel('x_2');
legend(': y=+1',': y=-1');
hold off;





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -