感知器算法
一个线性分类器,包含模型结构(判别函数)、分类规则两部分。 在模型结构(判别函数)中,含有待估参数。待估参数寻优:通过给定的训练样本 寻求使得准则函数取极小值的权向量就是我们需要的分类器参数。 当前参考代码实现的是数字8、4的二分类问题。 Properception.m文件为主函数,主要包括:数据集读入、感知器训练参数设置、 获取训练及测试数据、标签转换、数据处理、感知器训练、测试及结果输出几个部 分。 Properceptionlearn.m文件包含一个函数,实现利用给定的训练数据和设定的学 习参数,计算得到感知器的权向量w
本实验利用Mnists数据集
代码如下:
clear variables
clc
% 读取数据
% load ('../test_images.mat');
% load ('../test_labels.mat');
% 设定数据量
train_num = 1000;
test_num = 200;
% 临时变量以及各个感知器参数
j = 1;
lr = 0.05;%学习率
epoch = 10;%设定训练多少轮
number = [5,6];%要取的数字组合
for i = 1:10000
if test_labels1(i)==number(1)|| test_labels1(i)==number(2)
data(:,:,j) = test_images(:,:,i);
label(j) = test_labels1(i);%取相应标签
j