自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 卷积神经网络的基本原理

卷积神经网络的基本原理什么是卷积运算数学上的卷积数学上,我们通常用反褶和乘积运算定义卷积:f(t)=f1(t)∗f2(t)=∫−∞+∞f1(τ)f2(t−τ)dτf(t)=f_1(t)*f_2(t)=\int_{-\infty}^{+\infty}f_1(\tau)f_2(t-\tau)d\tauf(t)=f1​(t)∗f2​(t)=∫−∞+∞​f1​(τ)f2​(t−τ)dτ这种运算得到的是两个函数f1f_1f1​和f2f_2f2​的“重合部分面积”,可以理解为两个函数相似程度的度量矩阵

2021-03-21 00:30:25 1521

原创 二分类logistic回归——平面点分类问题的实现

二分类logistic回归——平面点分类问题的实现概述对于二分类问题,logistic回归的目标是希望找到一个决策边界,将两类区分开来感知机模型对于一个输入xxx,如果存在样本点使得hw(x)=∑i=1mwixi+b>0h_w(x)=\sum_{i=1}^mw_ix_i+b>0hw​(x)=∑i=1m​wi​xi​+b>0,那么判定它的类别为1,否则判定它的类别为0logistic回归在感知机模型基础上进行了改进,通过分类概率P(Y=1)P(Y=1)P(Y=1)与输入xxx之间

2021-03-04 16:33:14 671 1

原创 himmelblau函数优化

himmelblau函数优化概述himmelblau函数是数学家们构造出来的一个特殊的函数,可以用来测试深度学习算法是否能够收敛到局部最小值。这个函数的表达式是:f(x,y)=(x2+y−11)2+(x+y2−7)2f(x,y)=(x^2+y-11)^2+(x+y^2-7)^2f(x,y)=(x2+y−11)2+(x+y2−7)2这个函数最小值为0,有四个最小值点,分别是:f(3.0,2.0)=0f(−2.805118,3.131312)=0f(−3.779310,−3.283186)=0f(

2021-02-26 13:58:25 1629

原创 张量的计算

张量的计算数学运算四则运算±*(@)/,必须满足矩阵运算的条件加.表示矩阵对应位置进行操作高维矩阵乘法torch.matmul(a,b)对a,b的最后两维度进行矩阵乘法,其他维度不变。高维矩阵的乘法计算,本质上是支持了多个矩阵乘法的并行计算判断相等torch.eq(a,b)乘方.pow(2)或a**2.rsqrt()或a**(0.5)指数torch.exp()对数torch.log()近似运算.floor()向下取整.ceil()向上取整.round()四舍五入

2021-02-26 12:47:26 1205

原创 张量的空间操作

张量的空间操作索引从0下标开始例如:a=torch.rand(4,3,28,28)#创建4*3*28*28的张量print(a[0].shape)#torch.Size([3, 28, 28])print(a[0,0].shape)#torch.Size([28, 28])print(a[0,0,2,4].shape)#torch.Size([])冒号:+数字表示从头到某一个索引但不包含最后一个索引数字+:从某一个索引到尾部其中正向下标从0开始递增,反向下标从-1开始递减例

2021-02-25 23:56:26 367

原创 张量的创建

张量基本操作构造首先需要导入pytorch和numpy库import torchimport numpy as np默认构造方法我们可以看看张量的相关参数torch.tensor(data, dtype=None, device=None, requires_grad=False, pin_memory=False)其中:data: 数据,可以是list,numpy的ndarraydtype: 数据类型,默认与data的类型一致device: 所在设备,gpu/cpurequi

2021-02-23 10:31:13 806

原创 多分类+手写数字识别模型的复现

分类——手写数字识别模型的复现问题重述现有若干手写数字图片(mnist数据集),包含手写数字图片信息和标记,可以将手写图片看作由所有像素点数值组成的向量,需要编写一个模型识别出对应的数字。实现思路采用3层线性网络,每一层网络传递都采用y=w∗x+by=w*x+by=w∗x+b的形式,为了增加网络的表示能力,引入非线性函数relu(),该函数的作用是当输出小于0时全部取0,输出大于0时函数值不变,类似于动物神经元需要接受一定的刺激之后才能产生神经冲动。通过python自带的pickle库,可以很方便

2021-02-20 00:55:43 610

原创 乘同余法

乘同余法概述该方法用于产生(0,1]之间的随机数,计算公式如下:xi=(Axi−1)(ModM)ri=xi/Mx_i=(Ax_{i-1})(Mod M)\\r_i=x_i/Mxi​=(Axi−1​)(ModM)ri​=xi​/M实现c++实现代码如下:#include<iostream>#include<math.h>using namespace std;int main(){ int n; cout<<"伪随机数个数:"<&lt

2021-02-20 00:54:26 4046

原创 虚拟机内存:新生代、老年代、永久代、元空间

虚拟机内存:新生代、老年代、永久代、元空间JVM内存模型虚拟机栈:每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出StackOverflowError的错误,不过这个深度范围不是一个恒定的值。本地方法栈:这部分主要与虚拟机用到的 Native 方法相关,一般情况下, Java 应用程序员

2021-02-20 00:52:38 417

原创 类集

类集概述早期工程师编写程序的时候,往往是通过具体问题抽象出数学模型,然后通过编程求解。这种方式求解的是数值计算问题,核心是数学方程以及计算流程,所涉及的数据大多是基本数据类型,只是用来暂时储存信息。随着计算机应用领域的扩大和软、硬件的发展,非数值计算问题越来越显得重要。据统计,当今处理非数值计算性问题占用了 85%以上的机器时间。数据之间的关系变得越来越复杂,已经不能用数学方程式来描述了,数据从计算流程中独立出来成为一种结构。类集是Java中对数据结构的实现,它产生的目的就是要用规范化的方法组织数据

2021-02-20 00:51:32 277

原创 迭代器

迭代器Iterator定义public interface Iterator<E>常用方法及原理迭代器是一个指向元素中间位置的指针,N个元素有N+1个合法的迭代器位置:注:以下的叙述按照Java方法的语义,对于Next的方向,右边是“前”,左边是“后”。对于Previous方向,左边是“前”,右边是“后”boolean hasNext()原则:判断能不能向“前”移动判断能不能向右移动一个位点E next()原则:向“前”移动,返回“后”面的元素将迭代器向右移动一个位点,

2021-02-20 00:49:26 264

原创 泛型

泛型概述泛型,即“参数化类型”。就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。使用泛型类定义一个泛型类:public class ClassName<T>{private T data; public T getData() { return data; } public void setData(T data) { this.data = dat

2021-02-18 00:49:14 323 1

原创 常用类库——String

常用类库——String概述String类表示字符串。 Java程序中的所有字符串文字(例如"abc" )都实现为此类的实例。特性字符串是不变的; 它们的值在创建后无法更改。因为字符串在内存中本质上是字符数组,数组一经声明大小就不能变了。因为String对象是不可变的(静态),所以为了节约内存,对于相同内容的字符串,所有引用都指向同一块内存地址。但是,如果使用new方法,则不管内容是否相同都新划分一个内存。字符串常量池一个专门存已有字符串引用的空间,位置在堆中。字符串的创建凡

2021-02-18 00:46:58 253 1

原创 常用类库——Objects

常用类库——Objects概述Objects与Object不同,是一个工具类,为我们提供了许多常用的操作。isNull()用于判断传入的对象是否是空指针。源代码:nonNull()用于判断传入的对象是否是空指针。源代码:equals()用于判断两个对象是否相等源代码:如果使用对象中重写equals方法的话,当对象自己为空时将无法调用equals引起NullPointerException异常,此时要用Objects类处理requireNonNull()当传入对象必须不能为

2021-02-18 00:46:14 121

原创 常用类库——DateFormat

常用类库——DateFormat概述DateFormat及其子类SimpleDateFormat是专门用于处理时间格式的类。一般使用的是SimpleDateFormat。构造方法SimpleDateFormat(String pattern)pattern的书写规则如下:把需要显示时间信息的地方替换成如下字符,其他部分随意写。字母含义数据类型例子G公元符号TextADy/Y年Year1996;96M月Month七月(超过4个M);07(不超

2021-02-18 00:43:48 137

原创 常用类库——Date

常用类库——Date概述Date 类表示特定的时刻,精度为毫秒。构造方法Date(long date)分配 Date对象并初始化它以表示自标准基准时间(称为“纪元”)以来的指定毫秒数,即1970年1月1日0时区00:00:00 GMT。Date()分配 Date对象并对其进行初始化,使其表示当前时间,测量 Date到毫秒。比较时间public boolean after(Date when)测试此日期是否在指定日期之后。public boolean before(Date when)

2021-02-18 00:42:06 133

原创 常用类库——Calendar

常用类库——Calendar概述Calendar用于日期和时间字段之间的转换。构造方法public static Calendar getInstance()Calendar是一个抽象类不能直接实例化,可以调用此方法返回一个实现了该类的对象,返回的对象是基于默认时区的当前时间。获取和设置字段原理Calendar中各个字段是存在一个数组protected int[] fields中,获取和修改是通过数组下标int field操作的。数组下标的值已全部定义为Calendar的成员变量。如年字段的

2021-02-18 00:41:04 132

原创 常用类库——BigDecimal

常用类库——BigDecimal概述BigDecimal是用于进行精确算术运算的类。常用构造方法public BigDecimal(String val)加public BigDecimal add(BigDecimal augend, MathContext mc)减public BigDecimal subtract(BigDecimal subtrahend, MathContext mc)乘public BigDecimal multiply(BigDecimal mult

2021-02-18 00:39:34 126

原创 常用类库——Arrays

常用类库——Arrays概述专门用于数组操作的类copyOf()用于数组的扩容,如果新的长度小于原来的长度,则从头开始复制到新长度后截断源代码:binarySearch()用于二分查找数组的指定值,如果找不到就返回一个负值-(low+1),查找前需要排序,否则无法得到正确的结果。源代码:sort()用于对数组元素进行排序,预期nlogn复杂度。如果需要对对象数组进行排序,则需要定义专门的比较器对象,并实现Comparator接口例如://People对象既是数组的元素,也可以作

2021-02-18 00:37:49 115

原创 回归——线性回归模型复现

深度学习——线性回归模型复现问题重述现在有一个二维空间中的点集[xi,yi][x_i,y_i][xi​,yi​],需要使用如下线性模型拟合:y=w∗x+by=w*x+by=w∗x+b要求拟合误差尽可能小。对于所有的点(xi,yi)(x_i,y_i)(xi​,yi​),误差用如下函数衡量:loss=∑(yi−(w∗xi+b))2loss=\sum(y_i-(w*x_i+b))^2loss=∑(yi​−(w∗xi​+b))2其中:w∗xi+bw*x_i+bw∗xi​+b表示预测的值yi

2021-02-18 00:28:38 463

原创 final关键字

final关键字final用于修饰属性、变量属性、变量将变成常量,无法对其赋值局部变量只能赋值一次:成员变量定义时必须赋初值:常量的命名规范:全部字母必须大写,单词与单词之间用下划线隔开全局常量定义方式:public static finalpublic:所有包中的类都能访问static:可以由所在类直接调用final:常量通常在写代码时可以用一个类定义所有全局常量,需要注意的是Java强制使用面向对象的写法书写程序,所有的代码必须建立在类的基础上,像这样的写法是不被

2021-01-06 15:43:56 69

原创 Java抽象类

Java抽象类抽象类产生的原因有些类中我们无法完整地进行描述,因此需要抽象抽象类的声明abstract class 类名{ // 抽象类}抽象方法只声明而未实现的方法称为抽象方法(未实现指的是:没有“{}”方法体),抽象方法必须使用abstract关键字声明。abstract class 类名{ // 抽象类public abstract void 方法名() ; // 抽象方法,只声明而未实现}抽象类的规范在抽象类的使用中有几个原则:抽象类本身是不能直接进行实例化操作的

2021-01-06 15:42:01 997 2

原创 Java的继承

Java的继承继承产生的原因我们观察如下的一段代码,分别有两个类People和Student,我们对比会发现这两个类存在大量重复的代码。class People{ String name; int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } pu

2021-01-06 15:39:15 149

原创 super指针的特性

super指针的特性super.方法名/super.属性名 可以访问父类的方法和属性super()调用父类构造方法必须写在第一行super()与this()不能同时使用原因是如果调用了this()意味着在其他构造方法中已经调用了super(),如果调用了super()那么本对象已经被构造,不能重复执行构造函数this()子类构造方法默认第一行调用super()如果子类使用了默认的super(),而父类又没有相应的默认构造函数时程序会报错。这种错误常出现于父类写了含参构造方法

2021-01-06 15:34:43 141

原创 Java重写与重载

Java重写与重载重写(override)子类重新定义父类的方法规则:参数列表必须与被重写的方法相同原因:Java是靠方法名和参数列表来区分方法的,如果参数列表不同Java会认为这是另外一个方法,就不构成重写了。返回类型必须与被重写的方法相同原因:如果返回类型与被重载的方法不一致,运行时如果发生重载就会有类型冲突。访问权限不能比父类中被重写的方法更低原因:根据Java继承的内存分配原理我们知道子类和父类是链表结构储存的(对这一块不了解的朋友可以看前面的博文Java的继承),当沿

2021-01-06 15:31:56 122

原创 java中main方法的解析

java中main方法的解析在java中我们可以看到main方法是这样书写的:public static void main(String[] args) { // TODO Auto-generated method stub}其中各个参数的含义如下:public:访问控制符,表示该方法可以被所有操作调用static:表示方法是静态的,在类加载(第一次调用类)的时候该方法就被加载进内存中的方法区,可以用类名直接调用。使用static的原因是在调用main方法时还没有任何对象被构造,因此

2021-01-04 23:35:41 389

转载 如何写博客

如何写好博客为什么要写博客总结和积累知识提升写作表达能力“教”是最好的“学”提升自信面试加分增加粉丝、曝光度工作出版邀约博客的类型问题类博客博客内容错题集:记录学习过程中遇到的问题。踩坑记录:记录在编写代码的过程中发现的错误,以及最后是如何解决的。写作方法阐述清楚问题,写清楚问题出现的环境、方式、种类给出解决方法,罗列多个解决方法并分析各种方法的优劣问题分析的扩展,可能导致的其他问题优势记录踩坑的过程,给别人解决问题,具有较大的参考价值很多人遇到问题会使

2021-01-01 11:18:55 208

原创 JAVA基础知识

初识JAVAJAVA的发展史JAVA最早是由SUN公司的高级工程师高斯林等人组成的“绿色小组”开发的,当时的主要目标是快速占领新兴的电子产品市场,后来以失败告终,但JAVA语言积淀了下来。由于其强大的可移植性使得JAVA在互联网领域得到了广泛的应用。JAVA的体系JAVA版本JAVA SE(Standard Edition) :标准版,用于桌面应用的开发JAVA EE(Enterprise Edition):企业版,用于企业应用程序的开发JAVA ME(Micro Edition):微型版,用

2020-12-26 22:42:49 102

空空如也

空空如也

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

TA关注的人

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