- 博客(25)
- 资源 (2)
- 问答 (2)
- 收藏
- 关注
原创 进程与线程
进程是正在运行的程序,包括程序代码以及程序运行的所有状态信息(进程控制块)进程的状态: 进程是资源分配的最小单位,线程是资源调度的最小单位。为什么这么说,进程间的通信开销很大,要在系统内核里面绕一圈,为了减小开销所以有了线程的概念。线程是进程的一部分,线程是进程的指令执行流。所以与指令执行流有关的东西都被抽取出来。包括一部分堆栈寄存器。线程之间共享一部分进程资源,但是也有自己独立的部分,线程也有自
2016-09-05 16:30:56 213
原创 动态规划心得总结(陆续添加...)
动态规划:这里首先要明确子问题是什么。子问题的最优解构成了最终目标问题的最优解。这句话就要深入理解,最终问题的子问题有多个,比如钢条切割问题中(详见算法导论)从不同位置切割划分出不同的子问题,但是在这些子问题当中,一定有一个构成了最优解,那么我们把所有的子问题都找出来。这里找出所有的子问题相当于找出最后一步的所有子问题,然后在在子问题中去找子问题,要注意的是与枚举所有可能的情况不同,比
2016-08-29 15:42:46 686
原创 散列表、散列函数
直接寻址法,浪费空间。散列函数: (1)除法函数:h(k)=kmodmh(k) = k mod mm的选择:一个不太接近2的幂次的素数。 (2)乘法函数:h(k)=m∗(kAmod1)h(k)= m * (kA mod 1)k乘以A之后取小数部分再乘以m.在这里m的选择不是重点。通过散列函数将k映射到一个值最容易造成冲突。解决冲突的两种方法: (1)链表法:顾名思义 (2)开放寻址法:
2016-08-28 20:22:33 410
原创 JAVA序列化
1、什么是序列化序列化就是把对象转换成字节方便存储以及传递,并且可以在从字节重构对象的一种机制。2、序列化的作用:分布式处理中对象的传递。负载均衡以及故障转移3、serializable接口:java 中一个对象要声明为可序列化的对象,只要继承Serializable接口就可以了。Serializable接口不含有任何方法。一个对象被序列化,则其中的所有实例变量要么是基本类
2016-08-25 15:26:27 319
转载 从头到尾彻底理解KMP
从头到尾彻底理解KMP作者:July时间:最初写于2011年12月,2014年7月21日晚10点 全部删除重写成此文,随后的半个多月不断反复改进。后收录于新书《编程之法:面试和算法心得》第4.4节中。1. 引言 本KMP原文最初写于2年多前的2011年12月,因当时初次接触KMP,思路混乱导致写也写得混乱。所以一直想找机
2016-08-10 13:42:35 627
原创 神经网络的正则化
神经网络的vc dimension的值与 神经元的个数以及权重的个数有关。所以个数越多,神经网络模型越强大越复杂。相应的就有可能出现过拟合的现象。那么如何预防过拟合呢,有两种方法。正则化项,这是最常见的方法,不同的是,神经网络用梯度下降法优化权重,所以需要损失函数是可导得,如果使用L1正则化项,就不可导了。那么L2正则化项呢,我们知道L2正则化项不能让权重等于零,这样就
2016-07-27 12:02:16 484
原创 随机森林------random forest
决策树 先说下决策树吧,具体的算法什么的就不讲了,很基本的东西,网上有很多。主要总结下三种特征选择的优缺点。ID3 基于信息增益做特征选择,所以很容易受到某一特征特征值数量的干扰。信息增益会偏向于属性值多的那一个属性。所以C4.5采用了信息率作为特征选择的标准。信息率就是在信息增益的基础上除以一个值,这个值与属性值的数量有关,属性值的数量越多该值越大,那么信息率也就越小。那么信息率就偏向于选择那些
2016-07-24 21:04:51 1755
原创 Adaboost ,gbdt 原理详解
1、Adaboost 我们先不谈数学模型,先说一下adaboost的原理,这样更方便理解举个例子,我们说在一个班级上,我们给了十幅图片希望小朋友们可以学习出那些是苹果。 那第一个小朋友可能说苹果是圆的,按照这个规则我们分了一下发现确实可以把一部分苹果分出来,但是又有一些分错了,这时候老师把这些分错的图片放大,那下一个小朋友可能就会更加关注分错的那一部分图片,然后提出一个新的规则可能说苹果是红的。
2016-07-21 21:21:00 4869 1
原创 过拟合与正则化
今天想说一下对过拟合与正则化的理解上次说过我们把非线性的数据通过函数ϕ(x)\phi{(x)}映射到另一个空间会达到线性可分的效果,但是相应的特征值也会增加,也就是维度增加,使得Ein,EoutE_{in},E_{out}有比较大的差距。在特征很多的情况下,我们可能很容易的学得一个较小的EinE_{in},但是EoutE_{out}很大,这时候就会发生过拟合 如上图就是对应的过拟合和欠拟合的特征。
2016-07-19 21:35:24 953
原创 非线性分类器---非线性转换解决非线性分类问题
我们已经知道了对于线性可分的数据的分类问题,但是有些问题可能不是线性的分类器可以解决的。Nonlinear Transform 如上图所示的数据,一条直线无法分割的数据我们可以用圆来分割。圆圈外的点是叉叉而圆圈内部的点是圈圈。那么我们来看,我们可以对上述的分类函数做一个转换,使得其变成线性函数。我们将x21x_1^2映射为z1z_1将x22x_2^2映射为z2z_2, 1映射为z0z_0,这样实际
2016-07-18 22:04:04 2804
原创 多分类器-----Multiclass classification
之前讲过线性分类器可以解决二分类的问题。 那么对于多分类问题该如何解决呢? 一种思想是我们可以把多分类问题转化成多个二分类问题。也就是拿出一个类别与其他所有类别进行比较。比如上图我们可以把方块作为正类其他的作为父类进行判别。 通过多个分类器我们就可以划分出多个类了。那么这种思想还不完善,存在什么问题呢? 对于某一些区域的点来说多个分类器都抢着说这是我的类,对于有的区域大家又都说不是我
2016-07-18 10:58:17 7203
原创 JAVA 静态嵌套类、内部类
说道静态嵌套类,因为有static修饰那么顾名思义,它就是属于类本身的,那么在分,如果有private修饰,说明该嵌套类是私有成员,不能再外部创建(感觉就像私有方法一样),只能被类内部的方法访问创建。而public修饰的静态嵌套类则属于公有成员,所以可以在外部被访问,而被访问的方法与一般的静态成员也没有区别,类名.静态嵌套类名。public class Invoice{ pub
2016-07-17 22:13:25 1055
转载 Java并发编程与技术内幕:线程池深入理解
林炳文Evankaka原创作品。转载请注明出处http://blog.csdn.net/evankaka 摘要: 本文主要讲了Java当中的线程池的使用方法、注意事项及其实现源码实现原理,并辅以实例加以说明,对加深Java线程池的理解有很大的帮助。 首先,讲讲什么是线程池?照笔者的简单理解,其实就是一组线程实时处理休眠状态,等待唤醒执行。那么为什么要
2016-07-16 15:35:23 2311
原创 VC Dimension
vc dimension 是什么? 上一次又讲到 break point的定义,break point = k 就是说N=k的时候,这k个点开始不能被shattered,那么dVC=k−1d_{VC}=k-1也就是能够被shattered的点的最大的个数。之前有讲过说,在break point = k 的时候,数据规模是N,那么成长函数mH(N)≤B(N,k)≤∑i=0k−1(Ni)m_H(N)\
2016-07-14 10:14:00 1991
原创 机器学习中假设函数泛化能力的验证(下)
之前说到在M有限的情况下,也就时假设空间中的假设函数的个数有限的情况下,我们可以保证,当N足够大的时候,对于假设空间中的所有假设函数h(x),Ein和EoutE_{in}和E_{out}没有太大差别,那么我们就可以安心的选择一个EinE_{in}最小的假设函数,他的泛化能力得到了保证。那么在M无限大的情况下呢?P[(Ein(g)−Eout(g))≥ϵ]≤2Me−2ϵ2NP[(E_{in}(g)-E_
2016-07-13 19:38:15 972
原创 机器学习中假设函数泛化能力的验证(上)
机器学习是通过现有的资料学习出一种假设函数,让这个假设函数尽可能的接近真实的函数。那么我们如何验证假设函数与真是函数之间的关系?对于一份验证数据D,我们把学习得到的假设函数h(x)应用到D上,会得到一个错误率。我们希望这个错误率与真实情况的错误率是接近的,这样当h(x)在我们所看到的资料上的错误率很低的时候,它在真实情况下的错误率也会很小。原理就是霍夫丁不等式:P[|v−u|≥ϵ]≤2e−2ϵNP[
2016-07-12 11:41:39 1713
原创 online learning
online learning: 线上学习不同于以往的批量学习,即给了许多的已标记好的资料来学习出一个假设函数,online learning 的学习资料也就是样例是逐个到来了,边学习边修正自己的假设函数然后,给出答案比如说样例到来的顺序((x(1),y(1)),(x(2),y(2)),...,(x(t),y(t)))((x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,
2016-07-12 09:44:20 937
原创 感知器-----preceptron
感知器是一种简单的线性分类器对于一组数据X=(x1,x2,...,xnx_1,x_2,...,x_n),其中每一个xix_i代表了一个属性值,那么这个属性值所代表的属性的重要程度可能是不同的,我们用一组权重的向量代表每个属性的重要程度,W=(x1,w2,...,wn)\mathbf{W}={(x_1,w_2,...,w_n)}这样对每一组数据我们可以计算出一个得分score,他可能代表了一些具体含义
2016-07-10 21:55:38 955
原创 信息熵--信息的度量和作用
一直对信息的作用感到不慎了解,看了数学之美中对信息的解释有种豁然开朗的感觉,虽然只是短短的篇幅却对信息的作用有个总体的把握。 信息熵 信息熵描述了信息的不确定性。信息的不确定性程度越高,那么我们就需要越多的信息来弄清楚事实。所以信息熵的大小描述了信息的不确定性也就描述了信息中所包含的信息量。不确定性程度越高,信息量就越少比如有32支球队,由于没有看比赛我们需要去问别人才会知道结果,在所有球队夺冠
2016-07-09 11:05:21 2787
原创 线性回归和逻辑回归
线性回归是为了预测,逻辑回归是为了分类。 线性回归线性回归的一般形式:f(x)=wTx+bf(x)=\mathbf{w^Tx}+b个人理解就是讲数据集中各个离散的点通过wTx+b\mathbf{w^Tx}+b映射到一条直线上。(受到之前讲LDA算法的启发)所以也就是要找到向量w,b确定w,b关键在于衡量f(x)和真实的y值之间的差距。我们希望差距越小越好,所以采用最小二乘法,最小二乘法就是基于均方
2016-07-06 20:37:49 508
原创 拉格朗日乘子法
拉格朗日乘子法:应用在求有约束条件的函数的极值问题上。 a. 对于没有约束的函数求极值,只要求导,令导函数等于零即可。 b. 对于约束条件是等式的函数。 目标函数:f(x), 约束条件:g(x)=0 求解f(x)在此约束条件下的极值。 定义拉格朗日函数 :
2016-07-06 14:42:06 1615
转载 机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)
机器学习中的数学(4)-线性判别分析(LDA), 主成分分析(PCA)版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gmail.com前言: 第二篇的文章中谈到,和部门老大一宁出去outing的时候,他给了我相当多
2016-07-05 20:37:19 420
转载 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使用,但请注明出处,如果有问题,请联系wheeleast@gmail.com前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的。在上篇文章中便是基于特征值
2016-07-03 22:05:21 332
转载 转自MIT牛人林达华的 “图˙谱˙马尔可夫过程˙聚类结构 ”————经典、透彻
## 转自MIT牛人林达华的 “图˙谱˙马尔可夫过程˙聚类结构 ”————经典、透彻 ## 题目中所说到的四个词语,都是MachineLearning以及相关领域中热门的研究课题。表面看属于不同的topic,实际上则是看待同一个问题的不同角度。不少文章论述了它们之间的一些联系,让大家看到了这个世界的奇妙。从图说起这里面,最简单的一个概念就是“图”(Graph),它用于表示事物之间的相互联系。每个图
2016-03-17 10:00:08 865
主机无法通过ip链接Linux Apache
2015-03-22
主机无法访问虚拟机中Linux的Apache服务器
2015-03-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人