自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Hannah

——好好工作才有好的生活。

  • 博客(198)
  • 问答 (1)
  • 收藏
  • 关注

原创 年终总结:2017没有旅行,却从不缺少风景

今年没有出远门,如果园博园和衡水湖还算远的话,那就勉强算作一次吧。其实,我和朋友有过约定,当实现了一个小目标,我们就一起去三亚看海,去穿我们的波西米亚长裙。只是每到一个小目标我们都会期盼下一个目标,目标无止境,我们是一类人,只觉今日有限,来日尚且方长。元旦时,看了支付宝推送的账单,买衣服花了几百,出行却有好几千,回到家,我把曾经取出来的车票数了一下,数完的瞬间...

2018-02-05 15:46:34 705 7

原创 B树与B+树简明扼要的区别

  看了很多讲B树和B+树的文章,大多都是围绕各自的特性讲的,第一,树中每个结点最多含有m个孩子(m>=2);第二,……我也是从这些文章里弄懂了各种树的联系与区别,要真写,我可能还不如人家写得好。所以就在这里简明扼要的用几张图记录一下主要区别吧。   为了便于说明,我们先定义一条数据记录为一个二元组[key,data],key为记录的键值,key唯一;data为数据记录除key外的数据。...

2017-09-20 13:21:20 111362 39

原创 说说项目管理的那些事儿

在我们的开发团队里,每一个带过项目的人都成了优秀的员工. 这不是偶然,领导别人才会明白如何被领导,有句话叫”没有当过老板的员工不是好员工.”五年前听说这句话的时候还很不理解,等到自己做了项目负责人才真真切切地体会到这一点.今天想谈谈自己管理项目之后得一些体会.总体分了几大块.人员管理:人最大的问题有三个: No.1 把自己的安排放在集体安排之前 从1.0到3.0开发时间相对较长,做项目做得有点

2015-07-19 16:12:48 3729 6

原创 J2EE的13个规范总结

什么是J2EE?在企业级应用中,都有一些通用企业需求模块,如数据库连接,邮件服务,事务处理等.既然很多企业级应用都需要这些模块,一些大公司便开发了自己的通用模块服务,即中间件.这样一来,就避免了重复开发,开发周期长和代码可靠性差等问题.但是,各公司的中间件不兼容的问题就出现了,用户无法将它们组装在一起为自己服务.于是,"标准"就应运而生了.J2EE就是基于JAVA技术的一系列标准.J2

2014-08-22 22:22:52 29621 60

原创 年终总结:2018依旧没有旅行,我却行走了一光年

看到每天博客上都有赞,有关注,有鼓励的评论,仿佛一不留神活成了别人需要的样子,便一次次下定决心要好好写,总觉得好忙,好像总是来不及。此时此刻看到新的留言,忍无可忍来占个位,2018年过去几个月了,还欠一篇年终总结没写,感觉能写两万字。对于写博这件事,最开心的,便是你搜到这篇文章的时候能从眉头紧锁变成喜笑颜开:哈,这就是我想要的! 2018年的故事,要从情人节讲起……...

2019-04-08 21:38:55 656 2

原创 ionic/angular踩过的坑

MSBUILD : error MSB4132: 无法识别工具版本“2.0”。可用的工具版本为 “14.0”, “4.0”场景:在Windows环境中使用npm install安装依赖时,node-gyp在构建时未能找到所需版本的构建工具。可以查看,项目的node_modules下的node-gyp和node-sass中均无依赖。解决:npm install --global --pro...

2019-01-22 19:32:37 1163 3

原创 【机器学习】梯度下降--常用的无约束最优化方法

参考文章: L1范数与L2范数的区别 https://blog.csdn.net/pan060757/article/details/73321681 L0与L1与L2范数,宏观 https://blog.csdn.net/zouxy09/article/details/24971995 L1与L2范数的作用...

2018-11-08 21:25:58 1759 2

原创 【机器学习】生成模型和判别模型

定义: 生成方法由数据学习联合概率分布P(x, y),然后求出条件概率分布P(y|x)作为预测的模型。 包括朴素贝叶斯,贝叶斯网络,高斯混合模型,隐马尔科夫模型等。判别方法由数据直接学习决策函数y = f(x) 或者条件概率分布P(y|x) 作为预测的模型。 包括K近邻,感知机,决策树,逻辑回归,提升方法,支持向量机和条件随机场等。对比: 生成模型能反映数据之间的关...

2018-09-11 21:36:13 590 1

原创 【机器学习】欠拟合与过拟合的解决方法

下面这张经典的图展示了欠拟合(第一个)与过拟合(第三个)。 欠拟合模型在训练集上学习的不够好,经验误差大,称为欠拟合。模型训练完成后,用训练数据进行测试,如果错误率高,我们就很容易发现模型还是欠拟合的。解决办法: 增加训练次数。添加其他特征项,例如,组合特征、泛化特征、相关性特征。添加多项式特征,例如将线性模型通过添加二次项或者三次项使模型泛化能力更强。减少正则化参数,正则...

2018-09-10 20:55:05 2617 1

转载 【机器学习】逻辑回归过程推导

目录: 一、LR的基本原理。 二、LR的具体过程,包括:选取预测函数,求解Cost函数和J(θ),梯度下降法求J(θ)的最小值。 三、对《机器学习实战》中给出的实现代码进行了分析,对阅读该书LR部分遇到的疑惑进行了解释。比如:一般都是用梯度下降法求损失函数的最小值,为何这里用梯度上升法呢?书中说用梯度上升法,为何代码实现时没见到求梯度的代码呢?一、LR的基本原理 Logistic Re...

2018-09-10 17:55:59 3209

原创 【机器学习】特征工程

     “数据和特征工程决定了模型的上限,改进算法只不过是逼近这个上限而已。”       可见,数据是本质,而特征工程具有洪荒之力,它的目的就是竭尽所能地从数据中提取特征,在配合算法的情况下获得最好的模型,所以,说白了,特征工程就是处理样本数据,样本数据有的也就是那些样本的特征了,所以无论是横向还是纵向,单个还是多个,增加还是减少,多维度、多方法地使得数据更好地为我们所用。       特...

2018-05-14 18:09:35 439

原创 【数学】从鸡兔同笼谈数学思维

    “今有雉(鸡)兔同笼,上有三十五头,下有九十四足。问雉兔各几何。”     “鸡兔同笼问题”是我国古算书《孙子算经》中著名的数学问题,意思是:有若干只鸡和兔在同个笼子里,从上面数,有35个头;从下面数,有94只脚。求笼中各有几只鸡和兔?       如果看到这道题的你,首先想到的是二元一次方程,那么我觉得你有读下去的必要……如果你问兔子和鸡分别都有几只脚,那么欢迎你去瞅瞅,哈哈。1.列表法...

2018-05-08 14:13:49 2923

原创 【机器学习】朴素贝叶斯-贝叶斯公式

       曾以为数理是这世上最绝对、最客观、最远离哲学的,慢慢地我发现其实他们是最不绝对、最不客观、最含有哲学意味儿的。这个看法改变的过程,其实是对世界深度认知的过程,在感性与理性中探索有限与无限。感触有点深,主要是最近对概率统计以及微积分的学习与研究,让我知道那些公式背后都有一些难以跨过的坎。今天不感慨,整理一下几个月前看贝叶斯公式的思路。       之前介绍条件概率的时候,写的贝叶斯公式...

2018-04-16 15:20:16 1083

原创 【机器学习】Kaggle项目中遇到的问题与解决方案

   原来写的都是.py的Python代码,到了kaggle中发现所有项目的code部分都是下图这样的,有点迷糊,后来发现notebook真是个好东西。 问题1.下载了源码,源码文件扩展名是.ipynb,该如何看?解决方案:因之前安装了Anaconda,所以在开始菜单搜索Anaconda Prompt,在弹出的命令窗口输入jupyternotebook,浏览器打开jupyt...

2018-02-05 15:07:23 3822

原创 【机器学习】监督学习:分类和回归

  有没有想过为什么监督学习中“分类”占了一大半?  监督学习是指有目标变量或预测目标的机器学习方法,包括分类和回归。对于分类来说,目标变量是样本所属的类别,在样本数据中,包含每一个样本的特征,如花朵颜色、花瓣大小,也包含这个样本属于什么类别,它是向日葵还是菊花,而这个类别就是目标变量。分类就是根据样本特征对样本进行类别判定的过程。对于回归来说,回归就是为了预测,比如预测北京的房价,每一套房源...

2018-02-01 14:46:38 14619 2

原创 【机器学习】朴素贝叶斯-对文档进行分类

上一篇文章【机器学习】朴素贝叶斯-条件概率    已经提过了利用朴素贝叶斯进行文档分类的步骤,下面我们来看每个步骤的目的,搞清楚我们要处理的数据满足什么条件,是什么格式,我们所写的每一个函数的入参是什么,处理完成后的出参,即处理结果是什么样的,又是如何将计算的条件概率应用于贝叶斯公式,得到文档所属的类型。   一篇文档属于侮辱性文档还是非侮辱性文档,是根据文档内容判断的,文档由单词构成

2018-01-16 17:35:28 2014 2

原创 【机器学习】朴素贝叶斯-条件概率

朴素贝叶斯是基于概率论的分类方法,主要步骤是:      1.利用Python的文本处理能力,将文档切分成词向量      2.从词向量计算概率,得到分类器      3.优化分类器      4.通过分类器进行分类   其中,计算概率是很关键的步骤,包括计算条件概率,下面总结一下关于条件概率的内容。   我们来举个小球的例子:现在有7个球如下图所示放在2个

2018-01-15 17:35:30 4298

原创 算法这一站是新的起点

  之前零星了解一点算法的东西,但提到算法我和大多数人一样,认为那是rocket science(高深的技术)。至于“程序=数据结构+算法”,想必也是只有深入研究以后才有的感受吧。       年初,决定深入地研究一下算法知识,于是系统地看了几本书,坚持上了几个月的课,从排序、基本数据结构、一致性哈希、分治、动态规划、回溯、贪心,到二叉查找树、哈夫曼树、B树、B+树等等,也算是深入了一些。前两...

2017-09-18 18:49:04 901 1

原创 减治、分治与变治

减治:  利用了一个问题给定实例的解和同样问题较小实例的解之间的某种关系,常用的有n和n-1的关系,有了这种关系我们可以自顶向下地递归求解,也可以自底向上地迭代实现,从较小实例开始求解这一角度来看减治也叫增量法。减治法的三种方式:1.减常量  每次迭代总是从实例中减去一个相同的常量,一般为1。如求an的值,我们从an=an-1*a可以看出n和n-1之间的

2017-07-28 18:45:52 3602 5

原创 斐波那契数列

1, 1, 2, 3, 5, 8, 13, 21, 34,……  如果一对兔子每月能生一对兔子(一雌一雄),而每对小兔在它出生后的第三个月,又能开始生一对小兔。如果没有兔子死亡,由一对小兔开始,50个月后会有多少对兔子?  或许你会说哪能每次都是一雌一雄,小兔子还能长命百岁?好吧,都说了如果,算一下你就会发现,每个月的兔子数量完全就是这个数列嘛。  最近喜欢上了斐波那契数列,台阶问题的

2017-07-21 11:41:30 1079

原创 汉诺塔的递归解法

汉诺塔问题:    有n个不同大小的盘子和三根木桩。一开始,所有的盘子都按照大小顺序套在第一根木桩上,最大的盘子在底部,最小的在顶部。我们要把所有的盘子都移动到第三根木桩上去,必要时可借助第二根木桩。每次只能移动一个盘子,不能把较大的盘子放在较小盘子的上面。      传说当64个圆盘从梵塔上移走时,世界末日也就来临了……  问题分析:   当n=1时,直接将盘...

2017-07-18 16:12:01 1231 1

原创 欧几里得算法

最大公约数的定义是什么?  (小编希望读者和小编一样,在看到这样的问题时,能够亲自去查一下,以得到最精准的语言描述。)  最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减

2017-07-17 11:48:32 2877 1

原创 动态规划--01背包问题(2)

   根据前面的分析,我们已经画出了一个表格,表格的最后一个格子是背包的最大价值,在展示代码实现前,我还是想先说一下写代码前的思路,毕竟,有了思路才能行文如流水。没错,下面要说动态规划的步骤。         1. 刻画背包问题的最优解的结构:  如果一个问题的最优解包含了物品n,那么其余n-1个物品一定构成了子问题在容量为W-Wn时的最优解;如果这个问题的最优解不包含物品n,那么其余...

2017-07-13 14:28:23 792 2

原创 动态规划--01背包问题(1)

   学习算法可以知道机器怎么能像人一样思考,才、可以去搞大数据、人工智能等等。不说未来有多美好,眼下学算法本身就是很有趣儿的,研究每一个算法的精髓。   前面的台阶问题是动态规划问题里面最简单的一个,只有一个维度的变化。今天的背包问题比前面稍微复杂一点,有两个变化维度。   问题描述:   有一个背包可盛的重量为4,现有3个物品,重量和价值如下表,问:如何让包内装入的物品具有最大的总...

2017-06-23 17:27:35 824 1

原创 动态规划--台阶问题

有一座高度是10级台阶的楼梯,从下往上走,每跨一步只能向上1级或者2级台阶。要求用程序来求出一共有多少种走法。 如果每次走1级,需要走10步,结果可以表示成(1,1,1,1,1,1,1,1,1,1);如果每次走2级,需要走5步,结果可以表示成(2,2,2,2,2,);思考一下,你还能写出几种……那么,共有多少种走法呢? 我们可以这样想,假设我们现在还有最后一步要走,可能...

2017-06-02 18:44:52 20332 6

原创 《算法图解》读书笔记

一、算法简介这的确是一本像小说一样有趣的算法入门书,讲的是一个事儿,一个理儿,没有数学公式,不像《算法设计与分析基础》那样是一本理论书。这里记录的只是读书过程中对重要结论和关键性质的记录,关于各个算法的精髓后续讨论。1.查找算法:二分查找,用于有序元素列表(将执行步骤从40亿减少到32个!)2.大O表示法:算法运行时间的增速;指出了最糟情况下的运行时间O(log n),对数

2017-05-31 17:06:55 2865 2

原创 java如何实现多线程

       首先,java创建线程的方式有两种,一个是继承Thread类,一个是实现Runnable接口,这两种方式线程执行完后没有返回值。第一种,继承Thread类:写一个Thread类的子类MyThread public class MyThread extends Thread {   public void run() {    System.out.println...

2015-10-31 22:10:32 1868 4

原创 【J2EE】企业级项目开发总结-JBoss Modules

Java一直使用classpath的方式来加载各种class和jar的资源。        有什么不妥?        我们熟知的classpath机制,它会创建一个application类加载器,所有相关jar文件资源提供的class都会被它加载,汇聚成为一个大块。如果有一个很大很复杂的应用,包含很多Jar文件,并且有些jar根本不会被使用,或者有些jar因为依赖管理不好

2015-10-31 22:10:14 1746 2

原创 JVM类加载器

java虚拟机中可以安装有多个类加载器,系统默认三个主要类加载器,分别是BootStrap,ExtClassLoader,APPClassLoader。每个类加载器负责加载特定位置的类,他们是一个树形结构,有些类加载器也是java类,也需要类加载器来加载,在实例化每个类加载器对象时,需要为其指定一个父级类加载器或默认采用系统类加载器。但总有第一个类加载器不是java类,而是初始化就有的,嵌...

2015-10-31 22:09:54 1365 2

原创 ClassNotFoundException: org.quartz.spi.ClassLoadHelper

今天帮同事解决一个问题,分享给大家。使用quartz完成一个作业调度,使用的是JBoss服务器。写好代码运行报错,错误提示关键信息为: java.lang.NoClassDefFoundError:org/quartz/spi/ClassLoadHelper java.lang.ClassNotFoundException:org.quartz.spi.ClassLoadHelpe

2015-10-16 15:22:14 9548 2

原创 【J2EE】企业级项目开发总结--JMS发布-订阅模型篇

通过上篇博客的示例,我们可以总结出消息通信的基本过程。首先得到连接工厂,通过工厂生产连接,从连接中得到一个会话,根据会话创建消息生产者,目的地,消息和消息消费者。详细过程如下图。       和前一篇P2P中的代码类似,我们今天来看看发布订阅模型。只是在这里把Queue换成了Topic,消息生产者叫做消息发布者,发布一个主题,所有订阅主题的类叫做消息订阅者,每个订阅者都对应

2015-09-27 15:57:06 1978 5

原创 【J2EE】企业级项目开发总结--JMS点对点模型篇

今天的Demo演示了点对点模型中消息发送者与消息消费者在传递消息时的两种方式,一种是不管消息队列中有没有消息,消费者一直在取;一种是监听消息队列,当有消息时才取. 首先开启服务,我这里用的是Activemq,运行相应的bat文件即可.在浏览器访问http://localhost:8161/,看到欢迎界面代表成功. 第一种:消费者直接取 package com.tgb.activ

2015-09-23 17:29:26 1698 6

原创 【J2EE】企业级项目开发总结--JMS基础篇

前面回顾到EJB,说了SessionBean和EntityBean还没提到MessageDrivenBean,我们先了解JMS以后再来谈MessageDrivenBean.下面来看学习和使用JMS必须了解的基础. 先看图,宏观了解下各部分之间的关系.消息中间件:企业消息传递系统通常被称为消息中间件(Message OrientedMiddleWare),属于消息

2015-09-23 11:16:05 2519 5

原创 【J2EE】企业级项目开发总结--EJB篇

很多人都觉得EJB高大上,就是复杂,难学难用.其实J2EE是企业级但它并没有我们想象的那么笨重,和那些轻量级的框架们比,它有着得天独厚的优势,好比Word,Excel...它们庞大的Office家族都是微软出来的,它们彼此相连,互帮互助.如此,EJB使用了其它很多标准规范(诸如JTA、JDBC/RMI/IIOP等)来实现自己的功能。使用J2EE规范,可以很容易地在J2EE技术不同实现间进行转换。因

2015-09-22 15:49:02 2546 5

原创 Hibernate懒加载异常的解决与深刻分析

出现原因: Hibernate允许对关联对象及属性延迟加载,前提是这个操作在同一个Hibernate session范围内进行.如果发生这样的情况,当service层返回了一个启用延迟加载功能的domain对象给web层,而web层访问到这些需要延迟加载的对象或属性时,由于加载domain对象的session已经关闭导致无法访问,就会出现访问异常. 解决方法: 我们可以

2015-08-29 21:22:37 4903 6

原创 Hibernate中的延迟加载(懒加载)

什么是懒加载?  Hibernate提供了一种机制,即在设置了使用懒加载的情况下,查询某一条数据时不会立即访问数据库,因此不会返回指定对象,而是返回代理对象,该代理对象并不为null,它实际上是Hibernate自动实现的指定对象所属类的子类的对象,该对象具有默认值.当要使用真正对象的属性的时候才会访问数据库,这时代理对象会自动查询数据库中对应对象的数据并返回.这样一来降低了程序对数据

2015-08-28 23:42:42 2114 4

原创 SSH2整合--配置+详解

最近的项目做完了,整理整理用到的技术,也顺便系统地回顾一下框架基础,防止学而不思则罔,思而不学则殆.        先说说框架整合.最初的架构是最简单的Struts2+Spring3+Hibernate3,数据库使用的是MySQL.分别列出整合需要的jar.Struts: commons-fileupload.jar Commons-io.jar Freemarker.j

2015-08-26 23:48:53 16187 11

转载 Hibernate的乐观锁与悲观锁

做项目时由于业务逻辑的需要,必须对数据表的一行或多行加入行锁,举个最简单的例子,图书借阅系统。假设 id=1 的这本书库存为 1 ,但是有 2 个人同时来借这本书,此处的逻辑为Select restnum from book where id =1 ; -- 如果 restnum 大于 0 ,执行 update Update book set restnu

2015-08-06 21:22:17 1677

原创 Hibernate对象的三种状态

hibernate中对象的状态有三种:临时态(Transient)、持久态(Persistent)和游离态(Detached),三种状态转化的方法都是通过session来调用的,处于三种状态下的对象所具有的特点,总结如下: 临时态:没有被session管理            在数据库中没有与之匹配的记录;持久态:纳入session管理    在数据库中有与之匹配

2015-08-05 21:21:38 1411 6

原创 实体拼错名字,一点经验教训

这次的项目中出了一个问题,问题不大,但是挺坑的…             V3.0的时候我们使用Hibernate完成实体和数据库的映射,当时有人把实体的一个属性拼写错了,然后数据库字段也错了.V3.1的时候呢,我们换成了EclipseLink,修改了实体关联,但还是沿用了当时的API中的Entity和数据库.          3.1的开发人员在做开发的时候,因为对实体很熟悉

2015-07-30 17:55:50 1482 3

空空如也

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

TA关注的人

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