此处仅给出代码实现,具体原理及过程请看前面的博文
文件输入格式如下:
2 4 0.25 5
0 0 0
0 1 1
1 0 1
1 1 1
0.06230 0.01123 -0.07335
含义如下:
实现代码如下:(注:为了通用性,本代码只输出了最后一次迭代结果)
#include<iostream>
#include <stdio.h>
using namespace std;
double hypothose(double w[],int feature_num,double* training_set){
double sum=0;
for(int i=0;i<feature_num;i++){
sum+=w[i]*training_set[i];
}
if (sum>0) return 1;
else return 0;
}
//以下函数为感知器算法真正函数,参数分别是特征个数,训练样本数,学习速率,迭代次数,训练样本,初始w数组
void perception(int feature_num,int