自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

芙兰泣露的博客

主要记录在开发中解决问题的过程

  • 博客(21)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 jvm(四):垃圾收集器初探

对于为了学jvm的人来说,垃圾收集应该是最为有用的章节之一,了解垃圾收集有助于我们手动调节使用何种垃圾收集机制,有助于解决内存溢出。垃圾收集算法垃圾收集算法是垃圾收集器的构建理论,仅从算法的思想方面介绍三种常用的垃圾收集算法如下:标记-清除算法标记-清除(Mark-Sweep)算法,如同名字一样,分为两个阶段:即“标记”和“清除”阶段。 首先标记处需要回收的对象(使用可达性分析),标记完成后统一回

2017-10-30 20:19:02 245

原创 机器学习(九):k-means与聚类

k均值是基于划分的聚类技术,其特征为聚类的结果趋向于类球形,而k值就是需要发现的k个类,一般由使用者指定。k-meansk均值通常用于n维连续空间(数值类型)中的数据,其算法思想比较简单: 选择k个初始质心,然后将样本中的每个点指派到最近的质心,指派的方法一般是计算距离,以每个质心和所属他的点为一个簇,重新计算出该簇的质心,重复下去,直到簇不变(也可以是质心不变)该算法思想有两大需要解决的问题

2017-10-30 13:19:08 1238

原创 算法(三):动态规划

不从定义等角度来考虑动态规划的含义,而只是从解决问题的思路上来说明如何将问题化繁为简。问题特点通过一个经典的动态规划来了解动态规划问题。 如下一个图,求出从起始点到终止点的最短路径: 初看起来,这个问题就是一个最短路径问题,使用迪杰斯特拉最短路径,或者弗洛伊德算法,甚至A*算法都可以完美求解。 但如果再仔细观察,就可以发现另一个特征,即阶段特征,上面的图的路径都是分为阶段的: 我们将

2017-10-29 15:35:44 615

原创 java(十四):transient与序列化

transient译作临时的,瞬态的意思,指的是在序列化的时候,被该关键字修饰的变量将不会被持久化。 比如用户的密码,身份证号,当希望将其保存到文件而又过滤掉这些敏感信息时,就可以使用该关键字修饰。 说道序列化,需要说明的是,static关键字不会被被序列化也不会被反序列化,因为static是类成员,在反序列化时(其实等同于初始化),就会使用类里的初始值,然而需要注意的是,内存中如果已经存在该类

2017-10-28 15:50:14 234

原创 java(十三):volatile与内存模型

作为深入理解java中的锁,首先应该掌握volatile的含义和用法。线程之间的可见性可见性对于java初学者并不是一个从字面上就可以简单理解的名词。 往深了说,要真正掌握volatile关键字,还需要有基本的jvm的知识,这里只需要理解jvm的分区以及各个区的内容含义就知道了,参考前面的一篇博客jvm内存划分 我们需要掌握的有两点: 1. 同一进程的不同线程之间其内存空间是不共享的,类似虚拟

2017-10-28 11:50:42 230

原创 jvm(三):对象引用与垃圾回收

上一节讲到,堆里存放着java几乎所有的对象实例,而对象只有不再被使用时,才会被回收。对象引用如何判断一个对象是否还被需要呢?其实唯一的准则就是是否还有变量引用它。 比如Object o = new Object();o = new Object();上述代码新建了两个对象实例,第一个对象毫无疑问无法再被访问了,因此第一个对象就可以被回收了。 这就是变量引用的准则,那么内部关于对象的引用是如何

2017-10-24 12:30:18 591

原创 机器学习(八):朴素贝叶斯分类

本节将只从最简单的一个公式讲起,不会涉及到复杂的风险函数等理论,主要在于明白求解过程。一个公式xx代表属性取值,y代表类变量,则有: p(y|x)=p(x|y)p(y)p(x)p(y|x)=\frac{p(x|y)p(y)}{p(x)} 上述公式构成了朴素贝叶斯的所有内涵。 即如果我们知道了属性x,需要预估该属性属于哪个类(p(y|x)p(y|x)),那么我们可以通过三个已知的概率来计算出来

2017-10-24 09:45:45 365

原创 机器学习(七):决策树

决策树(Decision Tree)可以算是分类算法中最著名的模型了,因为它是基于人们最能理解的规则来构造分类器,且每一次分支都能给出解释。 决策树大家族十分庞大,这里只介绍基于决策树的单一分类模型,不包括基于深度学习的GBDT。 决策树有点类似二叉排序树,到达节点时,就比较一次,然后进入下一个节点。度量划分基本上来说,对于度量的选择,我们都希望,所选择的度量能够将样本划分的更纯。不纯的程度越低

2017-10-21 19:40:36 2370

原创 jvm(二):对象加载浅谈

通过第一节的介绍,知道了对象实际上是分配在堆空间上的。那么具体的对象分配过程是怎样的呢? 虚拟机遇到一条new 指令时,先检查该指令对应的方法(初始化方法)能否在方法区(具体来说是常量池)找到,并检查对应的类是否被加载、解析和初始化过。如果没有,那就必须先执行相应的类加载过程。类加载通过后,就可以确定对象所需的内存大小。以上过程有一些需要注意的点:分配方式我们如何区别哪一块内存是属于哪一个类?

2017-10-21 17:13:37 282

原创 java(十二):线程池和ThreadPoolExecutor

阅读前请确保对于Thread和Runnable熟悉,可以参考多线程,Thread和Runnable 本博客从源码层面讲起,到最后常用的四个线程池。Executor这是线程池实现的最底层的接口,只包含一个方法:public interface Executor { /** * Executes the given command at some time in the future.

2017-10-16 13:18:43 453

原创 深度学习(一):神经网络和反向传播

从这一节开始,将介绍神经网络的相关内容。 博客不以介绍基本概念为主,而是注重一些浅显的推到和证明过程,以帮助理解。 如果你对神经网络一窍不通,你应该去看神经网络与深度学习 该博客可以看做是对于改文章的摘要。概念图 上述图片显示了神经网络的数据流动。 其中的每一个圆圈表示一个神经元。 一般对于神经元的描述如下: 一个神经元有几个输入和一个输出,多个输入和其权重相乘后在相加,其和通过和一

2017-10-14 15:22:26 439

原创 jvm(一):内存划分

jvm,java 虚拟机,是java语言实现平台无关性的具体实现,是一个虚拟的计算机设备。 作为jvm笔记记录,从本节开始,记录jvm知识的点点滴滴。 以java se 7为标准,java虚拟机在执行java程序时把所管理的内存划分为若干不同的数据区域:

2017-10-14 10:11:23 331

原创 算法(二):树,以及变形

二叉树从二叉树说起, 先序遍历:先访问根,先序遍历左子树,先序遍历右子树 中序遍历:中序遍历左子树,访问根,中序遍历右子树 后序遍历:后序遍历左子树,后序遍历右子树,访问根 即,X序遍历,指的是相对根而言。 由遍历构造二叉树: 选择两个遍历方法,其中一个为中序遍历,另一个为其他遍历(先序或者后续或者层次),均可以复现原二叉树。线索二叉树二叉树线索化规定: 若无左子树,令节点的左指针指

2017-10-12 21:22:54 318

原创 算法(一):排序

插入排序插入排序的思想是:每次将一个待排序的元素排在该元素的前面已排序的子序列中。直接插入排序该排序是插入排序最直接的实现。 在排序过程中,进行了n-1趟,每趟操作都有比较和移动的操作,时间复杂度为O(n^2),稳定。折半插入排序和直接插入排序不同,在比较的过程中采用二分法查找,移动元素部分不变,稳定。希尔排序先取一个小于n的步长d,然后对间隔为d的序列进行直接插入排序。

2017-10-12 20:27:27 250

原创 机器学习(六):SVM及相关问题

笔记迎来了机器学习目前最难的一个知识点。 SVM有几大难点,首先是模型最优化的标准,其次是优化问题的变形,最后则是二次规划的求解。 本文参考了很多篇博客,给出笔者自己的理解,从头推导,最后以一个可以手动计算的实例来讲解SVM求解的全过程。 注意本篇博客的目的在彻底理解,弄清每一步的推导,因此可能对于初识SVM的朋友不那么友好。最大间隔首先需要明确的是,svm的形式。 和第二节介绍的逻辑回归相

2017-10-12 08:36:56 571

原创 机器学习(五):KNN与维度灾难

作为一个过渡,这一节记录关于knn的知识。 这篇博客不贴关于knn的具体细节了,knn是十分容易理解的,关于knn可参考的博客一大堆,贴一个讲的好的吧一只兔子理解knnKNN 选择样本数据集中与待预测值前k个最相似的样本,取其中最多的作为该待预测值的类如果希望knn不给出所述的类,给出可能所述类的概率也是可行的。 很多人会疑惑k应该如何选取,一般来说,k靠经验,或者一个个试。也有个通俗的经

2017-10-11 14:37:44 9335

原创 java笔记(十一):Collections

作为java集合框架的最后一部分,本节介绍下集合框架的内置功能以及实现这些功能的算法。 Collections类中的方法都是静态方法,用于完成某一特定的功能,比如排序,查找等。下面从源码层面介绍各种方法。 首先,需要对于一些名词进行解析。 由于存在存取的方式不同,list分为随机存取(RandomAccess)和迭代存取(Iterator),其实就是所谓的线性表和链表啦。 两者的区别也不用多

2017-10-06 14:56:18 388

原创 机器学习(四):损失函数

在上上一节逻辑回归中,是使用似然函数来作为模型的求解参数的目标。 但在很多情况下,似然函数很难直接写出,更常用的方法是损失函数,这个在上上一节的补充中也有提过。 那么损失函数表示什么概念呢? 和似然函数相反,损失函数是模型预测失败的度量。注意最大化似然函数和最小化损失函数两者并不能完全等同,因为这涉及到所选取的参数。 对于机器学习模型来说,选择哪一种都符合模型求解的规则,关键在于选择哪一

2017-10-03 13:58:48 788

转载 机器学习(三):梯度下降法

本博客大部分参考了这篇博文梯度 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。

2017-10-03 10:43:12 7957

原创 机器学习(二):逻辑回归

逻辑回归(Logistic Regression),是机器学习中的一个分类模型。 按理说逻辑回归并不是分类模型中最简单的一个(最简单的应该是KNN),但为什么要从该模型开始呢? 原因有二:1.逻辑回归涉及到的一些知识点是后面机器学习的基础,2.笔者两次面试都被问道了逻辑回归。。。

2017-10-01 19:38:55 459

原创 机器学习(一):极大似然估计

从这一篇开始,打算系统的回顾一下机器学习的内容,以应对面试。 由于两次面试都问到了逻辑回归,于是打算从逻辑回归开始。 作为逻辑回归的基础,先从极大似然估计开始吧。

2017-10-01 13:55:19 443

Oracle 12c Development

Oracle12c的官方推荐参考书籍。 基本涵盖了Oracle12c开发的所有内容。 从一开始的创建用户,建表,索引,sql,存储过程等,部署等。 强烈推荐

2016-06-16

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

TA关注的人

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