Java神经网络(一)——Neuroph初次使用

article/2025/10/9 0:07:49

Java神经网络

  • 前言
  • Neuroph框架
    • Neuroph结构
      • 框架图
      • Java API 及其类库说明(core nnet util)
    • Neuroph简单案例实现
      • 下载必要的Neuroph jar包
      • 导入jar包
      • 找案例(在书中或者网上)
      • 运行
      • 解决方案

前言

学了好一阵子时间的神经网络,对神经网络的感觉都还是朦朦胧胧的,感觉还是什么都不会,python代码也不是太熟悉,在写小案例的时候总是被一些奇奇怪怪的报错拦住,于是打算剑走偏锋用自己最熟悉的代码(Java)再去学一遍,文中若有错误还请大佬指正。


Neuroph框架

Neuroph 是轻量级的 Java 神经网络的框架,可以用来模拟常见的神经网络架构。少数基本类别相对应的基本网络的概念,它非常容易学习。它也有一个不错的 GUI 应用程序。

Neuroph结构

框架图

在这里插入图片描述

Java API 及其类库说明(core nnet util)

Java Api被分为三部分:core(核心组件) nnet(网络组件) util(工具组件)
类库说明

Neuroph简单案例实现

下载必要的Neuroph jar包

下面用的是neuroph-2.98 链接:https://neuroph.sourceforge.net/download.html

导入jar包

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>org.example</groupId><artifactId>IDEANeuroph01</artifactId><version>1.0-SNAPSHOT</version><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>6</source><target>6</target></configuration></plugin></plugins></build><dependencies><dependency><groupId>org.beykery</groupId><artifactId>neuroph</artifactId><version>2.92</version><type>pom</type></dependency></dependencies></project>

找案例(在书中或者网上)

该案例是在网上找到的,附上原文链接:https://www.moban555.com/article/1016215.html

package com.kc;import java.util.Arrays;import org.neuroph.core.NeuralNetwork;
import org.neuroph.core.data.DataSet;
import org.neuroph.core.data.DataSetRow;
import org.neuroph.core.events.LearningEvent;
import org.neuroph.core.events.LearningEventListener;
import org.neuroph.core.learning.LearningRule;
import org.neuroph.nnet.Perceptron;
import org.neuroph.nnet.learning.BinaryDeltaRule;public class MyPerceptron implements LearningEventListener{public static void main(String[] args) {new MyPerceptron().TestPerceptron();}public  void TestPerceptron() {// create new perceptron networkNeuralNetwork myperceptron = new Perceptron(2, 1);// create training set ANDDataSet trainingSet = new DataSet(2, 1);trainingSet.add(new double[]{0, 0}, new double[]{0});trainingSet.add(new double[]{0, 1}, new double[]{0});trainingSet.add(new double[]{1, 0}, new double[]{0});trainingSet.add(new double[]{1, 1}, new double[]{1});// print iteration logLearningRule lr = myperceptron.getLearningRule();lr.addListener(this);// learn the training setmyperceptron.learn(trainingSet);// save the trained network into filemyperceptron.save("or_perceptron_nnet");// load the saved networkNeuralNetwork neuralNetworkTest = NeuralNetwork.createFromFile("or_perceptron_nnet");// Test network - Single inputneuralNetworkTest.setInput(0, 0);neuralNetworkTest.calculate();double[] networkOutput = neuralNetworkTest.getOutput();System.out.println(networkOutput[0]);// Test network - set inputtestNeuralNetwork(myperceptron, trainingSet);}public 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) );}}@Overridepublic void handleLearningEvent(LearningEvent event) {BinaryDeltaRule rule = (BinaryDeltaRule)event.getSource();if (event.getEventType() != LearningEvent.Type.LEARNING_STOPPED)System.out.println(rule.getCurrentIteration() + ". iteration : "+ rule.getTotalNetworkError());}}

运行

在这里插入图片描述

解决方案

由上图可知代码编译前虽然没报错,但是在编译后却报错了。
通过一步步排查,我们找到他在DataSet这个类中少了一个文件,如图

在这里插入图片描述
在这里插入图片描述
解决如下: 去maven里下载一个,在pom.xml中添加其坐标

		<dependency><groupId>javax.visrec</groupId><artifactId>visrec-api</artifactId><version>1.0.0</version></dependency>

再次运行:

在这里插入图片描述


http://chatgpt.dhexx.cn/article/ZnjeWUxw.shtml

相关文章

神经网络分类

人工神经网络&#xff08;Artificial Neural Network&#xff0c;ANN&#xff09;简称神经网络(NN)&#xff0c;是基于生物学中神经网络的基本原理&#xff0c;在理解和抽象了人脑结构和外界刺激响应机制后&#xff0c;以网络拓扑知识为理论基础&#xff0c;模拟人脑的神经系统…

神经网络分类总结

1.人工智能、机器学习与深度学习 人工智能&#xff1a;努力将通常由人类完成的智力任务自动化。机器学习机器学习&#xff08; machine learning&#xff09;是人工智能的一个特殊子领域&#xff0c;其目标是仅靠观察训练数据来自动开发程序&#xff3b;即模型&#xff08; mo…

神经网络分类四种模型,神经网络分类特点区别

神经网络有哪些主要分类规则并如何分类&#xff1f; 神经网络模型的分类人工神经网络的模型很多&#xff0c;可以按照不同的方法进行分类。其中&#xff0c;常见的两种分类方法是&#xff0c;按照网络连接的拓朴结构分类和按照网络内部的信息流向分类。 1按照网络拓朴结构分类…

【学习记录】神经网络三种主要类型

1.图结构 图网络是定义在图结构数据上的神经网络&#xff1a;①图中每个节点都由一个或一组神经元组成②节点之间连接可以有向可以无向③每个节点可接收来自相邻节点或自身的信息。 2.前馈神经网络 前馈神经网络中&#xff0c;把每个神经元接受信息的先后分为不同的组&#xf…

神经网络的类型分类和结构理解

一、序言 神经网络是模仿动物神经网络行为特征&#xff0c;进行分布式并行信息处理的算法数学模型。 在深度学习领域&#xff0c;神经网络就是我们深度学习的灵魂&#xff0c;如果我们想依靠算法实现一些功能&#xff0c;就必须依托不同的神经网络结构&#xff0c;所以很有必…

idea构建spark开发环境(基于maven)

目前Intellij IDEA对scala支持的比较好&#xff0c;本文使用idea构建spark开发环境。 1.准备工作 jdk版本&#xff0c;scala sdk环境(我的是jdk1.8&#xff0c;scala 2.1) scala官网下载地址&#xff1a;http://www.scala-lang.org/download/ 2.Intellij IDEA 下载地址ht…

Spark多语言开发

目录 1 多语言开发-说明2 Java-Spark-掌握2.1 SparkCore2.2 SparkStreaming2.3 SparkSQL2.4 StructuredStreaming2.5 线性回归算法-房价预测案例2.5.1 需求代码实现 3 PySpark-了解3.1 SparkCore3.2 SparkStreaming3.3 SparkSQL3.4 StructuredStreaming3.5 决策树算法-相亲决策…

eclipse配置spark开发环境

前言 无论Windows 或Linux 操作系统&#xff0c;构建Spark 开发环境的思路一致&#xff0c;基于Eclipse 或Idea&#xff0c;通过Java、Scala 或Python 语言进行开发。安装之前需要提前准备好JDK、Scala 或Python 环境&#xff0c;然后在Eclipse 中下载安装Scala 或Python 插件(…

idea搭建spark开发环境完整版(windows)

利用intellij idea 搭建spark开发环境&#xff08;windows&#xff09; 本文配置所有环境 Win10 企业版2016长期服务版 Jdk1.8.0.131 Hadoop2.7.3 Spark2.2.0 Scala2.11.12 一、Jdk环境配置 下载 http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-…

Spark开发环境搭建(提供实验平台)

Spark开发环境搭建 1&#xff09;Scala环境 1. 前置说明 安装与配置Scala开发环境。 实验平台直达链接 Scala是一种函数式面向对象语言&#xff0c;它融汇了许多前所未有的特性&#xff0c;而同时又运行于JVM之上。随着开发者对Scala的兴趣日增&#xff0c;以及越来越多的…

使用Python开发spark

使用Python开发 一、Python编程语言 1.1、Python语言的特点 Python是一种面向对象的解释型计算机程序设计语言&#xff0c;具有丰富和强大的库。如今Python已经成为继JAVA&#xff0c;C之后的的第三大编程语言。 1、可性移强植 简易单学 2、免开费源 丰富库的 3、可性移强植…

Spark开发环境搭建(学习笔记)

夫君子之行&#xff0c;静以修身&#xff0c;俭以养德&#xff0c;非淡泊无以明志&#xff0c;非宁静无以致远。 夫学须静也&#xff0c;才须学也&#xff0c;非学无以广才&#xff0c;非志无以成学。淫慢则不能励精&#xff0c;险躁则不能冶性。 年与时驰&#xff0c;意与日去…

IDEA下使用maven配置Spark开发环境

IDEA下使用maven配置Spark开发环境 1、安装Java2、配置环境变量3、配置Hadoop环境4、安装Scala插件5、配置maven4、Spark编程Spark测试 使用到的软件安装包: https://pan.baidu.com/s/1fOKsPYBmOUhHupT50_6yqQ 提取码: d473 1、安装Java 点击下一步&#xff0c; 点击下一步&a…

windows配置spark开发环境

声明&#xff1a;搭建过程中&#xff0c;会因为版本兼容问题&#xff0c;造成闪退等问题&#xff0c;以下是我自用的版本&#xff0c;如需其他版本&#xff0c;最好先查一下兼容问题 1.jdk-8u333-windows-x64下载链接 2.scala-2.13.10下载链接 3.hadoop-3.2.2下载链接 4.spark-…

Spark的安装与使用 第2关:安装与配置Spark开发环境

本关任务:安装与配置Spark开发环境。 相关知识 Apache Spark是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于Map…

Spark开发环境的搭建

(1)在/opt目录下建立 software,module两个文件&#xff0c;software用来下载安装包&#xff0c;下载或的安装包可以解压到module文件。小编下载spark的版本是&#xff1a;spark-2.3.2-bin-hadoop2.7.tgz。所以下载spark版本到software文件后&#xff0c;解压到module文件中&…

Spark 开发环境

一、安装JDK 本文写于2022年4月&#xff0c;此时最新版的JDK已经更新到了JDK17——下载地址。为了满足开发人员的需要&#xff0c;Oracle仍然提供了JDK8和JDK11可供下载&#xff0c;下载链接也在上面的网站上&#xff0c;只需要把页面下滑即可。 注&#xff1a;由于需要配置Sp…

PyCharm搭建Spark开发环境windows下安装pyspark

目录 windows下安装pysparkPyCharm搭建Spark开发环境 windows下安装pyspark spark和hadoop版本版本之间有对应关系 安装jdk 安装hadoop 下载 hadoop-2.7.7.tar.gz 配置环境变量 不再演示 下载winutils.exe https://github.com/steveloughran/winutils 选择对应的hadoop版…

MaxCompute Spark开发指南

0. 概述 本文档面向需要使用MaxCompute Spark进行开发的用户使用。本指南主要适用于具备有Spark开发经验的开发人员。 MaxCompute Spark是MaxCompute提供的兼容开源的Spark计算服务&#xff0c;它在统一的计算资源和数据集权限体系之上&#xff0c;提供Spark计算框架&#xf…

idea搭建Spark开发环境

最近在公司换了一个项目组&#xff0c;做Spark项目的&#xff0c;于是开始学Spark。 版本: <scala.version>2.13.8</scala.version><spark.version>3.3.0</spark.version> 1.首先安装Scala Scala安装成功之后&#xff1a; 2.新建maven项目 pom文件: …