- 博客(39)
- 收藏
- 关注
原创 Java程序员学算法(6) - 反向传播(Back Propagation)
反向传播算法的最常见的表示图就是如下的神经网络的示意图,这个图或类似的图非常常见,看着也很简单。上图就是三层感知器(即只含有一个隐藏层的多层感知器)。在网上搜了好久终于找到了比较详细的介绍反向传播算法的文档,大家可以搜: BP 算法原理和详细推导流程.pdf这个文档里面有详细的每一层的计算方式,根据公式就可以写代码了,主要逻辑就是遍历每一个输入值,要求 训练次数 必须大于数据量。最好是数据量的倍数。但是,有可能造成 训练次数过大,执行会比较慢。代码如下:public class BackP.
2020-10-26 23:34:24 555
原创 Java程序员学算法(5) - Adam
Adam在做线性回归时也比较常用的方法,很多时候比梯度下降好用。它的实现和梯度下降很类似,增加了超参数 beta1 和 beta2 控制了这些移动均值的衰减率,具体介绍可详见:https://www.cnblogs.com/yifdu25/p/8183587.html。Adam带来的效果是:训练的时候,可以极度接近极限值,而不会再逐渐偏离。梯度下降会有可能发生偏离越来越大的情况。如下的2个图就是对算法的描述,摘自上面的url。有了这个图,我们就可以写代码了,它的实现与梯度...
2020-10-26 23:29:12 318
原创 Java程序员学算法(4) - 梯度下降(Gradient Descent)
梯度下降是做线性回归时比较常用的方法,关于线性回归和梯度下降的详细介绍可详见:https://blog.csdn.net/xiazdong/article/details/7950084,这里用到的数学知识比较多了,推导过程真心看不懂了,不过幸好最终的公式(文章最后的公式)还能看个大概,依葫芦画瓢还能写成Code。其实里面有个重要的概念CostFunction,而选用是最小二乘法,就是为了对比线性公式计算后的值与实际值直接的偏离。 在线性回归中,常用到多项式也就是多变量的情况,...
2020-10-26 23:24:16 639
原创 Java程序员学算法(3) - 梯度提升决策树(Gradient Boosting Decision Tree)
本篇继续进阶一点,写一下 梯度提升决策树(Gradient Boosting Decision Tree),详细解释可参考https://www.jianshu.com/p/005a4e6ac775的第三部分还是先上代码,梯度提升决策树是能够支持多种损失函数的,关于损失函数的定义,老规矩,自己搜。既然要支持多种损失函数,因此先写个接口类,然后再来个实现,后面会用到损失函数接口...
2019-08-14 16:49:16 587 8
原创 Java程序员学算法(2) - 提升树算法(Boosting Decision Tree)
上一篇写了最小二乘回归树(Least Squares Regression Tree),本篇进阶一点,写一下 提升树(Boosting Decision Tree),详细解释可参考https://www.jianshu.com/p/005a4e6ac775的第二部分。还是先上代码,先借用上一篇的代码,生成节点代码中,索引不再需要了,因为提升树只需要一层二叉树。/**...
2019-08-13 22:50:21 336
原创 Java程序员学算法(1) - 最小二乘回归树(Least Squares Regression Tree)
在算法如此时髦的当前,作为一名工程方面的Java程序员,同时也是算法小白,有着追赶时髦的好奇心,尝试着向算法的大门张望一下,因此,在此写一下在门缝中看到的东西。先从能看懂的CART的最小二乘回归树开始,并使用擅长的Java来实现。 首先,进入名词解释,CART(ClassificationAndRegressionTree)和最小二乘法,它们的具体解释还请自己...
2019-08-13 21:27:17 1251
原创 在Python编译的时候加入bz2
当使用Spark + Python的时候,python代码会有 import bz2,此时有可能会有 No module named bz2 的错误。这个错误的原因是:Spark 使用python的时候,需要将整个Python目录压缩成zip后,上传到hdfs中,这样需要通过编译生成一个新的Python(不干扰原linux已有的),默认是没有bz2的,而bz2是系统级的模块,因此系统中经常已经
2017-07-06 20:02:04 1556
原创 代码编写的要点
评价代码是否优良的一个重要原则就是:易读。因为很多代码是需要多人一起维护的,即使是原作者自己维护,时隔几个月后,再来看的时候,也一定会陌生,因此,易读易懂的重要性就在于此,方便他人也方便自己。下面列举一些代码编写时注意的要点1、相同或相似逻辑的代码尽量不要出现多次。任意的Copy&Paste代码块,对日后的维护有很大隐患的,如果日后逻辑需要调整,那么每一处相同或相似的...
2016-09-08 20:19:45 882
原创 技术知识收集
1. 操作系统的线程数 windows 一个进程的线程数默认是2000 linux 一个进程的线程数默认是10002. Java 内存相关 java为每一个线程耗用大约1M的JVM内存,作为线程栈用3. hadoop operation查看正在运行的 Hadoop 任务:yarn application -list关闭 Hadoop 任务进程:yar...
2016-08-16 10:41:16 395
原创 注解@Transactional 不起作用的非配置问题
在Spring + Mybatis的项目中,发现如下情况,processDB本来是private, 但为了Transactional 特改为public ,外部只调用 process1. 此时事务不起作用.
2016-01-14 11:32:11 655
原创 XMPPFramework-XEP 总结
Object-c的XMPPFramework支持的协议是以编号方式保存的,特此罗列一下XEP-0009 :在两个XMPP实体间传输XML-RPC编码请求和响应XEP-0012 :target的最后activity的查询XEP-0016 :私密信息XEP-0045:群聊协议以及对应存储操作等XEP-0054 :vCard管理(个人名片)XEP-0059 :
2015-10-19 13:09:23 1307
转载 http长连接和短连接-转
HTTP实现长连接HTTP是无状态的 也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话HTTP1.1和HTTP1.0相比较而言,最大
2015-10-14 23:10:53 1735
原创 视频网站开发-相关知识收集
1、如何使用HTML5嵌入视频 :关于HTML5对视频的支持。2、20+ 个免费和高级的 Web 视频播放器3、 12个用于播放音乐和视频文件的jQuery插件4、21个可用于网站和博客的免费视频播放器插件5、优酷、YouTube、Twitter及JustinTV视频网站架构设计笔记
2015-01-06 11:29:56 889
原创 64位Linux安装subversion-1.7.6时,错误undefined reference to `XML_StopParser'
64位Linux安装subversion-1.7.6时,发生错误undefined reference to `XML_StopParser'具体
2014-11-21 17:15:34 6279
转载 转-tomcat io performance comparison with nio
原文见tomcat connector (conncector) can be configured way NIO IO and NIO today were nothing to do on the next test configuration is as follows: <Connector port="8080" protocol="HTTP/1.1"
2014-04-22 17:47:31 6426
原创 Learning Python -- Java 通过JyThon调用Python实现的规则
学习Python的时候,发现Java能够通过JyThon调用 Python
2014-04-18 13:28:06 4386
原创 Learning Python
Python 流行多年,一直没有机会使用它,现在先了解,学习一下了。Python 是一种解释型,面向对象,动态数据类型的语言。它也能像Java一样,多平台可用。中文的有个 Python开发者门户 似乎不错。官网上有一个教程不错,从它开始学习 -- Python Tutorial先列举一些需要注意单地方:备注:单行备注使用 # ,多行备注使用 ‘’‘ (三个单引号
2014-04-15 18:20:49 848
转载 转 -A Distributed Systems Reading List
原文 见 http://dancres.github.io/Pages/A Distributed Systems Reading ListIntroductionI often argue that the toughest thing about distributed systems is changing the way you think. The b
2014-04-11 11:46:07 1027
原创 Learning Mysql -- 收集
MySQL被设计为一个单进程多线程架构的数据库,这点与SQL Server比较类似,但与Oracle 多进程的架构有所不同(Oracle 的Windows版本也是单进程多线程的架构)。这也就是说,MySQL数据库实例在系统上的表现就是一个进程。Mysql 调整最大连接数的时候,也要记得调整 Linux的 max user processes,此值默认是 1024
2014-04-09 18:17:30 595
转载 Learning Redis - 收集网络知识
收集了一些网络文章,并把一些关注的内容提了出来。 一、国内外3个领域巨头的最佳实践1. 新浪微博:史上最大的Redis集群1)Redis平台实际情况:2200+亿 commands/day 5000亿Read/day 500亿Write/day18TB+ Memory500+ Servers in 6 IDC 2000+instances2)Redis使用的重
2014-03-20 17:37:15 676
原创 Learning Redis - 概念
Redis 十分的流行,学习一下,在此留底Redis 是一个高性能的key-value数据库。性能测试结果:SET操作每秒钟 110000 次,GET操作每秒钟 81000 次,服务器配置如下:Linux 2.6, Xeon X3320 2.5Ghz.stackoverflow 网站使用 Redis 做为缓存服务器。
2014-03-11 11:41:25 2116
原创 感兴趣的开源软件列表-1
移动周报-开源移动工具 关注 DevBox 和 Alcatrazhydra Same to Hadoop . It is worth to study.See also 轻量级的高性能Web框架:Play 。CSDN中的介绍Play!是一个full-stack(全栈的)Java Web应用框架,包括一个简单的无状态MVC模型,具有Hibernate的对象持续,一
2014-03-11 10:21:54 1337
原创 网络知识收集 -Http Server
现在流行的Http Server 有: Nginx, Apache 。Nginx非常流行,而且还会对他进行个性化开发定制。Nginx(发音同 engine x)是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler(俄文:
2014-03-07 13:51:27 817
原创 网络知识收集
网络七层协议应用层(Application Layer)与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。 示例:telnet,HTTP,FTP,NFS,SMTP等。表示层(Presentation Layer)这一层的主要功能是定义数据格式及加密。 示例:加密,ASCII等。会话层(Session Layer)它定义了如何开始、控制和结束一个会话,包括对多个双
2014-02-25 13:20:39 647
原创 供应链术语收集
收集一些相关知识列表,便于自己查询。可承诺量(Avanable to Promise,简称ATP) http://wiki.mbalib.com/wiki/Available_To_Promise 可承诺量又称可供销售量,是主生产计划通过计算后,已满足该时区时间段的订单需求数量,并已超出下一个时间段订单需求数量之和的数量,可提供销售部门产品销售员出售给顾客的数量。
2014-02-25 11:09:21 2722
原创 Learning RabbitMQ And ActiveMQ
RabbitMQ is the implementation of AMQP. AMOP define networking protocol, arepresentation for message envelope data and the basic semantics of broker services.ActiveMQ is the implementation of JMS
2014-02-21 18:48:09 959
转载 Learning AMQP
The following is the AMQP brief collected from home website.AMQP - Advanced Message Queuing Protocol 是用于业务消息的网络协议 http://www.amqp.org The Advanced Message Queuing Protocol (AMQP) is an open s
2014-02-21 18:40:06 718
原创 回顾2013,对工作的一点感悟
一个互联网-电商公司,面对日新月异业务和技术创新,如果只相信自己的老员工,自己从头培养的新人,而不重用有经验的外来人,那么,这种模式,是否合适呢? 医院都建议广招外来人,而不是只关注自己对口的大学毕业生,目的是为了保证自己的全面,多样化,保持活力。对于公司来说,员工远近分明,大力培养自己人,对自己多进行培训,或者出国培训,这样是否有帮助呢? 在一个公司工作了2,3年,取得了一定
2014-01-27 23:23:34 570
原创 总结在2014
1. Code review2. Daily stand up. Describe the yesterday work and today job3. Send work log. Include: today work and morning job.4. Write scrum5. Save and check the backlog. Rate these backlo
2014-01-22 09:55:43 589
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人