2013年2月20日

摘要: 今天早上正式开始做实验五,地址映射与共享。实验五共分为三个部分,今天早上做的是它的第一部分,就是在命令行下,用bochs提供的汇编级调试器对linux内核进行调试,实验里调试的是一个简单的程序:#include <stdio.h>int i = 0x12345678;int main(void){ printf("The logical/virtual address of i is 0x%08x", &i); fflush(stdout); while (i) ; return 0;}我们在这里要做的事情是手动找到一个变量的值,然后在程序运行期间当场修 阅读全文

posted @ 2013-02-20 14:29 SnakeHunt2012 阅读(335) 评论(0) 推荐(0)

2013年2月18日

摘要: 看的第二篇文章是《A Proposal for the Dartmouth Summer Research Project on Artificial Intelligence》,这是AI领域的开山之作,是当年达特茅斯会议上各路大牛们为期两个月的讨论结果。边看这篇文章边在wiki上科普这些年AI 这个领域到底发生了什么。当时会议总结出了七个方向。Automatic Computers这条结论到今天仍然适用,他说他们坚信任何一个人类可以做的工作,都可一写出一个程序来自动完成。即使的计算能力有限(当年),但内存,速度什么的都不是问题,问题是我们能否利用好这些资源。当时的计算能力跟今天的计算能力相比 阅读全文

posted @ 2013-02-18 21:18 SnakeHunt2012 阅读(1264) 评论(0) 推荐(0)

摘要: 回家之后读了两篇文章,第一篇是以前老师推荐的《A Few Useful Things to Know About Machine Learning》,里面介强调了几个机器学习领域一些书上学不到的重要常识,还有一些需要特别注意的地方。Learning = Representation + Evaluation + Optimization学习 = 表示 + 评价 + 优化,这没什么可说的了。表示方法确定了你能表示的空间是哪些,取决于你的问题是什么。而评价函数为你的优化过程提供方向,其实就是一种衡量,衡量你现在的状况:好,有多好;坏,有多坏,而且通常都用你的失真程度来衡量(J(theta) = 预 阅读全文

posted @ 2013-02-18 21:08 SnakeHunt2012 阅读(1737) 评论(0) 推荐(0)

摘要: 今天主要写了NER,原来之前的NER是从外部输入是Unicode的,他在内部转换为GBK再处理的,最后又转换为Unicode输出的。原来在 Windows上,直接写在代码里的是Unicode的。因为如果字符串常量前面加上大写的L就表示这个字符串是Unicode编码。然后就是解决最后头 疼的问题,就是怎么把wchar_t传给crf++,因为crf++传进去的应该是char型变量,而我现在是unicode的wchar_t,所以就涉 及到一个转换的问题,还好在网上找到了一个解决方案:把char*转换为wchar_t*用stdlib.h中的mbstowcs_s函数,可以通过下面的例子了解其用法:cha 阅读全文

posted @ 2013-02-18 16:56 SnakeHunt2012 阅读(384) 评论(0) 推荐(0)

摘要: 今天晚上大概把之前的NER代码熟悉了以下,估计这几天就要在Windows下过了,直到把Win下的NER写完。晚上把那几个无关的工程都去 掉了。就剩下一个NER的工程,而这个NER的工程里面其实还有很多代码是可以去掉的,师兄说下学期要往里加一些比如规则等功能,所以有关的代码我就没 删,一方面是留着以后也许会供来参考另一方面我也并不是非常熟悉代码结构。目前为止,略改过一遍的函数有:NER_DLL.cpp里面的int LoadResource(const char* path) - 这是用来输入模型路径的void* CreateNErecoger() - 这是用来创建IRNErecog那个对象的vo 阅读全文

posted @ 2013-02-18 16:55 SnakeHunt2012 阅读(202) 评论(0) 推荐(0)

摘要: 需要广泛借鉴其他领域的思想,只在一个领域思考,再聪明的人也都是被局限着的,大自然本为一体,况且计算机有关领域还都是人的贡献更多,所以非常有必要吸纳其他领域的精神。神经网络,现在人们对他的认识是,一层一层进行学习知道最后出结果,最开始是一个结果,也就是classification问题,后来输出层可以有很多节点,也就是multi-classification问题,但渐渐地人们会逐渐意识到,其实每个节点都有自己的意义。如果想真正模拟大脑,就需要将不同问题的神经网络嵌合在一起,虽然彼此是解决不同问题的,但期内部很有可能都在遵循着同样的道理,或许应该让他们共享相同的输入层,然后就如同common lis 阅读全文

posted @ 2013-02-18 16:53 SnakeHunt2012 阅读(162) 评论(0) 推荐(0)

摘要: 训练模型是需要数据足够的,我们把训练数据看作是能量。那对于一个10次多项式的模型来说,在训练的过程中可以看做其中有10个数据的能量是用来搭建模型 的,然后剩余的数据能量是用来调整这个模型使之优良,也就是使之对训练样例全体的误差合最小。然而如果你所拥有的能量小于十个独立点的能量,也就是没有达 到建立模型的那个临界。那么你训练出来的根本就不是一个模型,用这个东西进行预测得出的结果也许就是随机数。众所周知,要猜一个二次多项式,需要至少三个点。要猜一个十次多项式,需要至少十一个点。我认为对于训练过程来说,每一种模型都需要一个初始的能量来确定模型,然后剩余的能量才真是用来训练的。剩余数据越多,训练的效果 阅读全文

posted @ 2013-02-18 16:52 SnakeHunt2012 阅读(367) 评论(0) 推荐(0)

摘要: 应该写一本算法代码集,因为从过去的经验看来,每次写代码都要参照之前写过的代码,例如结构体怎么设计、变量取什么名、那个变量什么类型好。更多情况是为了追寻统一的风格比如C要写成K&R型的,并且遵循硬件资源最省,比如sunner有一课就讲了:for (i = 0; i < n; ++i) for (j = 0; j < n; ++j) num[i][j] = 0;与for (j = 0; j < n; ++j) for (i = 0; i < n; ++i) num[i][j] = 0;的复杂度虽然一样,但耗费的时间和资源仍然相差非常大,这是因为CPU的内存分页管理的 阅读全文

posted @ 2013-02-18 16:44 SnakeHunt2012 阅读(149) 评论(0) 推荐(0)

摘要: 无关领域之间的相互学习很有可能是必须的。联想很有可能发生在潜意识层,至少发生在睡眠与清醒之间 那一层,因为那个时候最能涌现出无关事物之间的相似比喻,而醒来之后却发现这根本看不出联系,所以很有可能,这些比喻比我们意识上理解的比喻要宽广,而且 要广博的许多。而清醒时所能识别出来的的比喻很可能只是很少很少的一部分而已。而且跟你在一起的时候我也发现,在半睡不醒的时候你可以做很多动作,但你自己并不只懂。另外Deep Learning(RBM)为什么会效果突然变好,还没有人知道,这是个切入点。很肯能这里面蕴含着真正意义上的智能,"深度分析",思考的本质?怎么设置,每一层分配几个,分配几层,这些都没人掌握其 阅读全文

posted @ 2013-02-18 16:43 SnakeHunt2012 阅读(150) 评论(0) 推荐(0)

摘要: 晚上对CRF++的效果做了一下测试,结果证明这个CRF++比较厉害,我不知道其他算法效果怎么阿越难过,但是这个结果我觉的比较高了就:third: 42322forth: 41785third_and_forth: 41785P value is: 1.000000R value is: 0.987312F value is: 0.993615一共投放了42322个实体共召回41785个实体而且这41785个实体全部正确准确率 100.00%召回率 98.73%F值 99.36%另外在这次实测中,尝试过下面几种方法来匹配Unicode全角字符:$full_width = qr/[\x{1100} 阅读全文

posted @ 2013-02-18 16:42 SnakeHunt2012 阅读(142) 评论(0) 推荐(0)