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

📄 zeromeanandunitstandarddeviation.java

📁 利用Java实现的神经网络工具箱
💻 JAVA
字号:
/* * $RCSfile: ZeroMeanAndUnitStandardDeviation.java,v $ * $Revision: 1.6 $ * $Date: 2004/10/30 00:07:10 $ * * NeuralNetworkToolkit * Copyright (C) 2004 Universidade de Brasília * * This file is part of NeuralNetworkToolkit. * * NeuralNetworkToolkit 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. * * NeuralNetworkToolkit 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 NeuralNetworkToolkit; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 - USA. */package neuralnetworktoolkit.normalization;/** * Zero mean and unit standard deviation normalization.<br> * <br> * Implementation according the description avaiable in * <a href="http://www.ivorix.com/en/products/tech/norm/"> * http://www.ivorix.com/en/products/tech/norm/</a>. *  * @version $Revision: 1.6 $ - $Date: 2004/10/30 00:07:10 $ *  * @author <a href="mailto:rodbra@pop.com.br">Rodrigo C. M. Coimbra</a> * @author <a href="mailto:hugoiver@yahoo.com.br">Hugo Iver V. Gonçalves</a> */public class ZeroMeanAndUnitStandardDeviation extends Normalization {		private double[] mean;	private double[] standardDeviation;	/* 	 * @see neuralnetworktoolkit.normalization.INormalization#normalize(double[][])	 */	public double[][] normalize(double[][] originalData) {		double[][] normalizedData;				if ((mean == null) || (standardDeviation == null)) {			setupParameters(originalData);					}		normalizedData = transform(originalData);				return normalizedData;			} //normalize()		/* (non-Javadoc)	 * @see neuralnetworktoolkit.normalization.INormalization#unnormalize(double[][])	 */	public double[][] unnormalize(double[][] normalizedData) {		double[][] originalData;						originalData = new double[normalizedData.length][normalizedData[0].length];				for (int j = 0; j < normalizedData[0].length; j++) {			for (int i = 0; i < normalizedData.length; i++) {				originalData[i][j] =					mean[j] + normalizedData[i][j] * standardDeviation[j]; 							}		}		return originalData;			} //unnormalize()	/* 	 * @see neuralnetworktoolkit.normalization.INormalization#setupParameters(double[][])	 */	public void setupParameters(double[][] originalData) {		computeMean(originalData);		computeStandardDeviation(originalData);			} //train()	/* 	 * @see neuralnetworktoolkit.normalization.Normalization#transform(double[][])	 */	protected double[][] transform(double[][] originalData) {		double[][] normalizedData;				normalizedData = new double[originalData.length][originalData[0].length];				for (int j = 0; j < originalData[0].length; j++) {			for (int i = 0; i < originalData.length; i++) {				normalizedData[i][j] = (originalData[i][j] - mean[j])						/ standardDeviation[j];			}		}		return normalizedData;			} //transform()			/**	 * @param originalData	 */	private void computeMean(double[][] originalData) {		mean = new double[originalData[0].length];				for (int j = 0; j < originalData[0].length; j++) {			for (int i = 0; i < originalData.length; i++) {				mean[j] += originalData[i][j];			}			mean[j] /= originalData.length;					}			} //computeMean()		/**	 * @param originalData	 */	private void computeStandardDeviation(double[][] originalData) {		standardDeviation = new double[originalData[0].length];				for (int j = 0; j < originalData[0].length; j++) {			for (int i = 0; i < originalData.length; i++) {				standardDeviation[j] += (originalData[i][j] - mean[j])						* (originalData[i][j] - mean[j]);			}			standardDeviation[j] = Math.sqrt(standardDeviation[j]					/ (originalData.length - 1));		}			} //computeStandardDeviation()	/**	 * @return Returns the mean.	 */	public double[] getMean() {		return mean;			} //getMean()		/**	 * @return Returns the standardDeviation.	 */	public double[] getStandardDeviation() {		return standardDeviation;			} //getStandardDeviation()	} //ZeroMeanAndUnitStandardDeviation

⌨️ 快捷键说明

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