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

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

?? neuralnode.java

?? 一個小型的數據挖掘器應用軟件,綜合數據挖掘的各種功能
?? JAVA
字號:
/* *    This program 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. * *    This program 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 this program; if not, write to the Free Software *    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *//* *    NeuralNode.java *    Copyright (C) 2000 Malcolm Ware */package weka.classifiers.functions.neural;import java.util.Random;/** * This class is used to represent a node in the neuralnet. * @author Malcolm Ware (mfw4@cs.waikato.ac.nz) * @version $Revision: 1.5 $ */public class NeuralNode extends NeuralConnection {      /** The weights for each of the input connections, and the threshold. */  private double[] m_weights;    /** The change in the weights. */  private double[] m_changeInWeights;    private Random m_random;  /** Performs the operations for this node. Currently this   * defines that the node is either a sigmoid or a linear unit. */  private NeuralMethod m_methods;  /**    * @param id The string name for this node (used to id this node).   * @param r A random number generator used to generate initial weights.   * @param m The methods this node should use to update.   */  public NeuralNode(String id, Random r, NeuralMethod m) {    super(id);    m_weights = new double[1];    m_changeInWeights = new double[1];        m_random = r;        m_weights[0] = m_random.nextDouble() * .1 - .05;    m_changeInWeights[0] = 0;    m_methods = m;  }    /**   * Set how this node should operate (note that the neural method has no   * internal state, so the same object can be used by any number of nodes.   * @param m The new method.   */  public void setMethod(NeuralMethod m) {    m_methods = m;  }   public NeuralMethod getMethod() {    return m_methods;  }  /**   * Call this to get the output value of this unit.    * @param calculate True if the value should be calculated if it hasn't been   * already.   * @return The output value, or NaN, if the value has not been calculated.   */  public double outputValue(boolean calculate) {        if (Double.isNaN(m_unitValue) && calculate) {      //then calculate the output value;      m_unitValue = m_methods.outputValue(this);    }        return m_unitValue;  }    /**   * Call this to get the error value of this unit.   * @param calculate True if the value should be calculated if it hasn't been   * already.   * @return The error value, or NaN, if the value has not been calculated.   */  public double errorValue(boolean calculate) {    if (!Double.isNaN(m_unitValue) && Double.isNaN(m_unitError) && calculate) {      //then calculate the error.      m_unitError = m_methods.errorValue(this);    }    return m_unitError;  }  /**   * Call this to reset the value and error for this unit, ready for the next   * run. This will also call the reset function of all units that are    * connected as inputs to this one.   * This is also the time that the update for the listeners will be performed.   */  public void reset() {        if (!Double.isNaN(m_unitValue) || !Double.isNaN(m_unitError)) {      m_unitValue = Double.NaN;      m_unitError = Double.NaN;      m_weightsUpdated = false;      for (int noa = 0; noa < m_numInputs; noa++) {	m_inputList[noa].reset();      }    }  }  /**   * Call this to get the weight value on a particular connection.   * @param n The connection number to get the weight for, -1 if The threshold   * weight should be returned.   * @return The value for the specified connection or if -1 then it should    * return the threshold value. If no value exists for the specified    * connection, NaN will be returned.   */  public double weightValue(int n) {    if (n >= m_numInputs || n < -1) {      return Double.NaN;    }    return m_weights[n + 1];  }  /**   * call this function to get the weights array.   * This will also allow the weights to be updated.   * @return The weights array.   */  public double[] getWeights() {    return m_weights;  }  /**   * call this function to get the chnage in weights array.   * This will also allow the change in weights to be updated.   * @return The change in weights array.   */  public double[] getChangeInWeights() {    return m_changeInWeights;  }  /**   * Call this function to update the weight values at this unit.   * After the weights have been updated at this unit, All the   * input connections will then be called from this to have their   * weights updated.   * @param l The learning rate to use.   * @param m The momentum to use.   */  public void updateWeights(double l, double m) {        if (!m_weightsUpdated && !Double.isNaN(m_unitError)) {      m_methods.updateWeights(this, l, m);           //note that the super call to update the inputs is done here and      //not in the m_method updateWeights, because it is not deemed to be      //required to update the weights at this node (while the error and output      //value ao need to be recursively calculated)      super.updateWeights(l, m); //to call all of the inputs.    }      }  /**   * This will connect the specified unit to be an input to this unit.   * @param i The unit.   * @param n It's connection number for this connection.   * @return True if the connection was made, false otherwise.   */  protected boolean connectInput(NeuralConnection i, int n) {        //the function that this overrides can do most of the work.    if (!super.connectInput(i, n)) {      return false;    }        //note that the weights are shifted 1 forward in the array so    //it leaves the numinputs aligned on the space the weight needs to go.    m_weights[m_numInputs] = m_random.nextDouble() * .1 - .05;    m_changeInWeights[m_numInputs] = 0;        return true;  }  /**   * This will allocate more space for input connection information   * if the arrays for this have been filled up.   */  protected void allocateInputs() {        NeuralConnection[] temp1 = new NeuralConnection[m_inputList.length + 15];    int[] temp2 = new int[m_inputNums.length + 15];    double[] temp4 = new double[m_weights.length + 15];    double[] temp5 = new double[m_changeInWeights.length + 15];    temp4[0] = m_weights[0];    temp5[0] = m_changeInWeights[0];    for (int noa = 0; noa < m_numInputs; noa++) {      temp1[noa] = m_inputList[noa];      temp2[noa] = m_inputNums[noa];      temp4[noa+1] = m_weights[noa+1];      temp5[noa+1] = m_changeInWeights[noa+1];    }        m_inputList = temp1;    m_inputNums = temp2;    m_weights = temp4;    m_changeInWeights = temp5;  }      /**   * This will disconnect the input with the specific connection number   * From this node (only on this end however).   * @param i The unit to disconnect.   * @param n The connection number at the other end, -1 if all the connections   * to this unit should be severed (not the same as removeAllInputs).   * @return True if the connection was removed, false if the connection was    * not found.   */  protected boolean disconnectInput(NeuralConnection i, int n) {        int loc = -1;    boolean removed = false;    do {      loc = -1;      for (int noa = 0; noa < m_numInputs; noa++) {	if (i == m_inputList[noa] && (n == -1 || n == m_inputNums[noa])) {	  loc = noa;	  break;	}      }            if (loc >= 0) {	for (int noa = loc+1; noa < m_numInputs; noa++) {	  m_inputList[noa-1] = m_inputList[noa];	  m_inputNums[noa-1] = m_inputNums[noa];	  	  m_weights[noa] = m_weights[noa+1];	  m_changeInWeights[noa] = m_changeInWeights[noa+1];	  	  m_inputList[noa-1].changeOutputNum(m_inputNums[noa-1], noa-1);	}	m_numInputs--;	removed = true;      }          } while (n == -1 && loc != -1);    return removed;  }    /**   * This function will remove all the inputs to this unit.   * In doing so it will also terminate the connections at the other end.   */  public void removeAllInputs() {    super.removeAllInputs();        double temp1 = m_weights[0];    double temp2 = m_changeInWeights[0];    m_weights = new double[1];    m_changeInWeights = new double[1];    m_weights[0] = temp1;    m_changeInWeights[0] = temp2;      }    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www国产精品av| 日韩精品一区二区三区在线播放| 国产精品久久久久久久浪潮网站| 91日韩精品一区| 视频一区视频二区中文| 日韩你懂的在线播放| 欧美一二三在线| 99re这里只有精品首页| 麻豆国产精品777777在线| 国产精品国产自产拍高清av | 91一区二区三区在线播放| 成人免费视频一区二区| 天堂午夜影视日韩欧美一区二区| 亚洲成a人片在线观看中文| 中文字幕一区二区三区四区不卡| 欧美不卡在线视频| 91精品国产综合久久久久| 99视频有精品| 国产成人精品www牛牛影视| 蜜臀a∨国产成人精品| 国产一区二区三区在线观看免费视频 | 精品日产卡一卡二卡麻豆| 欧美成人精品3d动漫h| 欧美激情在线免费观看| 日韩精品最新网址| 国产精品理论片在线观看| 精品国产伦一区二区三区免费 | 欧美一卡2卡3卡4卡| 国产成人精品一区二区三区四区| 国产福利一区在线| 欧美最猛黑人xxxxx猛交| 成人av免费观看| 国产91露脸合集magnet| 国产一区二区三区免费看| 色诱视频网站一区| 欧美最猛性xxxxx直播| 91精品国产综合久久香蕉的特点| 久久美女高清视频| 国产精品美女久久久久高潮| 国产性做久久久久久| 国产婷婷一区二区| 日韩午夜电影在线观看| 中文字幕第一区二区| 日韩成人精品在线观看| 蜜桃av一区二区三区| 99国内精品久久| 国产日韩欧美不卡在线| 国产精品三级视频| 蜜桃传媒麻豆第一区在线观看| 91在线云播放| 国产精品久久久久久久久免费相片 | 欧美日韩另类一区| 激情图区综合网| 亚洲黄一区二区三区| 日本色综合中文字幕| 欧美一区二区成人| 国产精品正在播放| 精品日韩欧美一区二区| 国产精品原创巨作av| 亚洲黄色片在线观看| 欧美一区二区三区婷婷月色| 国产一区二区三区国产| 亚洲一区二区精品视频| 在线日韩一区二区| 美女高潮久久久| 自拍偷拍亚洲欧美日韩| 色狠狠一区二区三区香蕉| 最新日韩av在线| 91精品福利在线一区二区三区| 国产成人在线看| 午夜精品福利在线| 欧美久久高跟鞋激| 丝袜美腿高跟呻吟高潮一区| 国产视频911| 欧美日韩一区二区三区视频| 日韩综合一区二区| 国产精品乱码妇女bbbb| 在线电影欧美成精品| 91免费看视频| 国产一区在线观看视频| 一区二区三区色| 欧美日韩大陆一区二区| 粉嫩在线一区二区三区视频| 秋霞午夜av一区二区三区| 精品国产一区二区三区久久影院| 91麻豆文化传媒在线观看| 国产一区二区不卡在线| 午夜av电影一区| 亚洲精品大片www| 国产精品精品国产色婷婷| 精品剧情在线观看| 欧美一区二区三区公司| 欧美综合一区二区| 色综合久久中文字幕综合网| 精品一区二区三区视频| 亚洲欧美另类小说视频| 欧美一二三四区在线| 欧美三级电影在线观看| 91一区二区在线| 99re视频这里只有精品| 成人午夜激情视频| 成人在线视频一区二区| 国产在线视频一区二区| 精品一二线国产| 久久综合综合久久综合| 亚洲色图欧美偷拍| 亚洲欧洲国产日本综合| 国产精品成人免费在线| 国产精品成人在线观看 | 欧美性色aⅴ视频一区日韩精品| 日韩电影免费在线看| 亚洲一区二区三区在线看| 亚洲尤物在线视频观看| 亚洲一区二区偷拍精品| 亚洲成人在线网站| 日韩精品一二三| 久久99国产精品麻豆| 国产一区欧美二区| 丁香一区二区三区| 成人av免费观看| 欧美影院一区二区| 91精品国产综合久久久久久| 欧美一区二区三区四区高清 | 久久69国产一区二区蜜臀| 蜜桃av一区二区在线观看| 极品少妇一区二区三区精品视频| 国产乱国产乱300精品| 成人性生交大片免费看中文| 91在线无精精品入口| 欧美日韩一区二区在线观看视频 | 日韩欧美在线1卡| 亚洲精品在线免费观看视频| 国产精品久久久久一区二区三区共 | 日韩码欧中文字| 亚洲成精国产精品女| 美女在线一区二区| 福利电影一区二区三区| 日本二三区不卡| 精品国产成人在线影院| 国产精品久久久久影院老司| 午夜电影网一区| 国产成人在线色| 欧美色欧美亚洲另类二区| 久久综合色综合88| 亚洲免费观看高清完整版在线观看| 婷婷开心久久网| 成人午夜电影久久影院| 欧美性生活影院| 久久精品亚洲国产奇米99| 亚洲精品乱码久久久久久黑人| 日本vs亚洲vs韩国一区三区二区| 国产成人高清在线| 4438x亚洲最大成人网| 国产日韩精品一区| 日本不卡一区二区| 91在线精品一区二区| 日韩女优视频免费观看| 亚洲精品日产精品乱码不卡| 国产在线视频一区二区三区| 欧美日韩一区不卡| 日韩一区欧美一区| 韩国女主播一区二区三区| 欧美日韩极品在线观看一区| 国产精品日韩成人| 精品亚洲欧美一区| 欧美日韩1区2区| 亚洲精品视频免费观看| 高清视频一区二区| 欧美不卡一区二区三区四区| 亚洲无人区一区| 日产国产欧美视频一区精品| 99免费精品视频| 日本乱码高清不卡字幕| 欧美一级一区二区| 亚洲综合激情另类小说区| 成人av在线播放网站| 精品国产乱码91久久久久久网站| 亚洲成人动漫在线免费观看| 91丝袜美腿高跟国产极品老师| 久久久久国产一区二区三区四区| 日韩精彩视频在线观看| 欧美午夜精品电影| 亚洲欧美日韩国产手机在线| 成人免费视频caoporn| 久久久久国产精品厨房| 黄一区二区三区| 日韩欧美国产三级电影视频| 丝瓜av网站精品一区二区| 欧美亚洲动漫制服丝袜| 亚洲欧美乱综合| 色域天天综合网| 亚洲另类在线制服丝袜| 色诱视频网站一区| 亚洲制服丝袜av| 91黄视频在线观看| 亚洲午夜免费电影| 精品视频免费在线| 日韩精品每日更新| 日韩一区二区三区在线| 久久精品国产成人一区二区三区|