- 博客(133)
- 资源 (15)
- 问答 (4)
- 收藏
- 关注
原创 不使用加法计算两个数的和
为了能够快速的理解最后的算法,这里先准备一些前置知识。这些所谓的前置知识可以理解为“点”,最后只要把这些“点”串联为“线”,就会得到最终的答案。
2022-10-28 16:07:53 432 1
原创 整数快速除以2并只保留整数部分
从输出结果可以看到,直接使用整数除以整数所得到的结果就是只保留整数部分的结果。这里特别需要注意的是,所谓的保留整数部分,对于正数是向下取整,对于负数则是向上取整。普通百姓觉得这样的功能已经实现,非常完美。但是对于大佬来说,不同语言底层除法实现的差异可能给自己写的功能带来性能影响,因此大佬融入到二进制的世界中,用位移来进行除法。
2022-10-13 19:21:35 1015
原创 解决跨域问题,看似简单的问题却是一步一坑
出于安全考虑,默认情况下浏览器会限制通过脚本向非同源的URL发起请求。上面定义中有两个关键词 “通过脚本” 和 “非同源”。通过脚本是指通过javascript来发起请求,因此在页面上的form表单和img的src是不受跨域限制的。因此我们可以很轻松的盗链其他网站好看的图片(当然前提是被盗的网站没有进行防盗链)。同源只的是协议、域名、端口号要完全相同,因此以上三个条件只要有一个不满足,就是非同源。当前页面url被请求页面url是否跨域原因否同源,协议、域名、端口一致是非同源,协议不同。
2022-10-02 21:04:12 1762
原创 面向对象那么好,为什么贫血模型如此流行?
2.面向对象那么好,为什么贫血模型如此流行?2.1我们身边真的没有面向对象吗?我们总是在强调我们的身边都是贫血模型,但是当我们仔细观察我们所引用的jar包时,我们会惊讶地发现,原来面向对象开发一直在我们身边。就拿Java开发者最熟悉的Sprin框架来说,其中充满着有血有肉的对象,这些对象在Spring的童话世界中相互协作,彼此调用构建出了一套功能复杂而完善的功能系统。应该说正式良好的面向对象设计,让Spring在5个大版本的迭代过后还没有变成一个无法维护的焦油坑——当然些许的修改是在所难免的,因为没有
2022-04-19 20:38:05 478 2
原创 从机器码到面向对象
1.从机器码到面向对象本章节主要从可维护性、可重用性和可扩展性三个方面来探讨计算机编程模式的发展历史。通过这段对发展历史的简单介绍进一步了解我们为什么要使用面向对象的开发模式。机器码在真正的电子计算机诞生初期,没有有效的编程语言。在这个时期的计算机提供了最基础的由0和1组成的机器指令来供初代的程序员进行编码。用机器码写的程序如示例-1-1所示。在8086机器上完成“s=768+12288-1280”的数字运算,对应的机器码为:10110000000000000000001100000101000
2022-04-13 14:54:50 167
原创 吴恩达深度学习编程作业汇总
以下列表为吴恩达的深度学习课程所对应的编程作业列表,都直接指向了github的连接地址;这些作业也是我在网上购买,可能与官方的内容有所出入;同时由于有的训练集和测试集以及预训练好的参数过大,不便上传,所以直接clone项目是无法运行的。如果是只看代码,完全可以满足使用的要求;需要完成版的可以留下邮箱,我单独发送给你。第一部分-第二周1.assignment2_1.ipynb --> P...
2019-12-05 19:01:33 7175 50
原创 JVM笔记
目录环境准备安装JDK(略)JDK、JRE和JVM的关系了解JAVA语言Java技术体系虚拟机内存结构程序计数器Java虚拟机栈本地方法栈堆内存方法区(JDK 1.8 元数据区)对象的创建给对象分配内存的方式线程安全性问题(内存分配)探究对象的结构对象的访问定位垃圾回收机制概述判断对象是否存活垃圾回收算法标记-清除算法性能监控工具认识类的文件结构类加载机制字节码执行引擎虚拟机编译及运行时优化jav...
2019-10-16 12:00:53 504
原创 Kaggle-自行车租赁人数预测
目录前言和感谢正题前言和感谢机器学习本人还是一个新手,现在处在练习阶段。在网上找到了很多免费的比较老旧kaggle比赛讲解的python代码,在这里自己亲在体验并跟着过了一遍。在运行的过程中加入了自己的一些改动并且修改了一些存在的BUG,同时将代码中过时的方法还成了新的方法。所以并非整个文章均为我的想法和实践,如果侵犯了您的权益请及时联系我。同时感谢原作者的无私分享。正题由于代码已经完全可...
2019-09-04 18:33:58 572
原创 Kaggle-泰坦尼克号
目录前言和感谢正题前言和感谢机器学习本人还是一个新手,现在处在练习阶段。在网上找到了很多免费的比较老旧kaggle比赛讲解的python代码,在这里自己亲在体验并跟着过了一遍。在运行的过程中加入了自己的一些改动并且修改了一些存在的BUG,同时将代码中过时的方法还成了新的方法。所以并非整个文章均为我的想法和实践,如果侵犯了您的权益请及时联系我。同时感谢原作者的无私分享。正题由于代码已经完全可...
2019-08-31 14:59:36 256 1
原创 朴素Bayse新闻分类实践
目录1、信息增益(互信息)介绍(1)西瓜书中的信息增益[^1](2)PRML中的互信息[^2](3) 其实他们是一个东西2、朴素Bayse新闻分类[^3](1)常量及辅助函数(2)特征提取(3)训练模型(4)预测(5)测试(6)测试结果1、信息增益(互信息)介绍由于在最终的bayse算法中只使用了部分的特征,而特征的选择使用到了信息增益,所以在这里做一个简单的介绍。(1)西瓜书中的信息增益1...
2019-08-24 12:03:53 264
原创 深度学习优化算法实现(Momentum, Adam)
目录Momentum初始化更新参数Adam初始化更新参数除了常见的梯度下降法外,还有几种比较通用的优化算法;表现都优于梯度下降法。本文只记录完成吴恩达深度学习作业时遇到的Momentum和Adam算法,而且只有简要的代码。具体原理请看深度学习优化算法解析(Momentum, RMSProp, Adam),比较具体的说明了吴恩达版本的三种优化算法的讲述!Momentum初始化def init...
2019-08-19 16:48:39 2858
原创 inverted dropout示例
目录1、前向传播2、后向传播这里是完成的吴恩达的深度学习课程作业中的一个inverted dropout的作业题,是一种很流行的正则化方式。这里做一个记录,重点记录了如何实现前向和后向的inverted dropout,都是代码片段,无法运行;完整的代码请参见吴恩达的第二课的第一周的作业。1、前向传播def forward_propagation_with_dropout(X, parame...
2019-08-16 16:25:28 939
原创 《吴恩达深度学习》第一课第四周任意层的神经网络实现及BUG处理
目录一、实现1、吴恩达提供的工具函数sigmoidsigmoid求导relurelu求导2、实现代码导包和配置初始化参数前向运算计算损失后向运算更新参数组装模型3、问题及思考一、实现1、吴恩达提供的工具函数这几个函数这里只是展示一下,这是吴恩达写好的工具类,在实现的部分会导入;具体查看提供的附件sigmoiddef sigmoid(Z): A = 1/(1+np.exp(-Z))...
2019-08-13 14:06:29 697
原创 从头开始建立神经网络翻译及扩展
目录翻译从头开始建立神经网络-简介导包和配置生成一个数据集实现用来展示决策边界的辅助函数Logistic Regression训练一个神经网络我们的神经网络如何进行预测学习神经网络的参数实现神经网络训练一个隐层有3个神经元的神经网络验证隐层神经元个数对神经网络的影响练习练习题解答1. Minibatch gradient2.Annealing learning rate3.其他激活函数Sigmoi...
2019-07-30 10:33:40 1336
原创 推荐系统浅浅的例子
对于推荐系统,有很多的很强大的算法。这里作为练习,只介绍基本的协同过滤算法(userbased)和FM(通过梯度下降的角度,还可以通过交替优化的角度来看)。 这里的例子是在七月算法的视频中看的,分析的内容基于自己的理解并对代码做了部分的勘误。(一)简单的user-based协同过滤算法 先来看一眼数据:userss = {"小明": {"中国合伙人": 5.0, "太平轮...
2019-05-28 14:41:12 473
原创 机器学习基石-作业四-代码部分
这次的作业内容主要就是对带正则化项的线性规划的闭式解做各种操作:选择、把数据分成训练集和交叉验证、k-折交叉验证。完全套公式就可以了,这里唯一的一个问题就是偏移量参不参加正则化;在林老师的课程中,最后的闭式解的公式为:按照这个公式,线性得分函数中的b也参加了正则化。而在吴恩达的课程,以及很多其他的地方得到的经验是,b一般是不参加正则化的。按照这样的理解,假设w0=b,那么公式为:...
2019-01-09 17:57:56 321
原创 机器学习基石-作业三-代码部分
梯度下降迭代和牛顿迭代,gradient_and_newton.py# -*- coding:utf-8 -*-# Author: Evan Miimport numpy as np"""作业三中使用梯度下降和牛顿法进行迭代"""def update(u, v, eta): u_tem = u - eta * (np.exp(u) + v * np.exp(u*v)...
2018-12-26 09:18:33 286
原创 机器学习基石-作业三-第2题分析以及通过H证明EIN的讨论
题目: 这是机器学习基石作业三种的第二小题,额,在网上看了很多解答(解答也不多)感觉都没有说清楚为什么,所以励志清楚滴解决一下这个问题,经过努力,自认为得到了详细的解答,内容如下:(一)解决选项(e):当t=1时:当t>=2时,假设,则有 所以,,即H为幂等矩阵,那么最终就必然成立了。所以选项(e)是正确的。 (二)解决选项(c)(d):...
2018-12-22 12:40:37 770
原创 机器学习基石作业二中的DECISION_STUMP实现
概要:在林老的题目描述中,DECISION_STUMP(其实就是“决策桩”,也就是只有一层的决策树)。题目中提到了的选去是把属性(一维的)按照从小到大的顺序排列以后取两个挨着的值的平均值,网上有人的实现会在开头和结尾的值手动去加一个小于最小的值,一个大于最大的值;添加的两个值的大小是多大合适,这是个问题。带来的另外一个问题就是,解释性变差了;就像《西瓜书》上说的,我们按西瓜的甜度区...
2018-12-18 15:26:43 2205
原创 机器学习基石-作业二-第10题分析
题目如上图所示,答案是:;在网上看到的答案中有一个很好的解释就是说在一个n纬的欧几里德空间里,分别按照参数做一个垂直于每个轴的超平面,这些超平面能够打散这么多个点。首先我承认这个事实,具体的证明还没做过。这篇博文的主要作用是把题目转换成前面的描述,也就是说明两个问题是等价的。不想太简单,也不想太复杂,就拿二维平面来举例子了。一下的讨论都在二维空间中进行:首先来看S 是一个的向量的集合,...
2018-12-14 19:54:14 326
原创 机器学习基石作业一中的PLA和POCKET_PLA实现
前提:文中使用的数据是本人下载下来以后自己处理过的,就是把文件中的所有分隔符都换成了空格。所以load_data方法只能加载我自己的数据,想要加载原生数据的话需要自己写load_data方法。 两个算法的关键地方都需要判断当前的w在某个样本点x上是否犯错,而对于犯错的判断有两个版本,第一个版本就是直接使用 wx*y <= 0 就表...
2018-12-12 09:46:27 2023
原创 pyton3 反射相关的一些操作
# -*- coding:utf-8 -*-# Author: Evan Miclass Dog(object): def __init__(self, name): self.name = name def eat(self, food): print('%s is eating ... %s' % (self.name, food)...
2018-07-17 17:41:37 158
原创 python3 一些常用的数学函数
# -*- coding:utf-8 -*-# Author: Evan Miimport math# 返回数字的绝对值,如abs(-10)返回10print(abs(-10))# 返回数字向上取整的结果print(math.ceil(1.3))# 比较两个数import operatorprint(operator.eq(1, 1))print(operator.ne(1,...
2018-06-14 15:59:25 3870
原创 python3 多继承搜索__init__方法的两种策略
继承情形一:测试代码如下:class A(object): def __init__(self): print('A')class B(object): def __init__(self): print('B')class C(A): def __init__(self): print('C')cla...
2018-05-29 15:58:47 1997
原创 软件设计师--判定覆盖,判定条件覆盖,条件组合覆盖--一个栗子
针对上图的一个判断条件,在这里将分别讨论判定覆盖、判定条件覆盖、条件组合覆盖的情况:设T1=A>3,T2=B>3;为该判定节点的两个子条件。(一)判定覆盖: 所谓的判定覆盖就是让判定的真分支和假分支各执行一次,只要列出的子条件能够满足真假分支各一次就可以了:例如: A=4,B=3(T1=True,T2=False)走了真分支,A=3,B=3(T1=False,...
2018-05-25 10:38:43 25239 2
原创 python3 shutil模块
# -*- coding:utf-8 -*-# Author: Evan Miimport shutil"""主要作用是拷贝文件、拷贝文件的权限、状态信息以及压缩文件、移动文件、删除文件"""# 将一个文件对象的内容拷贝到另一个文件对象中,可以部分内容"""f1 = open(r'E:\pythondata\day05\test.txt', 'rb')f2 = open(r'E...
2018-04-23 09:12:05 640
原创 软件设计师 --哈夫曼树的一个经典问题
题目如下:有很多人反应,他们怎么做都做不出正确的答案,结果发过他们画的哈夫曼树的图以后,发现图完全是错误的;如下图所示:为什么错误的,因为在遇到有两个权重为17的树的时候,没有遵循选择矮树的原则;正确的哈夫曼树如下:这样就能得出正确答案了。总结:在绘制哈夫曼树的时候,要遵循一下原则:(1)左子树的权重小于右子树(这个一般人都会注意的,因为哈夫曼树是二叉树,是有序的)(2)遇到权重相同的,选比较矮的...
2018-04-23 09:05:21 7555
原创 软件设计师--最早开始时间和最晚开始时间
题目如图所示,解法如下:方法:先求最早开始时间:A是开始节点,所以A的最早开始时间是0,并且最早开始时间等于最晚开始时间。等得到图中红色的部分。其他节点的最早开始时间为以该节点作为弧头的所有有向弧的值+弧尾的值 的最大值,看例子就明白了:然后求其B的最早开始时间,由B作为弧头的有向弧只有<A,B>且值为2,A的最早开始时间为0,所以B的最早开始时间为0+2...
2018-04-20 18:03:53 32343 12
原创 python3 random模块操作
# -*- coding:utf-8 -*-# Author: Evan Miimport random# 产生一个 >=0 并且 <1 的随机浮点数print(random.random())"""Get a random number in the range [a, b) or [a, b] depending on rounding.获得一个[1,3)或者[1,3...
2018-04-04 17:07:02 367
原创 python3 time datetime相关操作
time模块中的相关操作:# -*- coding:utf-8 -*-# Author: Evan Miimport time# 获得时间戳,当前时区的print(time.time())# 不传参数获得格林威治时间tuple,传入秒数的话就是把秒数转为tupleprint(time.gmtime())# 不传参数将获得当前时区的时间tuple,传入秒数的话就是把秒数转为tuple...
2018-04-04 16:59:12 373
原创 软件设计师--文件索引
问题(题目)如下图所示:这道题最中要的是理解什么是直接索引、一级间接索引、二级间接索引:直接索引:地址项直接指向文件块一级间接索引:地址项(一层)指向存放地址项(二层)的数据块,也就是一层的地址项指向的数据块中全部放的是二层地址,这些地址再指向文件内容块。二级间接索引:地址项(一层)指向存放地址项(二层)的数据块,地址项(二层)指向存放地址项(三层)的数据块,地址项(三层)指向存放文件内容的地址块...
2018-04-03 16:38:26 1892
原创 python3 os模块相关方法
# -*- coding:utf-8 -*-# Author: Evan Miimport os# 获取当前工作目录,即当前python脚本工作的目录路径print(os.getcwd())# 切换当前路径os.chdir('c:/users')os.chdir(r'c:\users')print(os.getcwd()) # 验证当前路径是否切换成功# 返回当前目录的字符串名...
2018-04-03 11:01:53 1234
原创 python3 Xml操作
读取xml内容: -*- coding:utf-8 -*-# Author: Evan Miimport xml.etree.ElementTree as ETtree = ET.parse('test.xml')root = tree.getroot()print(root.tag)# 一个节点有tag、attrib、text三个值# tag是标签的名字# text是标签的内容...
2018-04-03 11:00:18 3457
原创 python3 正则表达式模块re相关
# -*- coding:utf-8 -*-# Author: Evan Miimport re"""'.' 默认匹配除\n之外的任意一个字符,若指定flag DOTALL,则匹配任意字符,包括换行'^' 匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)'$' 匹配...
2018-03-09 16:10:58 360
原创 python3 中方法各种参数和返回值
# -*- coding:utf-8 -*-# Author: Evan Mi# 函数def func1(): print('in the func1') return 0# 过程def func2(): print('in the func2')"""多个值用逗号分割后返回,会分装到一个tuple中返回,接收的时候,如果使用一个变量接收,那么...
2018-03-08 11:05:03 3383
原创 python3 类的属性方法
# -*- coding:utf-8 -*-# Author: Evan Miclass Dog(object): def __init__(self, name): self.__first_name = name self.__last_name = 'W' def get_first_name(self): retu...
2018-03-08 10:54:11 639
修改后的pushlet的jar包和js
2016-04-07
跨AP的三层漫游
2015-12-24
建立开放式的无线接入服务
2015-12-24
RIP路由协议基本配置
2015-12-24
网络课程工程案例实验报告
2015-12-22
Nginx负载均衡upstream这样配置对不对
2017-12-12
m安装了clojure插件counterclockwise
2016-11-17
stoem trident中无法理解的一段代码
2016-10-26
请大家帮我解释一下这个mysql语句是什么意思呢
2016-09-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人