Java学习
文章平均质量分 72
Butterfffly
这个作者很懒,什么都没留下…
展开
-
论文写作心得
三个部分是连贯的,首先说明问题所属的领域,解释最重要的概念;一篇论文的符号应当遵从一致性,即表示某一意义的符号在论文的各个位置都应当使用同一形式,不能前面用 X ,后面用 x。28.论文中的表格应该与文字的边距相同,如果表格的内容不多或者太多装不下,可以使用Latex控制表格的宽度。有些作者有自己的一些爱好,比如名中间连词符,有些则喜欢独立,我们在查阅他们的论文时,要了解和尊重对应的习惯。1.第一篇论文不要盲目地追求创新,更应该是找一篇顶刊顶会的文献,尝试复现别人的工作,先对该领域的工作有一定了解再说。原创 2022-11-06 14:33:05 · 368 阅读 · 0 评论 -
JavaDay29
学习来源:日撸 Java 三百行(81-90天,CNN 卷积神经网络)_闵帆的博客——CSDN博客今天主要涉及 CNN 网络的具体构建,通过前面定义的数学操作、单层 CNN 和多层 CNN 管理的结构来实现完整的 CNN 。1. initOperators 又初始化了三个 Operator 对象,以输入为 v ,分别实现:1)返回 ;2)返回 ;3)返回 ;2. 和 是超参数,可以自己设置。3. setUp 函数对整个 CNN 网络进行初始化,根据 type 对输入层、卷积层、池化层和输出层分原创 2022-06-16 19:02:07 · 162 阅读 · 0 评论 -
JavaDay28
学习来源:日撸 Java 三百行(81-90天,CNN 卷积神经网络)_闵帆的博客——CSDN博客设定网络框架,提供基础的功能函数。1. CNN单层类,主要涉及各层的初始化以及属性的getter和setter方法。2. 属性type表示这层的类型,如输入、卷积、池化、输出层。3. 创建单层对象时,构造函数有paraType、paraNum、paraSize三个参数,根据paraType的值来判断其余两个参数的意义。例如当paraType等于CONVOLUTION时,表示当前层为卷积层,那么paraNum表示原创 2022-06-12 18:49:59 · 82 阅读 · 0 评论 -
JavaDay27
学习来源:日撸 Java 三百行(81-90天,CNN 卷积神经网络)_闵帆的博客——CSDN博客一、CNN网络结构上图为CNN的一个例子,convolution为卷积操作;pooling为池化;fully connected为全连接。1. 输入层在处理图像的CNN中,输入层一般代表了一张图片的像素矩阵。2. 卷积层 卷积层是CNN最重要的部分。与传统的全连接层不同,卷积层中每个节点的输入是上一层神经网络的一小块。以下为卷积层结构示意图:如上图所示,Input X为输入,Kernel W为卷积原创 2022-06-10 15:16:06 · 135 阅读 · 0 评论 -
JavaDay26
学习来源:日撸 Java 三百行(81-90天,CNN 卷积神经网络)_闵帆的博客——CSDN博客1.使用到了java.util.List类,与自己读取并使用 double[][] 来管理数据相比, List 类允许添加数据, 更加灵活。2.使用split函数按指定字符串分割读到的文件。3.List 是指列表里面只能存储 Instance 类型和其子类型的变量。1.支持Size的相除,前提是可以整除。2.支持Size的相减。...原创 2022-06-08 18:31:44 · 62 阅读 · 0 评论 -
JavaDay25
学习来源:日撸 Java 三百行(71-80天,BP 神经网络)_闵帆的博客——CSDN博客实现完整的ANN,网络结构如下图:1)完整ANN包含四个单层ANN,输入层和输出层节点数为4和3,两个隐含层的节点数为8;2)激活函数统一使用Sigmoid函数;3)前向传播时上一层的输出作为下一层的输入;反向传播时从输出层开始,逐层从后往前更新权值矩阵。代码如下:运行结果:...原创 2022-06-04 17:14:24 · 57 阅读 · 0 评论 -
JavaDay24
学习来源:日撸 Java 三百行(71-80天,BP 神经网络)_闵帆的博客——CSDN博客 今天的代码主要实现单层的ANN。 输入层节点个数为2,输出层节点个数为3,激活函数使用Sigmoid。例:1.输入input为 [1, 4],随机初始化权值矩阵weight为 2.前向传播: 1)计算加权和 2)经过激活函数激活得到输出activatedOutput为 [0.9818, 0.9893, 0.9579]。3.反向传播: 利用激活函数的导数反向传原创 2022-06-02 21:04:46 · 59 阅读 · 0 评论 -
JavaDay23
学习来源:日撸 Java 三百行(71-80天,BP 神经网络)_闵帆的博客——CSDN博客通用BP神经网络 (1. 集中管理激活函数)今天代码主要涉及各种激活函数。1.ArcTan函数表达式:导数表达式:函数及导数图像:2.ELU函数表达式:导数表达式:函数及导数图像:3.Identity函数表达式:...原创 2022-05-31 18:38:01 · 71 阅读 · 0 评论 -
JavaDay22
学习来源:日撸 Java 三百行(71-80天,BP 神经网络)_闵帆的博客——CSDN博客固定激活函数的BP神经网络原创 2022-05-29 21:03:21 · 85 阅读 · 0 评论 -
JavaDay21
学习来源:日撸 Java 三百行(71-80天,BP 神经网络)_闵帆的博客——CSDN博客bp神经网络(基础类)1.bp神经网络bp神经网络是一种多层前馈神经网络,主要特点是信号正向传递,误差反向传播。图1.多层神经网络结构2.正向传递过程 1)输入层输入向量; 2)经过与权值矩阵进行运算得到隐含层; 3)隐含层经过与权值矩阵的运算得到输出层。3.反向传播过程 1)根据输出层预测...原创 2022-05-26 09:35:33 · 73 阅读 · 0 评论 -
JavaDay20
学习来源:日撸 Java 三百行(61-70天,决策树与集成学习)_闵帆的博客——CSDN博客矩阵分解1.奇异值分解奇异值分解(SVD)是一种矩阵分解算法,用于将矩阵简化为其组成部分,从而简化后续矩阵计算。SVD的表达式为其中:为以或的特征值的平方根为主对角线元素的对角阵;是由的特征向量组成的矩阵;是由的特征向量组成的矩阵。例:矩阵, 则 ,特征值为50和0,特征向量为和; ,特征向量为 和 ;因此得到SVD分解:2....原创 2022-05-25 20:07:17 · 75 阅读 · 0 评论 -
JavaDay19
学习来源:日撸 Java 三百行(61-70天,决策树与集成学习)_闵帆的博客——CSDN博客主动学习之ALEC(后续部分)今天主要理解ALEC算法的后续代码1.computeDistanceToMaster()方法实密度聚类的核心。节点的父节点(master)是在比当前节点密度大的节点中,距离当前节点最近的节点。数组descendantDensities[]按照密度将节点降序排序,因此寻找父节点时,直接从前往后遍历即可。2.computePriority()方法计算节点的代表性,而原创 2022-05-19 20:42:08 · 120 阅读 · 0 评论 -
JavaDay18
学习来源:日撸 Java 三百行(61-70天,决策树与集成学习)_闵帆的博客——CSDN博客主动学习之ALEC1.监督学习、非监督学习和半监督学习:1)监督学习:通过已有的一部分输入数据与输出数据之间的对应关系,生成一个函数,将输入映射到合适的输出,例如分类。2)非监督学习:直接对输入数据集进行建模,例如聚类。3)综合利用有标签的数据和没有标签的数据,来生成合适的分类函数。2.主动学习: 主动学习指的是一种方法:有时有标签的...原创 2022-05-17 21:25:19 · 153 阅读 · 0 评论 -
JavaDay17
学习来源:日撸 Java 三百行(61-70天,决策树与集成学习)_闵帆的博客——CSDN博客集成学习之AdaBoosting集成学习之AdaBoosting回顾:第一部分(带权数据集)1.树桩分类器:单层决策树,也称决策树桩。是一种简单的决策树,通过给定的阈值进行分类。决策树桩根据对单个属性值的判断进行分类,适合作为集成学习中的弱分类器。2.抽象分类器:在此基础上可以实现树桩分类器,也可以支持其它的基础分类器。代码如下:pack...原创 2022-05-15 21:19:38 · 169 阅读 · 0 评论 -
JavaDay16
学习来源:日撸 Java 三百行(61-70天,决策树与集成学习)_闵帆的博客——CSDN博客集成学习之AdaBoostg原创 2022-05-13 20:32:17 · 187 阅读 · 0 评论 -
JavaDay14
学习来源:日撸 Java 三百行(51-60天,kNN 与 NB)_闵帆的博客——CSDN博客1.针对数值型数据的NB算法前面学习了针对符号型数据的NB算法,今天学习如何使用NB算法对数值型数据进行处理。数据集:@RELATION iris@ATTRIBUTE sepallength REAL@ATTRIBUTE sepalwidth REAL@ATTRIBUTE petallength REAL@ATTRIBUTE petalwidth REAL@ATTRIBUTE原创 2022-05-08 19:49:47 · 276 阅读 · 0 评论 -
JavaDay13
学习来源日撸 Java 三百行(51-60天,kNN 与 NB)_闵帆的博客——CSDN博客1.针对符号型数据的NB算法NB全称为Naive Bayes,是基于概率论的分类算法。2.理论基础2.1条件概率公式:P(AB) = P(A)P(B|A) (1)其中: P(A)表示事件A发生的概率; P(AB)表示事件A和B...原创 2022-05-06 20:49:02 · 417 阅读 · 0 评论 -
JavaDay12
学习来源:日撸 Java 三百行(51-60天,kNN 与 NB)_闵帆的博客——CSDN博客一、基于M-distance的推荐1.在前面的KNN算法原理是基于K个邻居对目标的种类进行投票来决定的。虽然KNN综合性能比较好,但在某些情况下如样本不平衡的时候,KNN对稀有类别的预测准确度低。2.所以在这里对KNN进行改进,对邻居的选取不再单纯以距离排序而是以一个指定的距离范围作为指标,将所有在距离范围内的测试集数据作为邻居,根据这些邻居的投票来决定对目标种类的预测。3.由于使用的是leav原创 2022-05-04 21:20:31 · 299 阅读 · 0 评论 -
JavaDay11
学习来源:日撸 Java 三百行(51-60天,kNN 与 NB)_闵帆的博客——CSDN博客一、KNN分类器1. KNN是指当对目标进行预测的时候,根据k个最近邻居的投票来对目标的类别进行预测。2. KNN是没有学习过程的,直接根据已有数据进行预测。3. KNN的综合性能较好,在大多数情况下KNN都具有较好的效果。 4. 以下是KNN算法的例子——对花朵进行分类package JavaDay11;import ...原创 2022-05-01 21:25:19 · 180 阅读 · 0 评论 -
JavaDay10
学习来源:日撸 Java 三百行(41-50天,查找与排序)_闵帆的博客——CSDN博客在前面的基础上加上一些常用的其他排序1. 快速排序交换排序中最主要的就是冒泡排序和快速排序。快速排序的基本思想是居于分治法,在待排序表中任取一个元素作为基准pivot,通过一趟排序将待排序表划分为两个独立部分,其中一部分元素全都小于pivot,另一部分元素都大于pivot,此时作为基准的元素就处于其最终的位置上。然后分别对剩余的两个部分重复上述操作直到每个部分为空或仅有...原创 2022-04-29 21:25:52 · 41 阅读 · 0 评论 -
JavaDay9
学习来源:日撸 Java 三百行(41-50天,查找与排序)_闵帆的博客——CSDN博客一、查找1. 顺序查找顺序查找对顺序表和链表都适用。从线性表的一端开始顺序扫描每个元素,直到找到要寻找的元素或者到达表的另一端。2. 折半查找又叫二叉查找,仅适用于有序的顺序表。3. 哈希表哈希函数可以将关键字映射为该关键字对应的地址。建立了关键字和存储地址之间的一种映射关系二、排序1. 插入排序...原创 2022-04-27 22:00:09 · 167 阅读 · 0 评论 -
JavaDay8
学习来源:日撸 Java 三百行(31-40天,图)_闵帆的博客——CSDN博客一、邻接表 当一个图为稀疏图时,使用邻接矩阵会浪费大量的存储空间,图的邻接表存储方式结合了顺序存储和链式存储方法,节省了存储空间。对于图中的每个顶点建立一个单链表,链表中的节点表示依附于顶点的边。对于所有顶点采用顺序存储。package JavDay8;import JavaDay5.CircleObjectQueue;import JavaDay7.Graph;/** * @auth...原创 2022-04-25 17:45:59 · 874 阅读 · 0 评论 -
JavaDay7
学习来源:日撸 Java 三百行(31-40天,图)_闵帆的博客——CSDN博客一、整数矩阵及运算算是对前面学习的矩阵内容的强化,涉及由二维数组构造矩阵、将矩阵元素存入二维数组、读写矩阵元素、矩阵相乘和相加等操作。package JavaDay7;import java.util.Arrays;/** * @author Kexiong Wang * * @date 2022年4月23日 */public class IntMatrix { //...原创 2022-04-23 21:13:39 · 185 阅读 · 0 评论 -
JavaDay6
学习来源:日撸 Java 三百行(21-30天,树与二叉树)_闵帆的博客——CSDN博客一、汉诺塔问题汉诺塔问题是典型的递归使用的案例,其中最关键的就是递归过程中参数的变化规律。通过手动推演层数较少的汉诺塔迭代过程可以很好地理解递归参数变化。package JavaDay6;/** * @author Kexiong Wang * * @date 2022年4月21日 */public class Hanoi { /** **********...原创 2022-04-21 18:00:53 · 738 阅读 · 0 评论 -
JavaDay5
学习来源:日撸 Java 三百行(21-30天,树与二叉树)_闵帆的博客——CSDN博客一、树1. 树的定义树是n(n>0)个节点的有限集。当结点个数为0时,树称为空树。任意一棵非空树应当满足:①有且仅有一个特定的称为根的结点;②当n>1时,其余结点可分为m(m>0) 个互不相交的有限集,其中每个集合本身又是一棵树,并称为根的子树。二、二叉树1. 二叉树的定义二叉树是一种树形结构,其特点是每个结点至多只有两棵子树,且二叉树的子树有左右...原创 2022-04-19 15:55:55 · 445 阅读 · 0 评论 -
JavaDay4
学习来源:日撸 Java 三百行(11-20天,线性数据结构)_闵帆的博客——CSDN博客一、操作受限的线性表——栈1. 栈的定义栈是一种只允许在一端进行插入和删除操作的线性表。允许进行插入和删除操作的一端称为栈顶,对应的另一端为栈底。栈的特点是后进先出(后进进栈的元素会比先进栈的元素先出栈)。2. 栈有初始化、进栈、出栈、读栈顶等操作。package JavaDay4;/** * @author Kexiong Wang * * @date 2022年4月17日 ..原创 2022-04-16 19:09:26 · 173 阅读 · 0 评论 -
JavaDay3
学习来源:日撸 Java 三百行(11-20天,线性数据结构)_闵帆的博客-CSDN博客一、线性表线性表是具有相同数据类型的n个数据元素的有限序列,当n=0时,线性表是一个空表。表中第一个数据元素称为表头元素,最后一个数据元素称为表尾元素。除第一个元素外,每个元素有且仅有一个直接前驱;除最后一个元素外,每个元素有且仅有一个直接后继。 线性表是一种逻辑结构,表示元素之间一对一的相邻关系...原创 2022-04-15 17:53:40 · 574 阅读 · 0 评论 -
JavaDay2
学习来源:日撸 Java 三百行(01-10天,基本语法)_闵帆的博客-CSDN博客一、循环语句1. for语句程序执行for循环时,先执行循环的初始化语句,初始化语句只在循环开始前执行一次。每次执行循环体前,都先计算循环条件的值,如果循环条件返回true,则执行循环体,循环体执行结束后执行循环迭代语句。2. for语句的基本应用(代码)(运行结果)3. for语句的中阶应用——二重循环(代码)(运行结果)4. for语句使用的强化练习——三重循环...原创 2022-04-13 20:09:32 · 72 阅读 · 0 评论 -
JavaDay1
一、Java基础概念1. package java引入包(package)机制,提供了类的多层命名空间,用于解决类的命名冲突、类文件管理等问题。java允许将一组功能相关的类放在同一个package下,从而组成逻辑上的类库单元。通过在第一个非注释行写入以下代码可以把java文件中的类放入指定包。package packageName;同一个包下的类可以自由访问。2. import 当需要使用不同包中的其他类时,通过import关键字导入指定包层...原创 2022-04-11 17:00:11 · 217 阅读 · 0 评论