自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 图像处理-直方图

灰度直方图是灰度级的函数以及具有该灰度级的像素个数。其中rk表示的是灰度级,nk表示该灰度级的像素个数。灰度直方图反映的是图像灰度的分布(统计)特征。//计算直方图intn;n

2022-07-18 17:30:27 681 1

原创 visual studio2019的安装以及环境配置

进入官网:vs2019下载完成后,对其进行安装。在此界面可以先不进行勾选,选择直接安装,可根据自己的实际情况进行安装。下载地址:链接:https://pan.baidu.com/s/1aqkjNUmwPFhIAPB_mNd_wg提取码:o522利用vs2019打开MFCApplication1.sln,按照步骤安装相应的程序。图片下载地址:链接:https://pan.baidu.com/s/1H1mz5gTpG5Veaj8pe9y7Zg提取码:4l2t按照如上步骤设置完成后,点

2022-07-14 17:17:58 11914

原创 权重衰退-

权重衰退对于缓解过拟合问题,我们是可以通过收集大量数据来环节过拟合的现象。 但这可能成本很高,耗时颇多,或者完全超出我们的控制,因而在短期内不可能做到。假设我们已经拥有尽可能多的高质量数据,我们便可以将重点放在正则化技术上。在回归的例子上,我们可以通过调整拟合多项式的阶数来限制模型的容量。限制特征的数量是缓解过拟合的一种常用技术。范数与权重衰减在此之前,我们已经描述了L2 范数和L1范数,在训练参数化机器模型时,权重衰减(Weight decay)时最广泛使用正则化的技术之一,通常也被成为L2正则化

2022-03-23 17:04:36 1124

原创 模型选择+过拟合+欠拟合

模型选择当我们训练模型时,我们只能访问数据中的小部分样本。 最大的公开图像数据集包含大约一百万张图像。 而在大部分时候,我们只能从数千或数万个数据样本中学习。将模型在训练数据上拟合的比在潜在分布中更接近的现象称为过拟合(overfitting), 用于对抗过拟合的技术称为正则化(regularization)。 在前面的章节中,你可能在用Fashion-MNIST数据集做实验时已经观察到了这种过拟合现象。 在实验中调整模型架构或超参数时,你会发现: 如果有足够多的神经元、层数和训练迭代周期, 模型最终可

2022-03-22 15:27:57 5500

原创 多层感知机+代码实现

感知机给定输入X,权重w,偏移b,感知机输出训练感知机initialize w=0 and b=0 #此处的w直接取0reprat if yi[<wi,xi>+b]≤0 then #此处表示预测错误,要使得≤0,若[<wi,xi>+b]≤0,对应如上公式,yi=-1,如此yi[<wi,xi>+b]必定不会≤0。反之同理 w<-w+yixi and b<-b+yi#对w和b进行更新 end if until all clas

2022-03-16 21:44:36 3384

原创 Softmax回归的从零开始实现+简洁实现

Softmax回归的从零开始实现1.导入相关包引入Fashion-MNIST数据集, 并设置数据迭代器的批量大小为256。import torchfrom IPython import displayfrom d2l import torch as d2lbatch_size = 256train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)#返回训练集和测试集的迭代器2.初始化模型参数原始数据集中的每个样本都是 28

2022-03-15 23:25:07 1821

原创 回归+损失函数+图片分类数据集

从回归到多类分类从回归到多类分类-均方损失从回归到多类分类-无校验比例从回归到多类分类-校验比例Softmax和交叉熵损失损失函数L2 LossL1 LossHuber’ s Robust Loss图像分类数据(MNIST数据集) :cite:LeCun.Bottou.Bengio.ea.1998 (是图像分类中广泛使用的数据集之一,但作为基准数据集过于简单。 我们将使用类似但更复杂的Fashion-MNIST数据集)%matplotlib inlineimport

2022-03-14 23:14:55 404

原创 线性回归的从零开始实现+简洁实现

线性回归的从零开始实现我们将从零开始实现整个方法, 包括数据流水线、模型、损失函数和小批量随机梯度下降优化器。虽然现代的深度学习框架几乎可以自动化地进行所有这些工作,但从零开始实现可以确保你真正知道自己在做什么。生成数据集我们将[根据带有噪声的线性模型构造一个人造数据集。] 我们的任务是使用这个有限样本的数据集来恢复这个模型的参数。 我们将使用低维数据,这样可以很容易地将其可视化。 在下面的代码中,我们生成一个包含1000个样本的数据集, 每个样本包含从标准正态分布中采样的2个特征。 我们的合成数据

2022-03-14 19:40:04 2589

原创 单变量线性回归

单变量线性回归思路代码题目:您将使用一个变量实现线性回归来预测食品车的利润。假设你是一家特许经营餐厅的首席执行官,并且正在考虑在不同的城市开设一家新的门店。该连锁店已经在各个城市都有了卡车,你也有了来自城市的利润和人口数据。您希望使用这些数据来帮助您选择下一个要扩展到哪个城市。思路①已知单变量线性回归的假设函数为:②为了衡量该函数的好坏,我们会引进一个代价函数,来评估函数的预测与真实值之间的差异,为了避免讨论函数的值,我们将采用平方差来衡量误差。代价函数:③利用梯度下降法来求解参数值代

2021-12-16 17:06:46 163

原创 网络编程基础

网络编程一、OSI参考模型1.1物理层一、OSI参考模型OSI(Open System Interconnection)开放互联网参考模型最早提出的解决网络通信的标准协议。OSI网络分层: 物理层,数据链路层,网络层,传输层,会话层,表示层,应用层1.1物理层是OSI得最底层,主要是传输原始的比特流(bits),交换机,光纤等,主要是为数据端设备提供传送数据的通道及传输数据...

2021-08-30 15:42:01 197

原创 JVM垃圾回收

JVM垃圾回收一、GC原理二、对象被标记为垃圾的方法2.1引用计数器2.2可达性分析三、垃圾回收算法3.1标记-清除算法3.2复制算法3.3标记-整理3.4分代回收算法一、GC原理GC (Garbage Collection:即垃圾回收)的基本原理∶将堆内存中不再被使用的对象进行回收,GC中用于回收的方法称为收集器由于GC需要消耗一些资源和时间,Java在对对象的生命周期特征进行分析后,按照新生代、老年代的方式来对对象进行收集,以尽可能的缩短GC对应用造成的暂停对新生代的对象的收集称为minor

2021-08-18 21:31:01 52

原创 阻塞队列介绍

阻塞队列阻塞队列的接口声明形式:public interface BlockingQueue<E> extends Queue<E>阻塞队列提供了一下方法:抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e,time,unit)移除remove(e)poll(e)take(e)poll(time,unit)检查element(e)peek(e)不可用不可用put、take方法

2021-08-18 13:45:57 104

原创 LOCK锁简述

LOCK锁简述一、Lock接口二、ReentrantLock1公平性锁与非公平性锁2.公平性锁3.非公平性锁三、AQS一、Lock接口Lock实现提供了比使用Synchronized方法和语句更广泛的搜定操作,此操作允许更灵活的结构,可以具有很大的属性,可以支持多个相关的Condition对象。public interface Lock { //获取锁 void lock(); //如果当前线程未被中断,则获取其锁 void lockInterruptibly() th

2021-08-14 16:05:01 711

原创 ABC线程交替打印

有三个线程ABC,现要连续打印这三个线程,结果显示为ABCABC…连续打印十次的解决方案。方案1利用ReentrantLock重入锁的Condition对象实现等待/通知。

2021-08-12 16:27:55 141

原创 Java虚拟机

Java虚拟机一、 JVM的基础知识介绍1.JVM的概念2.JRE/JDK/JVM2.1JRE2.2JDK2.3JVM3、JVM生命周期3.1JVM运行起点3.2JVM两种线程;二、JVM的工作过程2.1类加载的子系统2.2类加载的时机2.2双亲委派模型三、JAVA内存模型一、 JVM的基础知识介绍1.JVM的概念JVM,即Java virtual Machine,Java 虚拟机。JVM是java的核心和基础,在java编译器和os平台之间的虚拟处理器。它是一种利用软件方法实现的抽象的计算机基于下层

2021-08-05 14:32:55 56

原创 Java排序算法

Java排序算法1.冒泡排序1.1冒牌排序的思想1.2算法描述1.3代码实现1.4算法分析2.选择排序2.1选择排序的思想2.2算法描述2.3代码实现2.4算法分析3.插入排序3.1 插入排序思想3.2算法描述3.3代码实现3.4算法分析4.堆排序4.1堆排序的思想4.2算法描述4.3代码实现4.4算法分析5.希尔排序5.1希尔排序的思想1.冒泡排序1.1冒牌排序的思想冒泡排序是一种简单的排序算法。它重复的访问要排序的数列,一次进行两个元素的比较操作,如果他们的顺序与预期想法不同则进行元素之间的交换过

2021-08-02 18:58:56 107

原创 有关锁的介绍

一、悲观锁和乐观锁1.悲观锁总是假设最坏的情况,每次去拿数据的时候都会认为数据会被别人改变,所以每次拿数据是都会加锁,这样别人拿这个数据就会阻塞直到他拿到锁。在java中Synchronized实现也是悲观锁。悲观锁存在问题:在多线程竞争下,加锁、释放锁会导致比较锁上下文的切换和调度延时,引起性能问题—个线程持有锁会导致其他线程进入阻塞状态Synchronized2.乐观锁乐观锁认为数据一般不会产生冲突,所以在数据进行提交更新时,才会真正对数据是否产生冲突进行检测,如果...

2021-07-29 18:56:34 83

原创 MySQL事务

MySQL事务一、什么称作事务二、事务的特征(ACID)三、事务的使用事务操作一、什么称作事务一个事务是由一条或者多条对数据库操作的SQL语句组成的不扩容分割的单元,只有当事务中所有的SQL操作都正常执行了,整个事务才会提交到数据库,如果部分事务处理失败,那么整个事务是要回滚到最初的状态,因此事务要么全部提交,要么不提交,不存在部分提交。二、事务的特征(ACID)原子性(Atomic):事务是一个不可分割的单元,事务必须具有原子性,即要么全部执行,要么不执行,不允许部分执行一致性(Consist

2021-07-24 22:05:58 58

原创 MySQL存储引擎介绍

MySQL存储引擎介绍一、MySQL存储引擎1.INNODB2.MyISAM3.momery4.与存储引擎有关的sql命令1.show engines \G:查看数据库支持哪些存储引擎2.alter table student engine=myisam; 修改表的存储引擎二、MyLSAM和InnoDB存储引擎区别三、MyLSAM和InnoDB存储引擎使用的锁一、MySQL存储引擎MySQL种的存储引擎常用的是InnoDB和MylSAM,其次是memory。MySQL默认的存储引擎是InnoDB。1

2021-07-24 21:34:52 197

原创 java总复习(二)

java总复习(二)一、接口和抽象类的区别二、浅谈异常1.基础常见异常一、接口和抽象类的区别1.应用场景:抽象类:指的是对一种事物的抽象。(比如一个People类中有定义一个work方法,此时子类的不同,所实现的work不同)接口:基于jdk1.8,包含有抽象方法和常量。是对一种行为的抽象。比如说ArrayList和LinkedList都有实现List接口,也就是说List接口对ArrayList和LinkedList的增删改查行为进行抽象。2.抽象类:abstract修饰不能实例化一般

2021-07-24 11:37:48 67

原创 浅谈Mysql索引

Mysql索引介绍一、索引介绍二、索引分类三、索引SQL1.创建表时可以创建的索引2.在已有表上添加索引2.1通过create语法创建2.2通过alter语法创建3.删除索引四、索引的执行过程五、索引底层的数据结构一、索引介绍索引就是一中数据结构,索引是创建在表上,是对数据库表中的一列或多列的值进行排序的一种结果,索引的好处是用来提高查询效率,避免全表查询。二、索引分类1.普通索引:没有任何限制条件,可以给表中的任何字符按创建索引。2.唯一索引:使用UNIQUE修饰的字段,值是不能重复的,主键索引

2021-07-22 23:02:52 80

原创 java总复习(一)

java总复习1.面向对象的三/四大特征面向对象的三大特征面向对象的四大特征2.final关键字3.Static关键字1.面向对象的三/四大特征面向对象的三大特征封装性:把描述对象属性的变量及实现对象功能的方法结合起来,定义一个程序单位,并保证外界不能任意更改内部属性,能任意调动内部的方法接口。优点:1.实现了低耦合高内聚;2.类内部的结构可以自由修改;3.隐藏实现细节,提出公共的访问方式。继承:大大增强了代码的可复用性,提高了软件的开发效率为程序的修改扩充了材料。继承通过extends关

2021-07-18 22:25:15 103

原创 -AVL树

-AVL树一、AVL树的概念二、AVL树相关算法1.AVL树的结点定义2.AVL树左旋3.AVL树的右旋4.AVL树的双旋1)左单旋--》右单旋2)右单旋--》左单旋一、AVL树的概念AVL树是最先发明的自平衡二叉查找树。在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树。增加和删除可能需要通过一次或多次树旋转来重新平衡这个树。二、AVL树相关算法1.AVL树的结点定义class AVLNode{ AVLNode leftchild;//左孩子

2021-06-09 14:34:38 69

原创 jmeter测试工具

jmeter测试工具一、JMeter简介二、JMeter安装三、JMeter的环境配置四、利用jmeter进行简单的测试1.创建线程组2.添加Http请求3.该请求需要获得一个Cookie请求头4.学员登录的http请求5.创建查看结果树6.点击运行一、JMeter简介JMeter 是Apache组织开发的基于Java的压力测试工具。具有开源免费,框架灵活,多平台支持等优势。除了压力测试外,JMeter在接口测试方面也有广泛应用。二、JMeter安装访问JMeter官网:https://jmeter

2021-06-06 22:40:52 126

原创 Spring---AOP

Spring---AOP一、AOP介绍二、AOP的设计原理和思想1. AOP横向抽取机制介绍Java程序的执行流一、AOP介绍AOP(Aspect Oriented Programing)面向切面编程:扩展功能不通过修改源代码实现AOP采用横向抽取机制,取代传统纵向继承体系实现响应的功能(性能监控、事务、安全检查、缓存)二、AOP的设计原理和思想1. AOP横向抽取机制介绍//编写一个类public class User{ private String name; private in

2021-06-03 20:36:33 80

原创 Spring---IOC

Spring一、IOC介绍二、IOC思想三、Spring管理1.Spring引入依赖2.Spring的配置文件3.创建实体类4.通过容器来获取User对象5.总结四、Spring的IOC容器介绍1.Spring IOC容器中接口的继承关系,2.ApplicationContext接口常见的实现类读取classpath中的资源读取系统指定的资源文件读取web环境下的资源文件3.Spring IOC容器来获取bean对象的过程一、IOC介绍IOC(Inversion Of Control) 控制反转,spr

2021-05-29 11:16:21 65

原创 接口测试之postman

接口测试一、什么是接口二、什么是接口测试?为什么进行接口测试?三、接口测试的策略四、postman的安装与使用1.下载2.使用五、简单的测试demo一、什么是接口API全称Application Programming Interface, 泛指实体把自己提供给外界的一种抽象化物(可以为另一实体),接口就是一个位于复杂系统之上并且能简化的任务,用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。它就像一个中间人让你不需要了解详细的所有细节。那么接下来的Web API就是

2021-05-28 10:23:24 168

原创 HTTP请求响应

接口测试一、HTTP简介二、HTTP工作原理1.请求行Get请求Post请求Head2.请求头3.空行4.请求数据一、HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议),用于万维网(www:World Wide Web)服务器传输超文本到浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML文件,图片文件,查询结果等)。二、HTTP工作原理一个HTTP请求报文由请求行(request line)请求头(header)空行和请求数

2021-05-28 08:54:32 692

原创 mybatis框架

mybatis框架一、mybatismybits介绍mybatis原理二、mybits的应用1.配置2.全局配置文件(mybatis-config.xml)3.定义一个pojo类4.Mapper接口文件(StudentMapper.java)5.配置mapper.xml文件(StudentMapper.xml)6.修改全局配置文件7.执行查询操作8.总结:mybatis的使用步骤:三、mybatis的使用1.通过xml方式使用查询操作插入对象多参数传递:基于xml形式需要遵循一定的规则:2.通过注解方法#{

2021-05-25 10:29:40 57

原创 String类

String类String类字符串拼接字符串比较String类首先对于String类型,我们先查看它的源码:public final class String implements java.io.Serializable, Comparable<String>, CharSequence { /** The value is used for character storage. */ private final char value[]; /** C

2021-05-18 09:23:52 111

原创 Static关键字

Static类和String类Static关键字的使用static类三级目录Static关键字的使用static类三级目录

2021-05-17 22:31:07 57

原创 SQL注入问题

SQL注入问题1.什么是sql注入问题2.如何解决SQL注入问题PreparedStatement和Statement的区别1.SQL注入问题2.效率问题1.什么是sql注入问题以登录为例:正常登录通过name(zc)和passwd(12345)登录但是在name="sd or 1=1"和passwd=(错误信息)是可以完成登录的此时的拼接信息为select * from user where name =XXX or1=1 and passwd =XXX来改变SQL的意义 publi

2021-05-12 13:17:09 117

原创 线程基础部分

线程基础部分一、线程和进程的概念1.什么是进程?什么是线程?2.进程和线程的关系?3.进程和进程之间的内存是否独立不共享?线程与线程之间呢?4.多线程机制的目的?5.什么时候数据在多线程并发的环境下会存在安全问题?6.怎么解决线程安全问题?7.同步编程模型和异步编程模型二、线程的创建1.编写一个类,直接继承java.lang.Thread,重写run方法2.编写一个类,实现java.lang.Runnable接口,实现run方法3.匿名内部类三、线程的生命周期及常用方法解析1.新建状态2.就绪状态3.运行状

2021-02-21 22:46:26 93

原创 HashMap源码分析

HashMap源码分析一、类的继承关系二、类的属性三、类中重要的方法 (构造函数 put remove resize)四、Hash算法一、类的继承关系public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, SerializableHashMap主要特点:HashMap允许空值和空键HashMap是非线程安全HashMap元素是无序{LinkedH

2021-02-20 17:05:25 127 1

原创 HashMap面试题

HashMap面试题:1)JDK1.7与JDK1.8HashMap有什么区别和联系2)用过HashMap没?说说HashMap的结构(底层数据结构 + put方法描述)3)说说HashMap的扩容过程4)HashMap中可以使用自定义类型作为其key和value吗?5)HashMap中table.length为什么需要是2的幂次方6)HashMap与HashTable的区别和联系7)HashMap、LinkedHashMap、TreeMap之间的区别和联系?

2021-02-20 16:17:41 732 4

原创 Linux

Linux一、linux的目录信息1.家目录2.查看目录下的文件3.路径1)当前路径2)绝对路径3)相对路径4)路径表示二、linux的文件类型、属性、权限1.linux的文件类型2.linux文件的属性及修改三、linux的文件操作1.查看文件1)直接查看文件 cat2)翻页查看 less3)head、tail2.创建文件3.删除文件1)删除普通文件2)删除目录文件3)删除空目录4.cp 用于复制文件或目录5.vim、插入文本类命令、末行模式命令6.linux打包压缩命令tar一、linux的目录信息

2021-02-20 12:37:21 152

原创 volatile关键字

volatile关键字1、使用volatile修饰变量2、volatile特征1)保存内存可见性volatile修饰的变量不会缓存到工作内存中,每一次读取获取最新volatile变量2)禁止指令重排序Java内存不会对volatile指令进行重排序,从而保证对volatile的执行顺序永远是按照书写顺序执行的happens-before规则:volatile字段的写入操作happen before后续同一个字段的读操作volatile修饰的变量产生的汇编代码,会存在一个lock前缀,相当于一

2021-02-19 21:08:23 164

原创 synchornized关键字

synchornized的使用场景1、两个线程同时访问同一个对象的同步方法 安全2、两个线程同时访问两个对象的同步方法 不安全 test1.func1() test2.func1()3、两个线程同时访问(一个或两个)对象的静态同步方法 安全4、两个线程分别同时访问(一个或两个)对象的同步方法和非同步方法 不安全5、两个线程访问同一个对象中的同步方法,同步方法又调用另外一个非同步方法 不安全6、两个线程同时访问同一个对象的不同的同步方法 安全7、两个线程同时访问静态s

2021-02-19 21:00:29 122

原创 Java中的四大引用

1.强引用A a =new A();//此为强引用任何强引用对象都不会被gc回收机制回收2.软引用SoftReference一般用户实现Java对象的缓存,缓存可以有可以没有,一般将有用但是非必须的对象用软引用关联只要是软引用关联的对象,在Java发生内存溢出异常之前,会将这些对象列入要回收的范围,如果回收之后发现内存还是不够,才会抛出OOM异常class MyArray{ byte[]bytes=new byte[3*1024*1024];}public class Test

2021-01-18 15:37:47 123

原创 习题总结

1.抽象类和接口的区别是什么?抽象类是否可以实现接口?抽象类是否可以继承实体类?a.由abstract修饰的class类称为抽象类,含有abstract方法的类一定是抽象类,但是abstract类不一定含有abstract方法。abstract类中定义的抽象方法也必须在具体的子类中实现,如果其子类并没有实现其父类的抽象方法,那么该子类必须定义为抽象类。不能使用new关键字创建对象。b.接口中的所有方法都必须是抽象的,其方法定义默认为public abstract类型,接口中成员变量的类型默认为publi

2021-01-14 16:02:44 120

空空如也

空空如也

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

TA关注的人

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