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

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

?? multilayerperceptron.java

?? MacroWeka擴展了著名數據挖掘工具weka
?? JAVA
?? 第 1 頁 / 共 5 頁
字號:
      

      //then exclusive or the new selection with the current one.
      if ((ctrl || m_selected.size() == 0) && left) {
	boolean removed = false;
	for (int noa = 0; noa < v.size(); noa++) {
	  removed = false;
	  for (int nob = 0; nob < m_selected.size(); nob++) {
	    if (v.elementAt(noa) == m_selected.elementAt(nob)) {
	      //then remove that element
	      m_selected.removeElementAt(nob);
	      removed = true;
	      break;
	    }
	  }
	  if (!removed) {
	    m_selected.addElement(v.elementAt(noa));
	  }
	}
	repaint();
	return;
      }

      
      if (left) {
	//then connect the current selection to the new one.
	for (int noa = 0; noa < m_selected.size(); noa++) {
	  for (int nob = 0; nob < v.size(); nob++) {
	    NeuralConnection
	      .connect((NeuralConnection)m_selected.elementAt(noa)
		       , (NeuralConnection)v.elementAt(nob));
	  }
	}
      }
      else if (m_selected.size() > 0) {
	//then disconnect the current selection from the new one.
	
	for (int noa = 0; noa < m_selected.size(); noa++) {
	  for (int nob = 0; nob < v.size(); nob++) {
	    NeuralConnection
	      .disconnect((NeuralConnection)m_selected.elementAt(noa)
			  , (NeuralConnection)v.elementAt(nob));
	    
	    NeuralConnection
	      .disconnect((NeuralConnection)v.elementAt(nob)
			  , (NeuralConnection)m_selected.elementAt(noa));
	    
	  }
	}
      }
      else {
	//then remove the selected node. (it was right clicked while 
	//no other units were selected
	for (int noa = 0; noa < v.size(); noa++) {
	  ((NeuralConnection)v.elementAt(noa)).removeAllInputs();
	  ((NeuralConnection)v.elementAt(noa)).removeAllOutputs();
	  removeNode((NeuralConnection)v.elementAt(noa));
	}
      }
      repaint();
    }

    /**
     * This will paint the nodes ontot the panel.
     * @param g The graphics context.
     */
    public void paintComponent(Graphics g) {

      super.paintComponent(g);
      int x = getWidth();
      int y = getHeight();
      if (25 * m_numAttributes > 25 * m_numClasses && 
	  25 * m_numAttributes > y) {
	setSize(x, 25 * m_numAttributes);
      }
      else if (25 * m_numClasses > y) {
	setSize(x, 25 * m_numClasses);
      }
      else {
	setSize(x, y);
      }

      y = getHeight();
      for (int noa = 0; noa < m_numAttributes; noa++) {
	m_inputs[noa].drawInputLines(g, x, y);
      }
      for (int noa = 0; noa < m_numClasses; noa++) {
	m_outputs[noa].drawInputLines(g, x, y);
	m_outputs[noa].drawOutputLines(g, x, y);
      }
      for (int noa = 0; noa < m_neuralNodes.length; noa++) {
	m_neuralNodes[noa].drawInputLines(g, x, y);
      }
      for (int noa = 0; noa < m_numAttributes; noa++) {
	m_inputs[noa].drawNode(g, x, y);
      }
      for (int noa = 0; noa < m_numClasses; noa++) {
	m_outputs[noa].drawNode(g, x, y);
      }
      for (int noa = 0; noa < m_neuralNodes.length; noa++) {
	m_neuralNodes[noa].drawNode(g, x, y);
      }

      for (int noa = 0; noa < m_selected.size(); noa++) {
	((NeuralConnection)m_selected.elementAt(noa)).drawHighlight(g, x, y);
      }
    }
  }





  /** 
   * This provides the basic controls for working with the neuralnetwork
   * @author Malcolm Ware (mfw4@cs.waikato.ac.nz)
   * @version $Revision: 1.1 $
   */
  class ControlPanel extends JPanel {
    
    /** The start stop button. */
    public JButton m_startStop;
    
    /** The button to accept the network (even if it hasn't done all epochs. */
    public JButton m_acceptButton;
    
    /** A label to state the number of epochs processed so far. */
    public JPanel m_epochsLabel;
    
    /** A label to state the total number of epochs to be processed. */
    public JLabel m_totalEpochsLabel;
    
    /** A text field to allow the changing of the total number of epochs. */
    public JTextField m_changeEpochs;
    
    /** A label to state the learning rate. */
    public JLabel m_learningLabel;
    
    /** A label to state the momentum. */
    public JLabel m_momentumLabel;
    
    /** A text field to allow the changing of the learning rate. */
    public JTextField m_changeLearning;
    
    /** A text field to allow the changing of the momentum. */
    public JTextField m_changeMomentum;
    
    /** A label to state roughly the accuracy of the network.(because the
	accuracy is calculated per epoch, but the network is changing 
	throughout each epoch train).
    */
    public JPanel m_errorLabel;
    
    /** The constructor. */
    public ControlPanel() { 
      setBorder(BorderFactory.createTitledBorder("Controls"));
      
      m_totalEpochsLabel = new JLabel("Num Of Epochs  ");
      m_epochsLabel = new JPanel(){ 
	  public void paintComponent(Graphics g) {
	    super.paintComponent(g);
	    g.setColor(m_controlPanel.m_totalEpochsLabel.getForeground());
	    g.drawString("Epoch  " + m_epoch, 0, 10);
	  }
	};
      m_epochsLabel.setFont(m_totalEpochsLabel.getFont());
      
      m_changeEpochs = new JTextField();
      m_changeEpochs.setText("" + m_numEpochs);
      m_errorLabel = new JPanel(){
	  public void paintComponent(Graphics g) {
	    super.paintComponent(g);
	    g.setColor(m_controlPanel.m_totalEpochsLabel.getForeground());
	    if (m_valSize == 0) {
	      g.drawString("Error per Epoch = " + 
			   Utils.doubleToString(m_error, 7), 0, 10);
	    }
	    else {
	      g.drawString("Validation Error per Epoch = "
			   + Utils.doubleToString(m_error, 7), 0, 10);
	    }
	  }
	};
      m_errorLabel.setFont(m_epochsLabel.getFont());
      
      m_learningLabel = new JLabel("Learning Rate = ");
      m_momentumLabel = new JLabel("Momentum = ");
      m_changeLearning = new JTextField();
      m_changeMomentum = new JTextField();
      m_changeLearning.setText("" + m_learningRate);
      m_changeMomentum.setText("" + m_momentum);
      setLayout(new BorderLayout(15, 10));

      m_stopIt = true;
      m_accepted = false;
      m_startStop = new JButton("Start");
      m_startStop.setActionCommand("Start");
      
      m_acceptButton = new JButton("Accept");
      m_acceptButton.setActionCommand("Accept");
      
      JPanel buttons = new JPanel();
      buttons.setLayout(new BoxLayout(buttons, BoxLayout.Y_AXIS));
      buttons.add(m_startStop);
      buttons.add(m_acceptButton);
      add(buttons, BorderLayout.WEST);
      JPanel data = new JPanel();
      data.setLayout(new BoxLayout(data, BoxLayout.Y_AXIS));
      
      Box ab = new Box(BoxLayout.X_AXIS);
      ab.add(m_epochsLabel);
      data.add(ab);
      
      ab = new Box(BoxLayout.X_AXIS);
      Component b = Box.createGlue();
      ab.add(m_totalEpochsLabel);
      ab.add(m_changeEpochs);
      m_changeEpochs.setMaximumSize(new Dimension(200, 20));
      ab.add(b);
      data.add(ab);
      
      ab = new Box(BoxLayout.X_AXIS);
      ab.add(m_errorLabel);
      data.add(ab);
      
      add(data, BorderLayout.CENTER);
      
      data = new JPanel();
      data.setLayout(new BoxLayout(data, BoxLayout.Y_AXIS));
      ab = new Box(BoxLayout.X_AXIS);
      b = Box.createGlue();
      ab.add(m_learningLabel);
      ab.add(m_changeLearning);
      m_changeLearning.setMaximumSize(new Dimension(200, 20));
      ab.add(b);
      data.add(ab);
      
      ab = new Box(BoxLayout.X_AXIS);
      b = Box.createGlue();
      ab.add(m_momentumLabel);
      ab.add(m_changeMomentum);
      m_changeMomentum.setMaximumSize(new Dimension(200, 20));
      ab.add(b);
      data.add(ab);
      
      add(data, BorderLayout.EAST);
      
      m_startStop.addActionListener(new ActionListener() {
	  public void actionPerformed(ActionEvent e) {
	    if (e.getActionCommand().equals("Start")) {
	      m_stopIt = false;
	      m_startStop.setText("Stop");
	      m_startStop.setActionCommand("Stop");
	      int n = Integer.valueOf(m_changeEpochs.getText()).intValue();
	      
	      m_numEpochs = n;
	      m_changeEpochs.setText("" + m_numEpochs);
	      
	      double m=Double.valueOf(m_changeLearning.getText()).
		doubleValue();
	      setLearningRate(m);
	      m_changeLearning.setText("" + m_learningRate);
	      
	      m = Double.valueOf(m_changeMomentum.getText()).doubleValue();
	      setMomentum(m);
	      m_changeMomentum.setText("" + m_momentum);
	      
	      blocker(false);
	    }
	    else if (e.getActionCommand().equals("Stop")) {
	      m_stopIt = true;
	      m_startStop.setText("Start");
	      m_startStop.setActionCommand("Start");
	    }
	  }
	});
      
      m_acceptButton.addActionListener(new ActionListener() {
	  public void actionPerformed(ActionEvent e) {
	    m_accepted = true;
	    blocker(false);
	  }
	});
      
      m_changeEpochs.addActionListener(new ActionListener() {
	  public void actionPerformed(ActionEvent e) {
	    int n = Integer.valueOf(m_changeEpochs.getText()).intValue();
	    if (n > 0) {
	      m_numEpochs = n;
	      blocker(false);
	    }
	  }
	});
    }
  }
  

    
  /** The training instances. */
  private Instances m_instances;
  
  /** The current instance running through the network. */
  private Instance m_currentInstance;
  
  /** A flag to say that it's a numeric class. */
  private boolean m_numeric;

  /** The ranges for all the attributes. */
  private double[] m_attributeRanges;

  /** The base values for all the attributes. */
  private double[] m_attributeBases;

  /** The output units.(only feeds the errors, does no calcs) */
  private NeuralEnd[] m_outputs;

  /** The input units.(only feeds the inputs does no calcs) */
  private NeuralEnd[] m_inputs;

  /** All the nodes that actually comprise the logical neural net. */
  private NeuralConnection[] m_neuralNodes;

  /** The number of classes. */
  private int m_numClasses = 0;
  
  /** The number of attributes. */
  private int m_numAttributes = 0; //note the number doesn't include the class.
  
  /** The panel the nodes are displayed on. */
  private NodePanel m_nodePanel;
  
  /** The control panel. */
  private ControlPanel m_controlPanel;

  /** The next id number available for default naming. */
  private int m_nextId;
   
  /** A Vector list of the units currently selected. */
  private FastVector m_selected;

  /** A Vector list of the graphers. */
  private FastVector m_graphers;

  /** The number of epochs to train through. */
  private int m_numEpochs;

  /** a flag to state if the network should be running, or stopped. */
  private boolean m_stopIt;

  /** a flag to state that the network has in fact stopped. */
  private boolean m_stopped;

  /** a flag to state that the network should be accepted the way it is. */
  private boolean m_accepted;
  /** The window for the network. */
  private JFrame m_win;

  /** A flag to tell the build classifier to automatically build a neural net.
   */
  private boolean m_autoBuild;

  /** A flag to state that the gui for the network should be brought up.
      To allow interaction while training. */
  private boolean m_gui;

  /** An int to say how big the validation set should be. */
  private int m_valSize;

  /** The number to to use to quit on validation testing. */
  private int m_driftThreshold;

  /** The number used to seed the random number generator. */
  private long m_randomSeed;

  /** The actual random number generator. */
  private Random m_random;

  /** A flag to state that a nominal to binary filter should be used. */
  private boolean m_useNomToBin;
  
  /** The actual filter. */
  private NominalToBinary m_nominalToBinaryFilter;

  /** The string that defines the hidden layers */
  private String m_hiddenLayers;

  /** This flag states that the user wants the input values normalized. */
  private boolean m_normalizeAttributes;

  /** This flag states that the user wants the learning rate to decay. */
  private boolean m_decay;

  /** This is the learning rate for the network. */
  private double m_learningRate;

  /** This is the momentum for the network. */
  private double m_momentum;

  /** Shows the number of the epoch that the network just finished. */
  private int m_epoch;

  /** Shows the error of the epoch that the network just finished. */
  private double m_error;

  /** This flag states that the user wants the network to restart if it
   * is found to be generating infinity or NaN for the error value. This
   * would restart the network with the current options except that the
   * learning rate would be smaller than before, (perhaps half of its current
   * value). This option will not be available if the gui is chosen (if the
   * gui is open the user can fix the network themselves, it is an 
   * architectural minefield for the network to be reset with the gui open). */
  private boolean m_reset;

  /** This flag states that the user wants the class to be normalized while
   * processing in the network is done. (the final answer will be in the
   * original range regardless). This option will only be used when the class
   * is numeric. */
  private boolean m_normalizeClass;

  /**
   * this is a sigmoid unit. 
   */
  private SigmoidUnit m_sigmoidUnit;
  
  /**
   * This is a linear unit.
   */
  private LinearUnit m_linearUnit;
  
  /**
   * The constructor.
   */
  public MultilayerPerceptron() {
    m_instances = null;
    m_currentInstance = null;
    m_controlPanel = null;
    m_nodePanel = null;
    m_epoch = 0;
    m_error = 0;
    
    

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区三区四区五区| 91婷婷韩国欧美一区二区| 一区二区视频免费在线观看| 国产日韩欧美高清| 国产日韩av一区| 国产精品欧美一区二区三区| 26uuu亚洲| 国产日韩欧美一区二区三区综合| 久久亚洲春色中文字幕久久久| www国产成人免费观看视频 深夜成人网| 在线成人免费观看| 日韩欧美一区中文| 久久久精品免费网站| 国产午夜精品久久| 亚洲欧美视频在线观看视频| 怡红院av一区二区三区| 亚洲午夜一区二区| 日本va欧美va瓶| 国产成人综合网| 91啪九色porn原创视频在线观看| 91精彩视频在线观看| 在线电影国产精品| 国产欧美日韩激情| 亚洲一区二区三区四区在线免费观看 | 日韩一区二区三区精品视频| 日韩亚洲欧美一区| 国产欧美一区二区精品久导航| 日韩理论在线观看| 美腿丝袜在线亚洲一区| 国产69精品久久久久毛片 | 亚洲一区二区三区小说| 麻豆中文一区二区| 91小视频在线免费看| 欧美一区二区福利视频| 国产欧美日本一区视频| 亚洲综合精品久久| 国产曰批免费观看久久久| av成人老司机| 精品久久久影院| 亚洲午夜三级在线| 国产精品夜夜嗨| 欧美日韩一本到| 国产精品免费看片| 日韩电影免费在线观看网站| 成人高清在线视频| 欧美一级一级性生活免费录像| 国产精品高清亚洲| 国产酒店精品激情| 欧美久久久久免费| 亚洲欧洲另类国产综合| 久久激情五月婷婷| 欧美日韩在线一区二区| 国产精品无圣光一区二区| 免费看日韩精品| 在线日韩一区二区| 国产精品天美传媒| 激情综合网激情| 91精选在线观看| 亚洲综合一二三区| 91原创在线视频| 国产欧美精品一区aⅴ影院| 美腿丝袜亚洲综合| 欧美精品亚洲二区| 亚洲综合自拍偷拍| 色噜噜偷拍精品综合在线| 国产日韩欧美综合一区| 国产精品亚洲第一区在线暖暖韩国| 日韩欧美一级二级三级久久久| 五月激情六月综合| 欧美午夜不卡在线观看免费| 亚洲精品中文在线影院| 国产成人精品一区二| 久久亚洲精品国产精品紫薇| 精品一区二区三区免费视频| 日韩欧美一区二区三区在线| 人人爽香蕉精品| 日韩精品综合一本久道在线视频| 五月综合激情网| 91精品国产91综合久久蜜臀| 蜜臀久久99精品久久久久宅男| 欧美一区二区三区色| 美女一区二区在线观看| 精品国产欧美一区二区| 国产在线精品免费| 国产精品每日更新| 91丨porny丨中文| 亚洲一区二区在线免费看| 欧美视频在线一区| 免费看欧美美女黄的网站| 欧美一级黄色片| 国内精品伊人久久久久av影院| 久久精品网站免费观看| 成人免费不卡视频| 一卡二卡欧美日韩| 欧美一卡二卡三卡| 国产精品一二三四五| 自拍偷拍国产亚洲| 欧美三区免费完整视频在线观看| 日产精品久久久久久久性色| 日韩亚洲国产中文字幕欧美| 精品一区二区在线视频| 18涩涩午夜精品.www| 欧美精品亚洲一区二区在线播放| 激情综合网最新| 亚洲综合无码一区二区| 日韩精品一区国产麻豆| 国产夫妻精品视频| 亚洲午夜在线视频| 国产亚洲婷婷免费| 欧美伊人久久大香线蕉综合69| 蜜臀av性久久久久蜜臀aⅴ流畅| 久久综合久久综合久久| 色欧美片视频在线观看| 免费成人你懂的| 亚洲免费色视频| 亚洲精品一区二区三区99| 91麻豆自制传媒国产之光| 麻豆国产精品777777在线| 一色屋精品亚洲香蕉网站| 日韩欧美高清一区| 色欧美乱欧美15图片| 国产91精品一区二区麻豆网站 | 欧美一区二区日韩一区二区| 成人91在线观看| 久久99精品久久久久久动态图| 亚洲激情av在线| 欧美激情一区不卡| 精品国产免费一区二区三区四区| 色婷婷激情综合| 97久久超碰国产精品电影| 捆绑紧缚一区二区三区视频| 亚洲欧洲制服丝袜| 国产日韩欧美精品综合| 日韩一区二区电影在线| 欧美三级中文字幕在线观看| 99r精品视频| 成人黄色免费短视频| 国产综合成人久久大片91| 爽好久久久欧美精品| 一区二区三区四区五区视频在线观看| 久久久综合视频| 2020国产精品自拍| 日韩欧美的一区二区| 69久久夜色精品国产69蝌蚪网| 色老汉一区二区三区| 91论坛在线播放| 不卡的av在线| 波多野结衣一区二区三区| 国产精品99久久久久久久vr| 精久久久久久久久久久| 奇米在线7777在线精品| 婷婷激情综合网| 视频在线观看一区二区三区| 亚洲国产日日夜夜| 亚洲黄一区二区三区| 亚洲曰韩产成在线| 一区二区在线观看视频| 亚洲精品高清在线观看| 一区二区三区中文字幕| 亚洲一区二区在线免费观看视频| 一区二区三区四区高清精品免费观看| 亚洲色图一区二区| 亚洲精品水蜜桃| 天堂久久一区二区三区| 日韩av电影免费观看高清完整版 | 国产精品三级av| 欧美国产精品一区二区三区| 国产精品污网站| 洋洋成人永久网站入口| 亚洲国产精品久久一线不卡| 日韩电影在线观看网站| 久久精品国产久精国产| 国产伦理精品不卡| 成人国产在线观看| 日本乱人伦aⅴ精品| 欧美视频在线一区二区三区| 制服丝袜av成人在线看| 日韩美女在线视频| 国产精品成人免费| 亚洲一区二区三区四区在线观看| 全国精品久久少妇| 国产xxx精品视频大全| 色综合天天天天做夜夜夜夜做| 欧美日韩国产精选| 精品国产露脸精彩对白| 国产精品白丝在线| 日本中文字幕一区| 国产成a人亚洲精| 91久久精品一区二区三区| 精品国产三级电影在线观看| 亚洲猫色日本管| 久久电影网站中文字幕| av激情亚洲男人天堂| 欧美一区二区三区视频| 中文字幕一区二区三区av| 日本中文字幕一区二区视频| 99免费精品视频| 精品日韩一区二区三区免费视频| 国产精品久久久久婷婷| 日本午夜一区二区|