- 博客(73)
- 资源 (1)
- 收藏
- 关注
原创 EM算法
EM算法 这里作为我的博客备份,因为markdown解析各家标准并不能做到完全一致,特别是针对一些数学公式,如有排版问题,请访问原文EM算法 获得更好的排版体验最近的工作中要借鉴到EM的思想,把EM又重新整理了下,总结此文。基本原理我们观察到的样本集,有时候仅仅是最终反映出来结果,即可观测的部分,而内在的一些隐含的因素往往不能被直接观察到,但算法不能忽略这些隐含状态,建模时要包含这些隐状态,而
2016-10-13 01:30:18 2349
原创 Proximal Algorithm 入门
Proximal Algorithm 入门 这里作为我的博客备份,因为markdown解析各家标准并不能做到完全一直,如有排版问题,请访问原文Proximal Algorithm 入门正则化是机器学习方法实践中用于避免overfitting的主要方法,给优化目标加上基于L1、L2的正则项是常用的正则化方法。之前自己在实现一些机器学习方法时一直是使用L2的方法,因为L2正则项有连续可微的性质,在
2016-09-27 00:38:33 22211 6
原创 博客准备搬家
发现新浪的app engine看上去搞得不错,我打算迁移过去试一试,在此期间这个博客和在新浪的新博客http://luoleicn.sinaapp.com/ 将同时更新,试用新浪一段时间看看再决定是否彻底放弃这个旧的:)
2011-08-03 13:21:26 3010
原创 Bias-Variance Tradeoff
统计学习中有一个重要概念叫做residual sum-of-squares:RSS看起来是一个非常合理的统计模型优化目标。但是考虑K-NN的例子,在最近邻的情况下(K=1),RSS=0,是不是KNN就是一个完美的模型了呢,显然不是KNN有很多明显的问题,比如对训练数据量的要求很大
2011-07-28 14:22:33 14325 4
原创 CRF++注释版
CRF++是非常流行的CRF实现,但是作者整个代码下来几乎没有任何注释(crfpp.h注释较好),我差不多花了一个周末的功夫读了他的代码,并写了一些注释,虽然注释写的不规范,我觉得加了这些注释,对于想快速了解CRF++实现的人来说,顺利了解CRF++的数据结构和核心算法还是很容易
2011-07-10 20:23:48 8037 22
原创 最大熵的两个证明
《A maximum entropy approach to natural language processing》这篇论文是最大熵的经典论文。但是这篇论文仍然没有把最大熵模型完全推导出来,有些地方还是直接给的结论,这里补充两个论文中没有给出证明的地方,1、p(y|x)的推导,2、最大熵全局唯一极值的证明。内容来自清华大学最大熵的ppt 第一个问题: L拉格朗日法把有约束的
2011-06-08 18:34:00 7306 2
原创 牛顿法
平时经常看到牛顿法怎样怎样,一直不得要领,今天下午查了一下维基百科,写写我的认识,很多地方是直观理解,并没有严谨的证明。在我看来,牛顿法至少有两个应用方向,1、求方程的根,2、最优化。牛顿法涉及到方程求导,下面的讨论均是在连续可微的前提下讨论。 1、求解方程。并不是所有的方程都有求根公式,或者求根公式很复杂,导致求解困难。利用牛顿法,可以迭代求解。原理是利用泰勒公式,在x0处展开,
2011-06-05 17:11:00 81602 35
原创 开始MLFS项目
Machine Learning From Scratch项目的目的是通过一些应用场景,实现一些统计机器学习模型,主要目的还是个人的学习,是对模型的理解和熟悉,并不追求在某应用场景下的指标。我有这个想法已经有一段时间了,但一直也没能开始起来,这两天,先简单实现了一个隐马模型,算是作为开始吧。 之所以起Machine Learning From Scratch这个名字,是因为我仰
2011-06-05 14:05:00 10579 1
原创 SVN简介:enjoy时光机
<br /> 我们组要使用SVN共同维护,我写的一个说明文档,大家多指正:)<br />前言:<br />我是SVN初级玩家,只是结合SVN官方的文档以及网上的一点资料写的这个文档,目的是通过实际例子方便大家迅速掌握SVN,SVN官方文档很厚,而常用命令并不多,没有必要查看全部官方文档,水平有限,请多指正。<br />一、SVN基础介绍:<br />1.1SVN是什么?<br />Subversion 是一个自由/开源的版本控制系统。也就是说,在 Subversion 管理下,文件和目录可以超越时空。也就是
2011-05-17 22:03:00 5668 1
转载 马氏距离的几张截图
<br />这几张图太形象了,只好收藏了。来自:http://xgli0910.blog.163.com/blog/static/46962168201021932741868/<br /> <br /><br /> <br /><br /> <br /><br /> <br /><br /> <br /><br /> <br /><br /> <br /><br /> <br /> <br />mahalanobis距离是基于样本分布的一种距离。物理意义就是在规范化的主成分空间中的欧氏距离。所谓规范化的主
2011-04-14 21:31:00 17139 1
原创 在中国做唱片怎么赚钱
好久没更新,上来发发牢骚。前两天,看到一博同学人人状态上写的,某歌手刚出了新专辑,没两天某人渣音乐网站上就可以下载到MP3了,他不禁感叹在中国做唱片如何赚钱。我以为,他的理解大错特错了,有些事情是赚钱的,有些事情是赚吆喝的。在这片神奇的土地上,你指望着专心做好一件事情,是不可能“成功"的(这里的成功加了引号,是指这片土地上的普遍价值观的成功)。歌手出个专辑,卖的很贵阿,盗版不要钱阿。歌手虽然没有从盗版商那里直接得到Money,可盗版厂商比什么索尼阿、环球阿等鸟公司都更好的宣传了歌手,这下歌手火了,各种广告、
2011-04-14 13:56:00 4756 2
转载 Android,开源还是封闭?
<br />来源:http://www.ruanyifeng.com/blog/2010/02/open_android_or_not.html<br /> <br /><br />作者: 阮一峰<br />日期: 2010年2月 4日<br />满大街都在谈论Android。<br />它是当红炸子鸡。许多人觉得,iPhone将受到它的强力挑战。<br /><br />我也曾经对它充满了期待,但是后来的事态发展,令我改变了看法。前几天,我就在网志上写了自己的担忧:<br />“首先,Android应用程序
2011-02-11 23:06:00 2783
原创 nutch无法下载中文文件的问题[解决]
nutch无法下载中文文件的问题比如:http://www.example.com/中文.pdfwireshark抓包后发现是其无法正确encode中文。解决办法修改src/java/org/apache/nutch/fetcher/Fetcher.java 加上编码功能附上Fetcher.java:/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreeme
2011-01-10 22:39:00 4341
原创 Java函数传递对象与C++传递引用
我听说过这么一句话,“Java函数传参都是传递引用。”,貌似还很流行。不知道是不是Java没有指针概念的缘故,总之如果你学过C++,那就要记住,Java对象在函数间的传递不同于C++概念中的传递引用,如果不懂C++,无视这篇blog。不想纠结于概念,看例子。Java代码:public class Test { int a; public Test() { a = 0; } public Test(int a) { this.a = a; } pu
2010-12-15 13:42:00 5473
原创 SQL优化一则
前两天同学一个个性化在线新闻程序,跑的慢了起来,我参与讨论了调优方案的设计,分析原因是数据库规模增长,而且每次访问数据库又要访问挺多次的。当然最后决定使用强力的memcache来做,但是中间考虑了的一个数据库优化例子很有趣,记录一下。我们想要获得一个类别的最新30条新闻,最直接的使用sql语句:mysql> select * from newsrecommandation_baidunews where category_id='3' order by id desc limit 30;耗时0.44秒。变
2010-11-12 17:00:00 2747
原创 GDB调试STL容器
<br />GDB中print方法并不能直接打印STL容器中保存的变量,其实只要http://www.yolinux.com/TUTORIALS/src/dbinit_stl_views-1.03.txt这个文件保存为~/.gdbinit 就可以使用它提供的方法方便调试容器<br /> <br />Data type GDB commandstd::vector<T> pvector stl_variablestd::list<T> plist stl_variable Tstd::map<T
2010-10-26 23:48:00 16183 2
原创 实时索引一点调研
感觉实时索引一直是一个很神奇的事情,出于兴趣爱好,看了一点Twitter和Google的资料,总结为一个ppt,个人理解,不一定正确 Realtime searchView more presentations from luoleicn.
2010-10-22 01:58:00 2703
转载 一个关于O(N*logN)耗时下限的理论
from:http://hxraid.javaeye.com/blog/646760这里有一个疑问:是不是O(N*logN)是排序算法时间代价最好的极限呢? 当然不是,但是如果排序算法是基于"关键字比较"操作的,那么在最坏情况下确实能够到达的最好效果就是O(N*logN)了。 在最好情况下就没必要说了,如果待排序列基本有序,那么直接插入排序的比较次数都非常的少。 下面我们来证明一下(注意:这些排序算法的基本操作就是比较,其时间主要消耗在比较次数上)。现在有三个关键字K1、K2、K3。
2010-10-14 15:08:00 3786
原创 Java子字符串问题
<br />假设你有一个字符串s,并持有他的字串s',那么即使你不再持有字符串s的引用,JVM也不会使用垃圾回收机制回收s,这在SUN的网站上被报告为一个bug,http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4513622 。当然有人认为这是一个bug,也有人认为不是一个bug。<br /> <br />看一个代码:<br />public class TestGC { private String largeString = new Str
2010-10-07 22:37:00 1347
原创 推广Gentoo
Gentoo Linux官方网站:http://www.gentoo.orgGentoo 香港同步源:rsync://rsync.asia.gentoo.org/gentoo-portageGentoo 厦门大学软件下载源:http://mirrors.xmu.edu.cn/gentooLinuxsir Gentoo讨论区:http://www.linuxsir.org/bbs/forum59.html希望大家能从Gentoo Linux中体会到自由和选择带来的快乐,如果在使用Gentoo的过程中遇到了什么
2010-09-17 13:51:00 1874 3
原创 搜索引擎中的文档划分
对于大规模文档索引,因为无法存储在单机中,所以需要在分布式环境下进行一个划分,划分方法有两种term partition和doc partition。Doc partition已经被证明更适合在搜索引擎中使用(Google也使用这种划分),简言之Doc partition就是把大规模的文档集合分成很多小的文档集合,每台索引服务器仅仅索引一个小的文档集,当Query到来时,把query分发到各个索引服务器上,索引服务器在自己的索引文件上检索并返回结果,最终把这些结果整合返回给前台用户。上面的描述忽略了一个问题
2010-09-15 20:18:00 973
原创 Fuck the Editor of Eclipse
<br /> <br />今天用Eclpise编辑Java程序,其中有个步骤要用OutputStream往文件里写东西,其中包括'/0'字符,大概意思就像下面的代码片段:<br />public class Test { public static void main(String[] args) throws IOException { OutputStream out = new DataOutputStream( new FileOutputStream("data.txt"));
2010-09-13 20:32:00 934 1
原创 ibus输入法不跟随光标的解决办法
<br />vim /etc/gtk-2.0/gtk.immodules<br /> <br />修改ibus相关的为:<br /><br />"/usr/lib/gtk-2.0/2.10.0/immodules/im-ibus.so"<br />"ibus" "X Input Method" "gtk20" "/usr/share/locale" "en:zh"
2010-09-08 19:34:00 6097
原创 Openmp简单例子
<br />/* * Compile: * g++ a.cpp -fopenmp * * 速度明显提升一倍(双核) */#include <iostream>using namespace std;static long long num_rects = 1000000000;int main(int args, char** argv){ double mid, height, width, sum = 0.0; int i; d
2010-09-04 21:38:00 1486
原创 网页数据库docid的分配
<br />搜索引擎是个处处体现细节重要性的地方,它完全在短板效应的控制下。就连如何给网页集合分配docid都成了一个需要纠结的地方,下面是一些方案。<br /> <br />1)随机分配docid,简单,不用经过大脑。<br /> <br /> <br />2)按url分配,但不是简单的按照url直接排序分配,而是要反转域名。如www.example.com/case.html要转化成com.example.www/case.html 这基于一个假设,相同后缀url(com、edu、gov)往往是同一类型
2010-08-25 20:29:00 4850 1
原创 索引的一种组织形式
<br /><br /> <br />之前考虑可以把所有的term都放在内存里,因为即使像GOV2 http://ir.dcs.gla.ac.uk/test_collections/gov2-summary.htm这样的语料库,所有的term和也只有4.9*10^7个,是可以考虑把其放入内存中的,但考虑到很多商业公司考虑的多元索引技术(比如把Information Retrieve作为一个词单独索引),这样就会大大加大索引的数量,这样内存可能就未必放的下,有实验表明如果按将要介绍的方法组织索引,对性能的损耗
2010-08-09 21:59:00 1456
原创 定制Lucene的一点想法
<br /> <br />Lucene是一个很好的开源全文索引工具,我觉得作为一个追求高效的专门应用还是有可改进的空间,简单了解了Lucene的一些索引机制之后,有了一些粗浅的想法,如有错误请不吝指出。<br /> <br />1)首先专门的应用一般要把Index Servers和doc Servers分开,所以像Lucene中保存词的偏移量和位置,还有可能要考虑的词的特征(锚文本、加粗等)信息以及Field的内容完全可以放在doc Servers中,Index Servers中可以仅仅保存倒排prx文件和
2010-08-03 21:10:00 854 1
原创 Duff's device神奇的switch
<br />看一段代码:<br />#include <stdio.h>int function(void) { static int i, state = 0; switch (state) { case 0: /* start of function */ for (i = 0; i < 10; i++) { state = 1; /* so we will come back to "case 1"
2010-08-01 16:08:00 1812
原创 java io调优 Tuning Java I/O Performance
<br />http://java.sun.com/developer/technicalArticles/Programming/PerfTuning/
2010-08-01 10:38:00 1043
原创 关闭tcp连接
<br /> <br /> <br />luolei@localhost ~ $ sudo netstat -a | grep ssh<br />tcp 0 0 192.168.1.10:40278 *.*.com:ssh ESTABLISHED<br />unix 2 [ ACC ] STREAM LISTENING 7565 /tmp/ssh-UYvolk4882/agent.4882<br /> <br /><br /
2010-07-28 19:14:00 871
原创 磁盘文件排序--blockSort和MRSort
<br />今天看到了在Nutch的文档里说的BlockSort,见http://wiki.apache.org/nutch/WebDB <br /> <br />blockSort的排序方法是如果文件大小是可用内存的K倍,就先把1/k读入内存,进行排序后写入一个新文件,依次操作之后,就能得到K个文件。然后打开这k个文件,读取每个文件的头一个元素并进行比较,把最小的写入磁盘,然后从提供最小的元素的那个文件中读下一个,依次类推,可以最终得到一个完整的排序。<br /> <br />要注意的是,如果内存够大,m
2010-07-24 09:06:00 1446
原创 HBase安装
官方文档:http://hbase.apache.org/docs/current/api/overview-summary.html#overview_description1)修改打开文件句柄数http://blog.csdn.net/luoleicn/archive/2010/07/21/5752479.aspx2) make sure you configured Hadoop's conf/hdfs-site.xml with this:dfs.datanode.max.xcievers20473
2010-07-21 16:37:00 1789 1
转载 修改操作系统打开文件数限制
<br /> Linux: Increasing the number of open file descriptors<br />See additional more recent notes at the bottom of this file<br />A small number of open file descriptors (sockets) can significantly reduce both the performance of an Internet Server and the
2010-07-21 14:19:00 3781
原创 哈佛:孰对孰错 中英字幕 What's the right thing to do
<br />1 http://v.youku.com/v_show/id_XMTQ3NDg5MDQw.html<br />2 http://v.youku.com/v_show/id_XMTU0MTY5OTE2.html<br />3 http://v.youku.com/v_show/id_XMTU3ODQ4NzY0.html<br />4 http://v.youku.com/v_show/id_XMTY2NTY5NzYw.html<br />5 http://v.youku.com/v_show/id
2010-07-17 20:51:00 1492
原创 gcc-config: error: could not run/locate 'gcc'错误
<br />今天更新了Gentoo,居然发现这个错误,gcc怎么也不好使了,后来通过gcc-config恢复了gcc,记录一下。<br /> <br />首先gcc-config -l,我的输出是:<br />i686-pc-linux-gnu-4.4.3<br /> <br />然后gcc-config i686-pc-linux-gnu-4.4.3<br /> <br />
2010-07-11 10:24:00 1989
原创 Hadoop使用ByteWritable时的一个注意事项
<br />今天使用ByteWritable时候遇到了问题,浪费了好多时间,最后通过查看ByteWritable的源代码才解决这个问题。分享一下,希望能帮助别人节约点时间。<br /> <br />自己写了一个类继承了RecordReader<IntWritable, BytesWritable>,在这里value是使用BytesWritable,并且打印了一下byte[]<br /> <br />for(byte b : contents){ System.out.print(b);}Sys
2010-07-05 19:17:00 7219 2
原创 MapReduce和分布式数据库之争
<br />说实话两者并不是一样的东西,但是这些大牛们居然争得不可开交,留下几个链接:<br /> <br />MapReduce: A major step backwards<br /> <br /> MapReduce and Parallel DBMSs: Friend or Foe<br /> <br />MapReduce: A Flexible Data Processing Tool
2010-06-17 19:36:00 831
原创 Hadoop实验
<br /> <br />一台master,一台slave10G数据total order排序用时2694秒<br /><br />Launched map tasks=160<br />Data-local map tasks=160<br />Launched reduce tasks=1<br /> <br />10G数据,一开始一台slave,动态加入第二台slave,使用负载平衡,转移4.5G数据到第二台slave,两次一次用时1543秒,一次1380秒<br /><br />Launched r
2010-06-13 21:37:00 1129
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人