- 博客(26)
- 收藏
- 关注
原创 Java泛型
什么是泛型将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。下面是定义泛型方法的规则:所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。泛型
2021-07-27 22:55:42
137
原创 JAVA反射&注解
什么是反射?JAVA反射是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。如何使用?java.lang.Class类是所有Reflection API的切入点,是所有反射操作的入口。 在Java程序运行过程中,对程序中每种类型的对象,Java虚拟机都会实例化一个不可变的java.lang.Class实例,每个对象都是引用或者原始类型。反射机制里主要会用到以下四种类:
2021-07-26 22:35:10
174
原创 Java 抽象类与接口&异常处理
Java是通过关键字abstract来实现抽象类的:Modifies abstract class ClassName {…}如果是实现一种方法,其具体内容由子类决定,就是抽象方法了。抽象方法只有声明,没有具体的实现:abstract void method();如果一个类包含抽象方法,那么该类必须是抽象类。任何子类必须重写父类的抽象方法,或者声明自身为抽象类。接口的继承关键字是 implements接口中的所有属性默认为:public static final接口中的所有方法默认为
2021-07-22 23:13:18
240
原创 Java类与方法、继承与多态
面向对象编程的三个特性:封装性;继承;多态在类中除了成员方法之外,还存在一种特殊类型的方法,那就是构造方法。构造方法是一个与类同名的方法,对象的创建就是通过构造方法完成的。每当类实例化一个对象时,类都会自动调用构造方法。 构造方法的特点如下∶构造方法没有返回类型,也不能定义为void。构造方法的名称要与本类的名称相同。构造方法的主要作用是完成对象的初始化工作,它能把定义对象的参数传给对象成员。注意: 在定义构造方法时,构造方法没有返回值,但这与普通没有返回值的方法不同,普通没有返回值的方法使用pu
2021-07-20 00:00:19
101
原创 Java数组
数组一旦定义,类型相同,长度固定。数组的创建元素类型[] 数组名 = new 元素类型[元素个数或数组长度];示例:int[] arr1 = new int[5];示例:float[] arr2 = new float[5];元素类型[] 数组名 = new 元素类型[]{元素,元素,……};int[] arr1 = new int[]{3,5,1,7};float[] arr2 = {1.3,1.5,1.1,1.7};数据类型分为:数据类型和引用数据类型。二维数组数组元素类型 数组
2021-07-17 00:20:19
98
原创 Java运算符、表达式和控制流程
计算数值的平方根:double x = 4;double y = Math.sqrt(x);System.out.println(y); //2.0幂运算:double y = Math.pow(x,a); // pow方法有两个double类型的参数,其返回结果也为double类型Math类还提供了常用的三角函数:Math.sin;Math.cos;Math.tan;Math.atan;Math.atan2;指数函数以及它的反函数,自然对数以及10为底的对数:M
2021-07-15 22:40:40
137
原创 Java的基本数据类型与变量重点
java有三类变量,分别是:类变量:独立于方法之外的变量,用static修饰。实例变量:独立于方法之外的变量,不过没有static修饰。局部变量:类的方法中的变量。类型转换
2021-07-14 00:41:12
88
原创 JAVA的安装和卸载
卸载JAVA删除JAVA的安装目录删除JAVA_HOME删除path下关于java的目录java -version安装JDK百度搜索JDK8,下载电脑对应的版本并安装配置环境变量我的电脑–>右键–>属性环境变量–>JAVA_HOME配置path变量测试JDK是否安装成功打开cmd,输入java -version...
2021-05-08 19:15:18
223
原创 DOS常见命令
打开CMD 的方式开始,系统,命令提示符(可选择以管理员方式运行)win键+R键 输入cmd打开控制台**(推荐使用)**在任意文件夹下面,按住shift+鼠标右键点击,在此处打开命令行窗口资源管理器路径前加上cmd命令常用的DOS命令# 盘符切换# 查看当前目录下的所有文件 dir# 切换目录 cd change directory# 返回上级目录 cd ..# 清理屏幕 cls(clear screen)# 退出终端 exit# 查看电脑IP ipconfig# 打开应用
2021-05-08 11:28:25
96
原创 线性回归公式推导+代码解析——机器学习
文章目录线性回归的原理线性回归损失函数、代价函数、目标函数优化方法(梯度下降法、牛顿法、拟牛顿法)线性回归的评估指标sklearn参数详解线性回归的原理线性回归(linear regression)解决的是回归问题,进入一家房产网,可以看到房价、面积、厅室呈现以下数据: 面积(x1) 厅室数量(x2) 价格(万元)(y) ...
2020-04-21 23:24:20
972
原创 主成分分析(PCA)
主成分分析(PCA)原理详解:只保留包含绝大部分方差的维度特征,而忽略包含方差几乎为0的特征维度,实现对数据特征的降维处理。思考:我们如何得到这些包含最大差异性的主成分方向呢?答案: 事实上,通过计算数据矩阵的协方差矩阵,然后得到协方差矩阵的特征值特征向量,选择特征值最大(即方差最大)的k个特征所对应的特征向量组成的矩阵。这样就可以将数据矩阵转换到新的空间当中,实现数据特征的降维。由于得到...
2020-03-26 21:38:54
363
转载 Parameter updates
写CS231n作业的时候,发现它介绍的很详细。笔记链接:http://cs231n.github.io/neural-networks-3/#update
2019-07-15 16:28:18
152
原创 用若干个3*3卷积核代替5*5或7*7的卷积核
用两个33卷积核可以代替一个55卷积核用三个33卷积核可以代替一个77卷积核下图,原始图像为99,经过不同大小的卷积操作后的结果。对于3个33卷积后的感受野和一个77卷积核卷积的感受野是相同的,我们下面做一个比较,3个33卷积的参数要小于一个7*7,这样可以防止过拟合的情况,同时多层的relu激活,增加了卷积过程中的非线性,增加了网络的表达能力。输入为HWC,我们使用M个卷积核,步长为...
2019-06-26 15:35:21
4157
原创 建立自己的Jupyter notebook远程服务器
Jupyter notebook基于浏览器,提供了一种比ipython更方便的程序编写和测试环境。同时包括Markdown格式的文本编辑功能。对于记录原始数据处理很有帮助。如果你们课题组有一个远程服务器,你希望利用远程服务器的强大计算能力,或者数据不方便下载到本地,同时你又想利用Jupyter notebook的功能,下面提供了一种思路:生成默认配置文件jupyter notebook -...
2019-06-22 19:40:31
640
原创 CS231_SVM作业及分析
对应我的github代码:https://github.com/l123555/cs231_assignment1/blob/master/svm.ipynb
2019-06-14 23:20:37
481
原创 CS231_KNN作业分析
我的github代码链接:https://github.com/l123555/cs231_assignment1/blob/master/knn.ipynb
2019-06-09 22:41:56
335
转载 TDD测试驱动开发
TDD(测试开发驱动)什么是测试驱动开发定义来自于百度百科:一种不同于传统软件开发流程的新型开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。这有助于编写简洁可用和高质量的代码,并加速开发过程。TDD出自于极限编程TDD:狭义:单元测试驱动开发UTDD广义:验收测试驱动开发ATDD、行为驱动开发BDDTDD编...
2019-05-30 17:58:24
258
原创 JavaScript编程入门附加资料推荐
在JavaScript中,除了对象(Object)外,数组(Array)类型应该是最常用的数据类型了。数组是数据的有序列表,在JavaScript中,数组中的每一项可以保存任何类型的数据,也就是说可以用数组的第一项保存字符串,第二项保存数值,第三项保存对象等,同时,JavaScript中数组的长度是可以动态调整的,即可以随着数据的添加自动增长以容纳新增数据。在JavaScript中,所有的文本...
2019-05-29 15:50:04
139
原创 github入门资源推荐
在知乎上找了两篇介绍的比较详细的解释,感觉很有用。另外mark一下两本书:GitHub入门与实践Pro Git及阳志平老师的博文:如何高效利用GitHub
2019-05-23 20:40:36
204
原创 《Python神经网络编程》第一章难点理解
这本书是科普性读物,如果你对神经网络理解的很透彻,可以在闲时读一读当放松;对于小白来讲,这本书真的很不错,很多概念讲的可以说很透彻了。这里我把最难理解的反向传播中的梯度下降做了笔记,方便更到地理解。...
2019-05-23 11:06:01
287
原创 《统计学习方法》(李航)第二版第一章总结
导读第一章是对统计学习中的基本思想、基本概念、以及常见问题类型的介绍。其中涉及的一些特定技术不用深究。需要重点理解的内容是模型过拟合的含义、模型泛化能力两部分。另外需要通过习题熟悉极大似然估计和贝叶斯两个估计方法。本章概要的5点内容统计学习包括监督学习、无监督学习和强化学习。统计学习方法三要素:模型、策略、算法。监督学习可以概括如下:从给定有限的训练数据出发,假设数据是独立同分布的,而...
2019-05-21 21:19:34
1845
原创 对numpy中reshape的理解
在python写神经网络代码时,尽量不要使用(n,)这种秩为1的数组,它既不是行向量也不是列向量,例如:# 生成存储在a中的5个高斯随机数a = np.random.randn(5)# a为"rank 1 array"a.shape = (5,)吴恩达也说过,他在写代码时,在不完全确定一个向量的维度时,经常会扔进一个断言语句(assertion statement)。这些断言语句实际上是...
2019-05-13 09:39:11
893
原创 慕课PAT6-2使用函数验证哥德巴赫猜想
6-2使用函数验证哥德巴赫猜想 (20 分)要求实现一个判断素数的简单函数,并利用该函数验证哥德巴赫猜想:任何一个不小于6的偶数均可表示为两个奇素数之和。素数就是只能被1和自身整除的正整数。注意:1不是素数,2是素数。程序是基于6-1编写的,prime函数依旧为验证一个数是否为素数。函数Goldbach按照格式“n=p+q”输出n的素数分解,其中p≤q均为素数。又因为这样的分解不唯一(例如2...
2019-05-10 19:24:08
1320
翻译 CS231对SVM及Softmax分类器的理解
SVM分类器与Softmax分类器的区别这是针对一个数据,SVM与Softmax分类器的不同处理方式的例子。两个分类器都计算了同样的分值向量f。不同之处在于对f中分值的解释:SVM分类器将它们看作是分类评分,它的损失函数鼓励正确的分类(即图中的蓝色类别2)的分值比其它分类的分值高出至少一个边界值。Softmax分类器将这些数值看作是每个分类没有归一化的对数概率,鼓励正确分类的归一化的对数概率变...
2019-05-07 23:10:04
448
原创 matlab写mat V7.3以及python读取V7.3mat?
最近在学机器学习,在做数据预处理时遇到了一些问题,如在生成大矩阵的时matlab会出现报错 变量 ‘X_all’ 无法保存到 7.3 以前版本的 MAT 文件。 以及在生成v7.3版本的mat后无法再用scipy.io提供的函数loadmat读入,python会出现报错NotImplementedError: Please use HDF reader for matlab v7.3 files。...
2019-04-25 20:43:26
4605
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人