neuroph实现感知机 计算xor问题

package com.core.perceptron;

import java.util.Arrays;

import org.neuroph.core.*;
import org.neuroph.core.data.*;
import org.neuroph.nnet.MultiLayerPerceptron;
import org.neuroph.util.TransferFunctionType;

public class XORDemo {
    public static void main(String[] args){
        DataSet trainingSet = new DataSet(2, 1);
        trainingSet.addRow(new DataSetRow(new double[]{0, 0}, new double[] {0}));
        trainingSet.addRow(new DataSetRow(new double[]{0, 1}, new double[] {1}));
        trainingSet.addRow(new DataSetRow(new double[]{1, 0}, new double[] {1}));
        trainingSet.addRow(new DataSetRow(new double[]{1, 1}, new double[] {0}));

        MultiLayerPerceptron myMLP = new MultiLayerPerceptron(TransferFunctionType.TANH, 2 ,3 ,1);
        System.out.println("Training network...");
        myMLP.learn(trainingSet);
        System.out.println("Testing network");
        testNeuralNetwork(myMLP, trainingSet);
    }

    public static void testNeuralNetwork(NeuralNetwork nnet, DataSet tset) {
        for (DataSetRow dataRow : tset.getRows()) {  

               nnet.setInput(dataRow.getInput());
               nnet.calculate();
               double[ ] networkOutput = nnet.getOutput();
               System.out.print("Input: " + Arrays.toString(dataRow.getInput()) );
               System.out.println(" Output: " + Arrays.toString(networkOutput) );
             }
    }
}

导入neuroph-core-2.93.jar  neuroph-imgrec-2.93.jar  neuroph-ocr-2.93.jar及slf4j

时间: 2024-10-07 08:59:44

neuroph实现感知机 计算xor问题的相关文章

(转)神经网络和深度学习简史(第一部分):从感知机到BP算法

深度|神经网络和深度学习简史(第一部分):从感知机到BP算法 2016-01-23 机器之心 来自Andrey Kurenkov 作者:Andrey Kurenkov 机器之心编译出品 参与:chenxiaoqing.范娜Fiona.杨超.微胖.汪汪.赵巍 导读:这是<神经网络和深度学习简史>第一部分.这一部分,我们会介绍1958年感知机神经网络的诞生,70年代人工智能寒冬以及1986年BP算法让神经网络再度流行起来. 深度学习掀起海啸 如今,深度学习浪潮拍打计算机语言的海岸已有好几年,但是,

【BZOJ 2115】【WC 2011】Xor

计算1到n的一条路径使得路径上的值xor和最大. 先任意走一条路径计算xor和,然后dfs的时候处理出所有的环的xor和,这样对于所有的环的xor和求线性基,在任意走出的路径的xor和上贪心即可. 正确性显然,如果环与选择的路径有重合,那么重合的部分就会被xor两次,也就没有xor,相当于更改了一部分路径.如果环与选择的路径没有重合,那么相当于从路径上任意一个点到环上的一个点,跑一圈后从进入环的点原路返回,这样环的xor和就计算到了,而往返两次的路径也因为xor了两次相当于没有xor,就不用考虑

xor和路径(codevs 2412)

题目描述 Description 给定一个无向连通图,其节点编号为1到N,其边的权值为非负整数.试求出一条从1号节点到 N 号节点的路径,使得该路径上经过的边的权值的"XOR 和"最大.该路径可以重复经过某些节点或边,当一条边在路径中出现多次时,其权值在计算"XOR 和"时也要被重复计算相应多的次数. 直接求解上述问题比较困难,于是你决定使用非完美算法.具体来说,从1号节点开始,以相等的概率,随机选择与当前节点相关联的某条边,并沿这条边走到下一个节点,重复这个过程,

461. Hamming Distance(leetcode)

The Hamming distance between two integers is the number of positions at which the corresponding bits are different. Given two integers x and y, calculate the Hamming distance. Note:0 ≤ x, y < 2^31. Example: Input: x = 1, y = 4 Output: 2 Explanation:

常用RAID简介及软RAID的实现

常用RAID简介及软RAID的实现 一.什么是RAID? 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有"独立磁盘构成的具有冗余能力的阵列"之意. 磁盘阵列是由很多价格较便宜的磁盘,组成一个快速,超大容量的外存储器系统.它在阵列控制器的控制和管理下,实现快速,并行或交叉存取,并有较强的容错能力. 二.RAID的优势 1.提高传输速率.RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量. 2.通过数据校验提供容错

Linux之Raid,mdadm在线详解

介绍: RAID(RedundantArry of Independent Disks)独立冗余阵列,旧称(Redundant Arry of Inexpensive Disks)廉价冗余阵列,其主要目的是将多个硬盘组成在一起来达到提高I/O.读写.冗余性 RAID实现方式: 硬RAID 1.硬件RAID通过RAID卡提供适配能力从而连接多个硬盘 2.主板中集成了RAID控制器来实现RAID的相关功能 软RAID 软件RAID则通过软件层面模拟实现RAID的相关功能. RAID的优势: RAID

RAID各级别的特性

RAID: Redundant Arrays of Inexpensive Disks(廉价磁盘冗余阵列) Independent独立磁盘冗余阵列 Berkeley:A case for RedundentArrays of Inexpensive Disks RAID 多个独立的物理硬盘按照不同的方式组合起来,形成一个虚拟的硬盘,来提升性能和冗余性: 能解决什么问题: 提高IO能力 多个磁盘并行读写来实现:RAID控制器高级产品有专用RAID内存.独立电源: 提高耐用性 磁盘冗余来实现: RA

LA 2965 Jurassic Remains

这是我做的第一道状态压缩的题目,而且我自己居然看懂了,理解得还算透彻. 题意:给出若干个大写字母组成的字符串,然后选取尽量多的字符串使得这些字母出现偶数次. 最朴素的想法,穷举法:每个字符串只有选和不选两种情况,那么穷举的时间复杂度是O(2n) 优化:将这n个字符串分成两半,先后枚举前n1个字符串所有可能的情况,计算xor值并保存在table中 再枚举后半部分的xor值并在table中查找(因为如果两者的异或值相同,则进行异或运算后的值为0),如果找到,将ans更新为bitcount较大的那种方

RAID各级别特性详解

一.RAID的基本概念 RAID:将多块磁盘以某种方式组织起来当一个存储设备使用. RADI特性: 提高IO能力:通过磁盘并行读写实现;给RAID控制器添加自己的内存. 提高耐用性:通过磁盘冗余来实现. 二.RAID的级别 根据多块磁盘组织在一起的不同的工作方式,我们将RAID分为不同的级别: RAID-0:RAID控制器将待存储的数据流切割为块,将分割好的数据块按顺序均匀分布存储在各个磁盘内.如果其中任何一块磁盘损坏,数据将丢失. 优点:提升了读.写性能:不会占用太多CPU资源:设计.使用和配