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

📄 util_xxz.java

📁 销售预测的实现,包括移动平均,指数平滑,时间序列分解,自回归
💻 JAVA
字号:
/* * To change this template, choose Tools | Templates * and open the template in the editor. */package forcast;/** * * @author Administrator */public class Util_xxz {	public static int I=2,M=4,L=1;	public static double land=0.1,thi=0.6;	public static double wji[][]=new double[M][];	public static double wji_b[][]=new double[M][];	public static double wkj[][]=new double[L][];	public static double wkj_b[][]=new double[L][];	public  static double xigk[]=new double[L];	public  static double aj[]=new double[M];	public  static double ak[]=new double[L];	public static void init()	{			wkj[0]=new double[]{4,0.3,1,5};		for(int i=0;i<L;i++)		{			wkj_b[i]=new double[]{4,0.3,1,5};		}		/*for(int i=0;i<M;i++)		{			wji[i]=new double[]{1,1};		}*/		wji[0]=new double[]{1,0.1};		wji[1]=new double[]{1,0.3};		wji[2]=new double[]{6.5,0.3};		wji[3]=new double[]{1.5,4.3};		wji_b[0]=new double[]{1,0.1};		wji_b[1]=new double[]{1,0.3};		wji_b[2]=new double[]{6.5,0.3};		wji_b[3]=new double[]{1.5,4.3};		/*for(int i=0;i<M;i++)		{			wji_b[i]=new double[]{0,1};		}*/	}	public static void bp(double ai[],double yk[])	{		for(int j=0;j<M;j++)		{			//middleTrainer(j,aj[j],ai);			aj[j]=f1(ai,thi,wji[j]);		}		for(int k=0;k<L;k++)		{			//outTrainer(k,yk[k],ak[k]);			ak[k]=f1(aj,thi,wkj[k]);		//	System.out.println(ak[k]);		}		for(int j=0;j<M;j++)		{			middleTrainer(j,aj[j],ai);			//aj[j]=f1(ai,thi,wji[j]);		}		for(int k=0;k<L;k++)		{			outTrainer(k,yk[k],ak[k]);			//ak[k]=f1(aj,thi,wkj[k]);		//	System.out.println(ak[k]);		}	}	public static void outTrainer(int k,double yk,double ak)//yk教师,ak输出,aj隐层输出	{		xigk[k]=ak*(1-ak)*(yk-ak);		//System.out.print("("+yk+":"+ak+":"+xigk[k]+")");		for(int j=0;j<M;j++)		{			double temp=wkj[k][j];			wkj[k][j]=wkj[k][j]+xigk[k]*land*aj[j]+ak*(wkj[k][j]-wkj_b[k][j]);			wkj_b[k][j]=temp;		}	}	public static void middleTrainer(int j,double aj,double ai[])//yk教师,ak输出	{		double sum=0;		for(int k=0;k<L;k++)		{			sum=sum+wkj[k][j]*xigk[k];			//System.out.print(":"+xigk[k]+":");		}		double xigj=aj*(1-aj)*sum;		//System.out.print(":"+aj+":");		for(int i=0;i<I;i++)		{			double temp=wji[j][i];			wji[j][i]=wji[j][i]+xigj*land*ai[i]+aj*(wji[j][i]-wji_b[j][i]);			wji_b[j][i]=temp;		}	}	public static double f1(double[] x,double thi,double[] w )	{		float sum=0;		for(int i=0;i<x.length;i++)		{			sum+=x[i]*w[i];		}		return 1/(1+Math.exp(-sum+thi));	}	public static double result(double ai[])//yk教师,ak输出	{		for(int j=0;j<M;j++)		{			aj[j]=f1(ai,thi,wji[j]);		}		for(int k=0;k<L;k++)		{			ak[k]=f1(aj,thi,wkj[k]);			//System.out.println(ak[k]);		}		return ak[0];	}	public static void showW()	{		int k=0;		for(k=0;k<L;k++)		{			for(int j=0;j<M;j++)			{			System.out.print(wkj[k][j]+"  ");			}			System.out.println("");		}		for(k=0;k<M;k++)		{			for(int j=0;j<I;j++)			{			System.out.print(wji[k][j]+"  ");			}			System.out.println("");		}	}}

⌨️ 快捷键说明

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