亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pso.java

?? 模式識別中神經網絡方法的實現
?? JAVA
字號:
/*
	Copyright 2006, 2007 Brian Greer

	This file is part of the Java NN Trainer.

	Java NN Trainer is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or
	(at your option) any later version.

	Java NN Trainer is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with Java NN Trainer; if not, write to the Free Software
	Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
*/

package algorithms;

import java.util.Random;

public class Pso extends Trainer{
	public static int MAX_AGENTS = 160;
	public static double DEFAULT_WEIGHT = 1.0;
	public static double DEFAULT_MOMENTUM = 1.0;
	public static double DEFAULT_MAXVELOCITY = 10.0;

	private int numAgents = MAX_AGENTS;
	private double weight = DEFAULT_WEIGHT;
	private double momentum = DEFAULT_MOMENTUM;
	private double maxVelocity = DEFAULT_MAXVELOCITY;

	public Pso(int numHidden, double [][] inputs, double [][] targets, double minError){
		super(numHidden, inputs, targets, minError);
	}

	public int getType(){
		return Trainer.PSO;
	}

	public void setNumAgents(int numAgents){
		this.numAgents = numAgents;
	}

	public void setWeight(double weight){
		this.weight = weight;
	}

	public void setMomentum(double momentum){
		this.momentum = momentum;
	}

	public void setMaxVelocity(double maxVelocity){
		this.maxVelocity = maxVelocity;
	}

	public void run(){
		broadcastBegin();

		int dimension = numInput * numHidden + numHidden * numOutput;

		NeuralNetwork [] population = new NeuralNetwork[numAgents];
		NeuralNetwork [] bestNet = new NeuralNetwork[numAgents];

		for(int i = 0; i < numAgents; i++){
			population[i] = new NeuralNetwork(numInput, numHidden, numOutput);
			bestNet[i] = population[i].copy();
		}

		double [][] inVelocities = new double[numInput][numHidden];
		for(int i = 0; i < numInput; i++){
			for(int j = 0; j < numHidden; j++){
				inVelocities[i][j] = random.nextDouble() * maxVelocity;
				if(random.nextDouble() > 0.5)
					inVelocities[i][j] = -inVelocities[i][j];
			}
		}

		double [][] outVelocities = new double[numHidden][numOutput];
		for(int i = 0; i < numHidden; i++){
			for(int j = 0; j < numOutput; j++){
				outVelocities[i][j] = random.nextDouble() * maxVelocity;
				if(random.nextDouble() > 0.5)
					outVelocities[i][j] = -outVelocities[i][j];
			}
		}

		double [] popBest = new double[numAgents];

		boolean firstTime = true; //first iteration of this run
		int best = 0;        //initialy assume the first particle as the best
		boolean finish = false;

		while(!finish && isRunning){
			numGenerations++;

			NeuralNetwork [] nextPop = new NeuralNetwork[numAgents];

			for(int i = 0; i < numAgents; i++){
				double fitness = population[i].evaluate(inputs, targets);

				if(firstTime)
					popBest[i] = fitness;
				else if(fitness < popBest[i]){
					popBest[i] = fitness;

					bestNet[i] = population[i].copy();

					if(fitness < popBest[best])
						best = i;
				}

				nextPop[i] = population[i].copy();

				/* asynchronous version */
				adjustWeights(nextPop[i].getInWeights(), inVelocities, bestNet[i].getInWeights(), bestNet[best].getInWeights());
				adjustWeights(nextPop[i].getOutWeights(), outVelocities, bestNet[i].getOutWeights(), bestNet[best].getOutWeights());
			}

			for(int i = 0; i < numAgents; i++)
				population[i] = nextPop[i];

			weight *= momentum;

			bestNet[best].evaluate(inputs, targets);
			broadcastGenerationComplete(bestNet[best]);

			finish = (popBest[best] <= minError);

			firstTime = false;
		}

		broadcastEnd();
	}

	private void adjustWeights(double [][] weights, double [][] velocity, double [][] agentBest, double [][] popBest){
		int size1 = weights.length;
		int size2 = weights[0].length;

		for(int i = 0; i < size1; i++){
			for(int j = 0; j < size2; j++){
				double weightValue = weights[i][j];
				double currentBestWeight = agentBest[i][j];
				double popBestWeight = popBest[i][j];

				velocity[i][j] = weight * velocity[i][j] + 2 * random.nextDouble() * (currentBestWeight - weightValue) + 2 * random.nextDouble() * (popBestWeight - weightValue);
				if(velocity[i][j] > maxVelocity)
					velocity[i][j] = maxVelocity;
				else if(velocity[i][j] < -maxVelocity)
					velocity[i][j] = -maxVelocity;

				weights[i][j] += velocity[i][j];
			}
		}
	}
}

// vim:noet:ts=3:sw=3

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲成人激情av| 麻豆极品一区二区三区| 久久久久久久性| 婷婷久久综合九色综合绿巨人| 亚洲综合视频在线观看| 久久综合色鬼综合色| 在线播放欧美女士性生活| 色综合久久综合网| www..com久久爱| 国产乱妇无码大片在线观看| 日韩**一区毛片| 亚洲国产日韩在线一区模特| 亚洲天堂精品在线观看| 国产日韩欧美激情| 国产人成一区二区三区影院| 精品国产一区久久| 久久久综合精品| 久久亚洲精品小早川怜子| 日韩你懂的电影在线观看| 91精品国产一区二区三区蜜臀| 欧美久久一二三四区| 69久久99精品久久久久婷婷| 91.com视频| 91精品国产91久久综合桃花| 欧美一区欧美二区| 欧美电视剧免费观看| 久久久精品免费网站| 国产日本一区二区| 中文字幕一区二区三区四区| 国产精品蜜臀在线观看| 亚洲激情网站免费观看| 日韩精品一级中文字幕精品视频免费观看| 亚洲成a人片在线不卡一二三区| 亚洲国产日日夜夜| 精品在线亚洲视频| 丁香五精品蜜臀久久久久99网站| 99久久久免费精品国产一区二区| zzijzzij亚洲日本少妇熟睡| 色婷婷久久99综合精品jk白丝| 欧美色图12p| 欧美精品一区二区精品网| 日本一区二区免费在线观看视频| 国产精品久久久久久福利一牛影视 | 亚洲欧美偷拍三级| 天堂av在线一区| 国产激情一区二区三区四区| 色系网站成人免费| 日韩免费电影一区| 中文字幕一区二区在线播放| 免费看日韩精品| www.成人网.com| 精品日韩在线观看| 亚洲欧美日本韩国| 国产一区二区三区在线看麻豆| 在线欧美小视频| 国产亚洲精久久久久久| 午夜精品一区二区三区免费视频| 国产精品白丝av| 7777精品伊人久久久大香线蕉的| 日本一区二区成人在线| 日韩高清不卡一区| 色噜噜狠狠色综合中国| 久久久不卡网国产精品一区| 天天综合日日夜夜精品| 99re视频这里只有精品| wwwwxxxxx欧美| 三级久久三级久久久| 色综合久久中文综合久久牛| 亚洲国产成人午夜在线一区| 全部av―极品视觉盛宴亚洲| 欧美性色aⅴ视频一区日韩精品| 国产精品你懂的在线欣赏| 久久er99热精品一区二区| 欧美天堂亚洲电影院在线播放| 中文字幕中文字幕一区| 国产乱人伦偷精品视频不卡| 精品三级在线看| 精品亚洲欧美一区| 日韩一区二区在线看| 日韩av电影免费观看高清完整版| 欧美日韩午夜在线| 亚洲一区二区高清| 欧美色图免费看| 日日夜夜精品视频免费| 91精品在线麻豆| 蜜臀av国产精品久久久久| 男男视频亚洲欧美| 亚洲欧洲一区二区三区| 成人免费视频视频在线观看免费| 欧美一区2区视频在线观看| 一区二区成人在线视频| 欧美视频第二页| 国产精品久久久久久久久免费桃花| 蜜臀av在线播放一区二区三区| 91免费观看在线| 国产午夜精品久久久久久久 | 欧美激情综合在线| 国产麻豆成人传媒免费观看| 久久亚区不卡日本| 欧美一级久久久| 欧美二区三区91| 91精品在线免费| 91精品国产综合久久香蕉的特点| 欧美日韩国产免费一区二区| 成人丝袜高跟foot| 亚洲乱码中文字幕| 国产精品夜夜嗨| 337p日本欧洲亚洲大胆精品| 性做久久久久久免费观看| 色婷婷一区二区三区四区| 色噜噜狠狠成人中文综合| 亚洲男人电影天堂| aaa亚洲精品| 亚洲国产高清aⅴ视频| 国产电影一区二区三区| 日韩理论片中文av| av在线不卡电影| 亚洲成人一区在线| 久久这里只有精品首页| 从欧美一区二区三区| 国产精品久久久久一区二区三区 | 日韩理论片一区二区| 欧美在线制服丝袜| 久色婷婷小香蕉久久| 亚洲色大成网站www久久九九| 精品少妇一区二区三区免费观看| jlzzjlzz亚洲女人18| 免费不卡在线视频| 中文字幕综合网| 精品国产伦一区二区三区观看体验| 91视频一区二区| 粉嫩在线一区二区三区视频| 日韩高清在线不卡| 亚洲777理论| 一个色综合av| 亚洲另类春色国产| 国产精品久久久久久一区二区三区 | 国产成人精品三级麻豆| 美女网站色91| 日韩专区在线视频| 天天综合日日夜夜精品| 亚洲成人激情自拍| 欧美大片拔萝卜| 欧美r级电影在线观看| 国产日本一区二区| 亚洲三级在线免费| 亚洲大片在线观看| 国内精品伊人久久久久av影院| 国产精品亚洲专一区二区三区| av一二三不卡影片| av在线免费不卡| 国产精品99久久不卡二区| 国产精品国模大尺度视频| 国产精品久久久久久久久免费相片| 国产欧美日韩综合精品一区二区| 国产色爱av资源综合区| 久久精品亚洲精品国产欧美 | 972aa.com艺术欧美| 99在线精品观看| 一本久道久久综合中文字幕 | 国产精品国产三级国产| 中文字幕中文乱码欧美一区二区| 国产精品成人免费在线| 一区二区日韩电影| 天堂在线一区二区| 国产在线观看免费一区| 国产精品亚洲综合一区在线观看| av在线不卡网| 欧美另类久久久品| 久久夜色精品国产噜噜av| 国产欧美日韩精品一区| 一区二区三区资源| 久久精品国产免费| 成人18精品视频| 欧美日韩国产综合一区二区| 精品国偷自产国产一区| 国产精品高清亚洲| 日韩高清不卡在线| www.爱久久.com| 日韩欧美在线不卡| 亚洲品质自拍视频| 精品一区二区国语对白| 欧美伊人久久大香线蕉综合69 | 在线一区二区三区| 欧美大黄免费观看| 一区二区三区在线免费观看| 精品一区二区三区在线观看国产| 色婷婷av一区二区| 久久精品一区四区| 日日欢夜夜爽一区| aa级大片欧美| 国产亚洲精品中文字幕| 午夜精品福利视频网站| 成人精品国产福利| 精品不卡在线视频| 天堂一区二区在线免费观看| 91在线观看视频| 久久久久久久av麻豆果冻| 日本成人在线视频网站| 91福利视频久久久久|