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

📄 gzqsf.txt

📁 连续多输出感知器训练算法的实现
💻 TXT
字号:
连续多输出感知器训练算法的实现


#include<stdio.h>
#include<time.h> 
#include<stdlib.h> 
#include<math.h>
#include<string.h>
int ji(int x[10],int w[][10],int k1,int k2,int net[10])
{
    int i,j;
 memset(net,0,10);
 for(j=0;j<k2;j++)
  for(i=0;i<k1;i++)
   net[j]=net[j]+x[i]*w[i][j];
 return 0;
}
int F(int net)
{
 int o;
 o=1/(1+exp(-net));
 return o;
}
int suiji() 
{ 
 float i,j;  
 int s;
 i=(float)RAND_MAX;
 j=(float)rand();  
 s=(int)10*j/i;
    return s;
} 
void init(int w[][10],int k1,int k2)
{
 int i,j;
 srand((int)time(0)); 
 for(i=0;i<k1;i++)
 {
  for(j=0;j<k2;j++)
   w[i][j]=suiji();
 }
 for(i=0;i<k1;i++)
 {
  for(j=0;j<k2;j++)
  {
   printf("%d ",w[i][j]);
  }
  printf("\n");
 }
 printf("\n");
}
void main()
{
 int x[10]={2,6,0,5,0,1,6,0,1,0};
 int y[10]={4,7,6,8,5,4,3,2,1,5};
 int w[10][10],i,j;
 int o[10],net[10],e,a,d;
 init(w,10,10);
 e=1;
 a=0.8;
 d=e+1;
 while(d>=3)
 {
  d=0;
  ji(x,w,10,10,net);
  for(i=0;i<10;i++)
  {
   o[i]=F(net[i]);
  }
  for(i=0;i<10;i++)
   for(j=0;j<10;j++)
    w[i][j]=w[i][j]+a*(y[j]-o[j])*x[i];
  for(j=0;j<10;j++)
   d=d+(y[j]-o[j])*(y[j]-o[j]);
 }
 
    
}


⌨️ 快捷键说明

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