1 / 4
文档名称:

感知机算法的C语言实现.doc

格式:doc   大小:44KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

感知机算法的C语言实现.doc

上传人:feng1964101 2021/7/15 文件大小:44 KB

下载得到文件列表

感知机算法的C语言实现.doc

相关文档

文档介绍

文档介绍:感知机算法的C语言实现
维数n=3时,分别取M=10,M=20,M=30
当M=10时,收敛时,迭代次数K=1,权矩阵矢量为W=[-0.,0.,-0.],阈值,正确分类个数为26个。正确分类率。
当M=20 时,收敛时,迭代次数K=20,权矩阵矢量为W=[-0.,0.,0.],阈值,正确分类个数为28个。正确分类率为。
(3) 当M=30时,收敛时,迭代次数K=2,权矩阵矢量为W=[-0.,-0.,0.],
阈值,正确分类个数为30个。正确分类率为。
维数n=5时,分别取M=10,M=20,M=30
当M=10时,收敛时,迭代次数K=2,权矢量矩阵为W=[-0.,0.,0.,-0.,0.],阈值,正确分类个数为26个。正确分类率为。
当M=20时,收敛时,迭代次数K=2,权矩阵矢量为W=[-0.,-0.,-0.,-0.,0.],阈值,正确分类个数为27个。正确分类率为。
当M=30时,收敛时,迭代次数K=2,权矢量矩阵为W=[-0.,-0.,0.,0.,0.],阈值。正确分类个数为30个。正确分类率为。
程序如下所示:
#include<>
#include<>
#include<>
#include<>
#define PI 3.
#define COUNT 30 //样本训练次数
#define DIMEN 5 // 输入样本维度
/***************
函数名:ran_f
函数功能:产生0到1之间均匀分布的随机数
接口参数:
*p double型指针变量
函数返回值 a double型
****************/
double ran_f(double*p)
{
double a;
srand((unsigned) time(NULL));
*p = rand();
a = *p / ;
return(a);

}
void main()
{
double x[COUNT][DIMEN]; // 输入样本训练数据
int y[COUNT]; // 训练输出
int d[COUNT]; // 理想输出
double W[COUNT]; // 权值矩阵
double thres; // 阈值
double eps = ; // 进行收敛判断的条件
double deta = ; // 学****因子
double r[1] = {}; // 随机数种子
double xt[30][5]; //测试数据
int dt[30]; //理想数据输出
double m1, m2, s, dp, ep; // dp为理想输出与实际输出的差,ep为均方误差
int yt[30]; //测试输出
int count =