自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 Hexo搭建个人博客

文章目录前期准备Git配置和SSHHexo博客框架安装常见问题前期准备GitHub账号注册(官网:https://github.com/)Node.js下载并安装(官网:https://nodejs.org/en/)Git下载并安装(官网:https://git-scm.com/)推荐镜像:​ Node.js 镜像:http://npm.taobao.org/mirrors/no...

2020-04-09 16:58:05 380

原创 数论 | 整数

文章目录归纳公理定理1 数学归纳法定理2 最小自然数原理定理3 最大自然数原理定理4 第二种数学归纳法定理4 盒子原理(鸽笼原理)归纳公理大前提:1°  S⊆N1°\ \ S \subseteq N1°  S⊆N小前提:1°  1∈S1°\ \ 1\in S1°  1∈S2°  n∈S...

2020-03-24 18:47:47 346

原创 Java | 逆波兰计算器原理与实现

文章目录具体步骤中缀表达式转后缀表达式(逆波兰表达式)计算表达式结果自定义MathUtil工具类测试代码打印结果具体步骤/* * 后缀表达式适合计算式进行运算,但是人却不容易写出来,尤其是表达式很长的情况下, * 因此在开发中,我们需要将中缀表达式转成后缀表达式 * * 具体步骤: * 1. 初始化两个栈:运算符栈s1和储存中间结果的栈s2; * 2. 从左至右扫描中缀表达式...

2020-03-18 22:39:21 232

原创 Java | 链表栈实现综合计算器(中缀表达式)

栈(Stack)的理解/* * 栈(Stack) * 1. 栈是先入后出(FILO-First In Last Out)的有序列表。 * 2. 栈是限制线性表中元素的插入和删除只能在线性表的同一端进行的一个特殊线性表。 * 允许插入和删除的一段,为变化的一端,称为栈顶(Top),另一端为固定的一端,称为栈底(Bottom) * 3. 根据栈的定义可知,最先放入栈中元素在栈...

2020-03-18 10:49:51 450

原创 Java | 稀疏数组

文章目录数据结构稀疏数组二维数组与稀疏数组之间的转换将稀疏数组保存到磁盘上恢复原来的数组,读取sparseArr.dat进行恢复数据结构/* * 数据结构包括:线性结构和非线性结构 * 1. 线性结构: * 1.1 线性结构作为最常用的数据结构,其特点是数据元素之间存在一对一的线性关系 * 1.2 线性结构有两种不同的存储结构,即顺序存储结构(数组)和链式存储结构...

2020-03-16 21:58:07 140

原创 Java | 队列

队列/* * 队列 * 1. 队列是一个有序列表,可以用数组或是链表来实现 * 2. 遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出 * 3. 队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组的声明: * maxSize:队列的最大容量 * 因为队列的输出、输入是分别从前后端来处理,因此需要两个变量front及rear分...

2020-03-16 21:57:08 130

原创 Java | 单链表

单链表介绍/* * 链表 * 1. 链表是以节点的方式来存储的,是链式存储 * 2. 每个节点包含data域,next域:指向下一个节点 * 3. 链表的各个节点不一定是连续存储 * 4. 链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定 * <p> * 单链表的应用举例 * 使用带head头的单向链表实现 -> RunningMan成员管理完成对成...

2020-03-16 21:56:19 231

原创 Java | Josephu(约瑟夫)问题

文章目录Josephu问题Boy类CircleSingleLinkedList类代码测试结果输出Josephu问题/* * Josephu问题: * 设编号为1,2,...,n的n个人围坐一圈,约定编号为k(1 <= k <= n)的人从1开始报数,数到m的那个人出列,它的下一位 * 又从1开始报数,数到m的那个人又出列,依此类推,直到所有人出列为止,由此产生一个出队编号...

2020-03-16 21:55:35 164

原创 Java | 双向链表

package Java_Algorithm.LinkList;import org.junit.Test;/** * ClassName: DoubleLinkedList * Date: 2020/3/16 19:16 * author: Oh_MyBug * version: V1.0 * * 管理单向链表的缺点分析: * 1. 单向链表,查找的方...

2020-03-16 21:54:36 147

原创 Java:反射机制

文章目录反射的理解反射机制能提供的功能反射前对Person类的操作反射后对Person类的操作对Class类的理解获取Class实例的四种常见方式Class实例可以是哪些结构的说明创建Class对应运行时类的通用方法反射的动态性通过反射获取运行时类的完整结构需要用到的类、接口、注解获取当前运行时类的属性结构获取运行时类的方法结构调用运行时类的指定结构:属性调用运行时类的指定结构:方法调用运行时类的...

2020-03-11 21:32:07 96

原创 Java | Collections工具类

主要内容Collections工具类常用方法CollectCollectionsTest.javapackage Map;import org.junit.Test;import javax.sound.midi.Soundbank;import java.util.ArrayList;import java.util.Arrays;import java.util.Co...

2020-03-04 22:31:37 135

原创 Java | Set接口

主要内容Set接口实现类Set的无序性与不可重复性hashCode()和equals()的重写HashSet的使用LinkedHashSet的使用TreeSet的自然排序和定制排序Set接口User.javapackage Collection;import java.util.Objects;/** * ClassName: User * Date: ...

2020-03-04 22:30:35 118

原创 Java | Map接口:HashMap、LinkedHashMap底层原理

主要内容Map接口及其多个实现类的对比Map中存储key-value的特点HashMap底层实现原理LinkedHashMap底层实现原理Map常用方法TreeMap两种添加方式的使用Properties处理属性文件Map接口User.javapackage Map;import java.util.Objects;/** * ClassName: User...

2020-03-04 22:29:31 266

原创 Java | Collection接口

文章目录Collection接口迭代器Iteratorforeach循环遍历集合或数组Collection接口Person.javaimport java.util.Objects;/** * ClassName: Person * Date: 2020/3/3 14:01 * author: Oh_MyBug * version: V1.0 */publ...

2020-03-04 22:28:13 149

原创 Java | ArrayList、LinkedList、Vector

主要内容ArrayList源码分析LinkedList源码分析Vector源码分析List接口的常用方法测试List遍历及方法总结List接口:ArrayList、LinkedList、VectorListTest.javaimport org.junit.Test;import java.util.ArrayList;import java.util.Arrays;imp...

2020-03-04 22:27:15 174

原创 Java | 枚举类

枚举类/** * ClassName: SeasonTest * Date: 2020/3/2 18:39 * author: Oh_MyBug * version: V1.0 * * 一、枚举类的使用 * 1. 枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 * 2. 当需要定义一组常量时,强烈建议使用枚举类 * 3. 如果枚举类中只有...

2020-03-02 19:41:50 124

原创 Java | 多线程那些事儿

程序、进程、线程概念程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行的QQ,运行的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域线...

2020-03-01 19:56:10 182 1

原创 Java多线程 | 程序、进程、线程

程序、进程、线程概念程序(program)是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。进程(process)是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如:运行的QQ,运行的MP3播放器程序是静态的,进程是动态的进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区...

2020-02-29 17:34:46 148

原创 Java | 面试题(3)

文章目录面试题1:成员变量与局部变量以下代码运行结果输出考点局部变量与成员变量的区别当局部变量与xx变量重名时,如何区分面试题1:成员变量与局部变量以下代码运行结果/** * ClassName: Exam5 * Date: 2020/2/27 22:53 * author: Oh_MyBug * version: V1.0 */public class Ex...

2020-02-28 00:35:19 152

原创 Java| 面试题(2)

面试题1:类初始化和实例初始化以下代码运行结果:/** * ClassName: Father * Date: 2020/2/27 2:10 * author: Oh_MyBug * version: V1.0 */public class Father { private int i = test(); private static int j...

2020-02-27 13:16:07 260

原创 Java | 面试题(1)

文章目录面试题1:自增变量面试题2:单例设计模式编程题:写一个singleton示例什么是Singleton?要点几种常见形式面试题1:自增变量如下代码的运行结果:/** * ClassName: Test1 * Date: 2020/2/25 22:29 * author: Oh_MyBug * version: V1.0 */public class Te...

2020-02-26 00:14:18 117

原创 Java | 对多线程的思考和总结(干货)

文章目录思考题问:A线程正在执行一个对象的同步方法,B线程是否可以执行同一个对象中的非同步方法?问:同上,B线程是否可以同时执行同一个对象中的另一个同步方法?问:线程抛出异常会释放锁吗?问:volatile和synchronize区别?问:写一个程序,证明Atomic原子类比synchronize更高效问:Atomic原子类可以保证可见性吗?请写一个程序来证明问:写一个程序证明Atomic原子类的...

2020-02-25 06:07:18 296

原创 Java | 多线程

线程与进程的区别每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等待的任务实现上如用户输入、文件...

2020-02-22 23:38:35 109

原创 Java | JDK安装、环境配置

官网下载空降下载页面:https://www.oracle.com/java/technologies/javase-jdk13-downloads.html如果你空降成功,则进入官网部分可以忽略!进入官网甲骨文官网链接:https://www.oracle.com/index.html #### 选择版本点击即可下载!这里我选择的是Windows x64 ...

2020-02-22 23:02:55 154

原创 PyTorch | Game:FizzBuzz

FizzBuzzFizzBuzz是一个简单的小游戏。游戏规则如下:从1开始往上数数,当遇到3的倍数的时候,说fizz,当遇到5的倍数,说buzz,当遇到15的倍数,就说fizzbuzz,其他情况下则正常数数。我们可以写一个简单的小程序决定要返回正常数值还是fizz,buzz或者fizzbuzz。def fizz_buzz_encode(i): if i % 15 == 0: ret...

2020-02-21 13:36:17 3253

原创 PyTorch | 从NumPy到PyTorch实现神经网络

用numpy实现两层神经网络一个全连接ReLU神经网络,一个隐藏层,没有bias。用来从x预测y,使用Square Loss。这一实现完全使用numpy来计算前向神经网络,loss,和反向传播算法。N—样本数据的大小 DinD_{in}Din​—输入层向量大小 H—隐藏层向量大小 DoutD_{out}Dout​—输出层向量大小forward passh=xw1h = xw_1h...

2020-02-20 16:43:38 373

原创 [Deep Learning] 反向传播算法(Backpropagation Algorithm)

Chain Rule(链式法则)Case 1如果有:y=g(x)      z=h(y)y = g(x)\ \ \ \ \ \ z = h(y)y=g(x)      z=h(y)那么“变量影响链”就有:Δx→ΔyΔz\Delta x\rightarrow \Delt...

2020-02-18 16:37:21 541

原创 [Machine Learning] 逻辑回归(Logistics Regression)

Logistics Regression引言Logistics回归,虽然这个算法从名字上来看是回归算法,但实际上是一个分类算法。Logistics回归是在线性回归的基础上,使用sigmoid函数,将线性模型ωx+b\omega x+bωx+b的结果压缩到[0,1][0,1][0,1]之间,使其有概率意义。Logistics回归本质仍然是一个线性模型,虽然在线性模型ωx+b\omega x+...

2020-02-17 20:14:58 240

原创 [Machine Learning] 交叉熵损失函数 v.s. 平方损失函数(CrossEntropy Loss v.s. Square Loss)

思考我们会发现,在机器学习实战中,做分类问题的时候经常会使用一种损失函数(Loss Function)——交叉熵损失函数(CrossEntropy Loss)。但是,为什么在做分类问题时要用交叉熵损失函数而不用我们经常使用的平方损失函数呢?这时候就应该想一下,损失函数需要做什么?怎样的损失函数才是最合适的?一般而言,我们都希望损失函数能够做到,当我们预测的值跟目标值越远时,在更新参数的时候,...

2020-02-17 14:42:45 426

原创 [Machine Learning] 极大似然估计(Maximum Likelihood Estimate)

极大似然估计直观想法(举个例子) 经典例题:有两个外形完全相同地箱子,甲箱中有99只白球,1只黑球;乙箱中有99只黑球,1只白球。一次试验取出一球,结果取出的是黑球。问:黑球从哪个箱子中取出?人们的第一印象就是:“此黑球最像是从乙箱中取出地”,这个推断符合人们的经验事实。“最像”就是“最大似然”之意,这种想法常称为“最大似然原理”(maximum-likelihood)。定义...

2020-02-16 17:12:52 635

原创 [Machine Learning] 生成模型 & 判别模型(Generative & Discriminative Model)

生成模型概率生成模型,简称生成模型(Generative Model),是概率统计和机器学习中的一类重要模型,指一系列用于随即生成可观测数据的模型。典型模型高斯混合模型(Gaussian Mixed Model)隐马尔科夫模型(Hidden Markov Model)朴素贝叶斯分类器(Naive Bayes Classifier)判别模型在机器学习领域,判别模型是一种对未知数据y...

2020-02-16 15:50:53 529

原创 [Machine Learning] 朴素贝叶斯(Naive Bayes)

Naive Bayes (朴素贝叶斯)在机器学习中,朴素贝叶斯分类器是一系列以假设特征之间强(朴素)独立下运用贝叶斯定理为基础的简单概率分类器贝叶斯公式&全概率公式&先验概率&后验概率如果对这四个名词不太熟悉,可以参考《[Machine Learning] 贝叶斯公式 & 全概率公式(Bayes Rule & Total Probability T...

2020-02-15 21:09:01 622

原创 [Machine Learning] 贝叶斯公式 & 全概率公式(Bayes Rule & Total Probability Theorem)

举个例子 如图,这是一个简单两步式的模型。现在我们需要完成事件BBB,那么可以有n种不同的路A1,A2,A3,...,AnA_1,A_2,A_3,...,A_nA1​,A2​,A3​,...,An​选择:如果我们选择A1A_1A1​这条路,那么:第一步:选择A1A_1A1​的概率就是P(A1)P(A_1)P(A1​)第二步:就是在A1A_1A1​发生的条件下事件B发生的概率...

2020-02-15 14:04:06 789

原创 [Machine Learning] 分类(Classification)

KeywordsClassification(分类)Generative Model(生成模型)Gaussian Distribution(高斯分布)Maximum Likelihood(极大似然估计)Classification(分类) Input:目标 xOutput:这个目标x属于n个Class中的哪个ClassClassification的应用Cr...

2020-02-14 17:29:18 787

原创 [Machine Learning] 交叉验证(Cross Validation)

交叉验证(Cross Validation)什么是交叉验证(Cross Validation)交叉验证是一种模型验证技术,可用于评估统计分析(模型)结果在其他独立数据集上的泛化能力。它主要用于预测,我们可以用它来评估预测模型在实践中的准确度。什么是泛化(Generalization)能力呢?在《[Machine Learning] 回归(Regression)》中有提到,这里简单说明一下...

2020-02-13 22:27:38 653

原创 [Machine Learning] 方向导数&梯度(Directional Derivative & Gradient)

方向导数首先,我们先来讨论一下函数y=f(x1,x2)y = f(x_1,x_2)y=f(x1​,x2​)在一点P沿某一方向的变化率问题。假设函数y=f(x1,x2)y = f(x_1,x_2)y=f(x1​,x2​)在点P(x1,x2)P(x_1,x_2)P(x1​,x2​)的某一邻域U(P)U(P)U(P)内有定义,自点P引射线lll。设xxx轴正向到射线lll的转角为φ\varph...

2020-02-13 17:09:03 1999 1

原创 [Machine Learning] 欠拟合&过拟合(Underfitting & Overfitting)

Where does the error from?在[Machine Learning] 回归(Regression)中,我们发现,越复杂的Model不见得会给Testing Data(测试数据)越好的Performance(效果)。相反,最复杂的Model其实Performance(效果)是最差的,即Error是最大的!现在我们就来讨论一下这个Error来自什么地方?了解Error的...

2020-02-12 17:56:44 630

原创 [Machine Learning] 回归(Regression)

回归(Regression)Regression可以做什么如果说机器学习(Meachine Learning)要做的事情是要找一个Function,那么Regression要做的事情就是我们要找的那个Function是一个数值(Scalar)。如果我们要找的Function是一个数值,那么这种任务就叫做Regression。那么Regression应用有哪些呢?股票市场的预测例如:...

2020-02-12 09:29:19 1972

原创 [Deep Learning] 激活函数(Activation Function)

别深究了,是个谜(Puzzle)

2020-02-10 22:26:14 215

原创 [Deep Learning] 感知器(Perceptron)

感知器(Perceptron)感知器的概念感知器是人工神经网络中的一种典型结构,它的主要的特点是结构简单,对所能解决的问题存在着收敛算法,并能从数学上严格证明,从而对神经网络研究起了重要的推动作用。它可以被视为一种最简单形式的前馈式人工神经网络,是一种二元线性分类器。那么什么是二元线性分类器呢?首先要先理解什么是线性分类器——在机器学习领域,分类的目标是指将具有相似特征的对象聚集。而一...

2020-02-09 21:48:42 2891

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除