- 博客(121)
- 资源 (1)
- 收藏
- 关注
原创 alphaGo的前世今生,并不那么玄乎
这一篇引来朋友圈一大片热潮,欢呼人工智能时代的真正到来,但是这是在规则确定明确的场景,在很多需要标注的场景还是玩的不太开,需要外部给予反馈,而围棋场景最终反馈是确定了。不过从研究角度看出,如果要深耕一个领域真的要有十足的耐心、长久的坚持并且持续创新引领,并且时不时回过头来review下以前的方向是否在新时代下是否用新的方法是否可以更上一层楼!
2017-10-30 00:06:42
985
原创 随笔
电子时代经过有晶体管到硅片的进化,硬件介质发生变化,并在持续跟进中,包括量子态。从模拟电子到 数字电路,更加可计算。 体系结构也在不断的更新换代,并逐步存留下来intel的x86架构, 移动领域的arm架构, 当然也有国产运用的mips架构(用的太少);目前大都脱离不了冯若依曼体系,计算、存储单元,最基本的ALU单元。 上层系统运用也在发生变化, 操作系统
2015-12-15 22:29:57
544
原创 关于归一化
归一化在机器学习中经常避不过的一环。1、归一化方法:单纯数学层面的归一化(一般是0~1.0, 或者0~100, ): 1)除于最大:score = x/ max 2) 除间隔: score = x-min/ (max-min) 3)利用指数性质: score(x) = sigmoid(x), 或者其他类似的函数。 归一化到同
2015-12-14 21:35:58
1410
原创 一个日志挖掘流系统
在某厂工作中这个业务系统的复杂由于数据的庞大造成的。分为实时部分、批量挖掘部分。 由于批量挖掘系统利用hadoop的map reduce挖掘, 假设所有输入的数据位(DataA)一起合并到一个对外服务的分布式的key-value数据库(设为DataBase的A表)中, 数 据量大,挖掘就成长,从用户行为日志产生到最终灌入DataBase中最长有大约48小时的延时。中间结果都保留
2015-12-14 00:02:48
638
原创 一个简单的内存倒排索引
有任务需要对用户的词,检索到相应的广告词。(个性化的广告词),概括为:通过简短(a,b,c,d) 检索出 广告词(A, B ,C, D)1、如果内存一个比较简单的是在内存中做索引。 内存建索引的节省内存的方法: 1)广告词索引:id1-> A; id2 ->B; id3->C; id4 ->D; 2) 细粒度词到广告词的倒排索引: 建立
2015-12-13 01:27:11
2356
原创 插播一条广告:LDA预测代码阅读
代码: https://github.com/madlib/madlib/blob/master/src/modules/lda/lda.cpp里面有lda的预测功能。/** * @brief This function samples a new topic for a word in a document based on
2015-12-03 13:43:54
1283
原创 TensorFlow的代码框架
阅读TensorFlow的代码框架:https://github.com/tensorflow/tensorflow 2015.12.1的情况如上所示: google 目录下主要是Protobuf 的包,也是google的开源工具之一,用于序列化,各种schema格式化,支持多语言(c++、python)之间的转换。 TensorFlow目录: 主目录,后面
2015-12-01 23:07:19
13253
原创 特征表达——统计、hash、embedding
在机器学习领域的特征,一般是一个id,而且给这个id赋一个值。1、这个特征值的表达一般可以通过统计的tf 或其他类似的数字表示。2、比较难于理解的是hash在特征表达里也能起到比较重要的作用。 通过对特征运用hash函数,获得对应的值。裁剪、分桶获取对应的位表示。可以用作特征,起到降维的作用。3、还有现在比较流行的是用embedding的方式,将特征映射到一定维度的实数空间里,相比h
2015-11-30 22:07:57
4886
原创 TensorFlow跟踪
从今天起跟进最新动态。 利用好这片自留地。读了Tensor flow的白皮书,很多宣传说是新的颠覆。但看来最大的颠覆是机器学习的跨平台、低成本话。抽象出公用的框架,支持单机、分布式以及利用GPU的训练与预测,能够在pc、智能手机上部署。最大的特点是将底层硬件抽象框架化了,并充分利用底层硬件的特性(比如GPU)。【话说lightLDA充分利用并行性使得训练非常快】Tensor的中文意思张量,
2015-11-29 22:38:50
2705
转载 习题3.2:不调用fcntl函数来实现dup2的功能
思路:用dup来实现dup2程序:#include #include #include int mydup2(int oldfd, int newfd){ int *p; int i = 0; if (oldfd == newfd) return newfd; close(newfd); p = (i
2012-04-25 11:08:40
610
原创 fedora上NS2.35在安装tclcl时找不到g++
当时一直想试 yum install g++不成功,而且 yum search g++的出的也只是Arm的交叉编译工具 应该: yum install gcc-c++,比较特别。
2012-02-21 16:12:52
912
原创 NS2.3 在 fedora上的安装出现 can't find X headers 以及 nam的make找不到 winutil.h
一、问题继前一篇,install 并没有生成各个目录的Makefile,发现问题:check for X11 include can't find X headers.网上查是X11目录下缺少 intrinsic.h 文件,二、解决方案网上说是下载 安装libxt-dev但是我用yum装不上,因为 我的机器是64位yum search libxt
2012-01-06 17:53:16
2233
原创 NS2.3 在 fedora上的安装出现 致命错误:X11/Xlib.h:没有那个文件或目录
一、问题在总目录下 ./install 出现以下问题:ns-allinone-2.35/tk8.5.10/unix/../generic/tk.h:76:23:致命错误:X11/Xlib.h:没有那个文件或目录二、解决办法 之前一直想 直接 yum install libx11-devel , 但是 不行 非常有用的 是 <!--@page {marg
2012-01-06 11:10:22
7632
原创 Linux下运用MMAP在进程间通信
由于在操作系统层面,各个进程所看到的虚拟地址空间是独立的,之间没有交集。因此需要通过中间一个关联将多个关联进程的不同虚拟地址映射到相同的物理地址空间中。MMAP 就是这么一个功能,它把一个文件(也就是在内存中的物理地址空间确定)映射到不同进程的地址空间中。一、写 值得注意的是由于MMAP需要内存中的物理地址空间,因此在写操作过程中需要将文件加载到内存中才能进行操作,因此在打
2012-01-02 17:31:07
1210
原创 柯老师的mudp.cc在NS2.35上的移植问题解决方案
最近移植柯老师的示例代码measure/mudp 相关的代码,发现了问题,但是网上也没找到解决方法,很多人有相同问题但是没有最后解决。1、在Makefile中不加 -fpermissive, 会报错误,说mUdpAgent 不能直接调用UdpAgent(), 在makefile中加入CCOPT = -Wall -Wno-write-strings -fpermissive
2011-12-26 17:29:41
5591
2
原创 NTPd执行出现“ERROR!! Could not get a new address”
ntp.conf还是上一文中的配置,没有做任何修改,其中第一个server的 ip为 10.2.2.23 第二个server的地址为baldwin.udel.edu,执行ntpdsim,得到如下结果:Successful in setting ip address of simulated server to: ::ffff:10.2.2.23ERROR!! C
2011-12-21 10:20:58
977
原创 NTP_simulation,NTP开放源码 的模拟配置问题,官方描述不正确
所用的ntp 开发包是 ntp-dev-4.2.7p56一、问题描述 NTP的模拟一直想用原汁原味的源代码来模拟,可惜一直卡在配置问题上,没有进展近两个星期。最终还是看代码修改了一条源代码的配置才搞定了,开源代码就是没有一个完善的文档,以及版本问题跟新系统。 用的是ntp.conf是官方网站描述的配置释例:# Client configuratio
2011-12-18 16:57:29
1488
原创 switch case注意问题,defualt 与位置无关
在阅读代码时发现有这样的代码,即在switch语句中default是在最前面的,原以为后面的是不会执行,实际上经过代码测试:default是与放置的位置无关的,就想case语句的不同于他们的先后顺序无关一样。 switch (my_opts->value.i) { default: NTP_INSIST(0); break; case T_None
2011-12-10 21:48:12
1534
1
转载 Configure,Makefile.am, Makefile.in, Makefile文件之间关系
自己:最近搞一个ntpdsim,一直没能生成libntpsim.a,所以一直没有成功生成ntpdsim。 原因是对makefile的理解一直不太深,尤其是对automake之类的应用,没有理解他们之间的相对关系,还一直想自己动手写一个完整的Makefile,但是相对于庞大的工程真是无能为力。偶然看到这篇文章讲解了整个体系,大体是autoscan 、aclocal、auto
2011-12-08 15:36:30
775
原创 #define的一个精妙用途,用来标记起始和结束
在NTP项目中,NTP.h中,#ifdef AUTOKEY#define clear_to_zero opcode u_int32 opcode; /* last request opcode */ associd_t assoc; /* peer association ID */ u_int32 crypto; /* peer status word */ EVP_PKEY
2011-12-08 11:53:34
2062
原创 找工作告一段落了,迟到的总结
虽然工作签了一段时间,但是迟迟没有写总结,一是因为实验室项目原因,二是实在没精神了修整了比较长的时间。11月17日签的工作,签到这份工作真的是我的运气,真的非常幸运。 拿到很多offer,感谢那些给我offer的公司,是他们增强了我的信心;同时也感谢那些鄙视我的公司,让我认识到自己的缺陷同时也认识到各位同仁的处事风格的BT。 感谢ZXW同学给借助他的老乡关系帮我
2011-11-27 20:24:18
972
转载 进程与线程的区别(转)
线程是指进程内的一个执行单元,也是进程内的可调度实体.与进程的区别:(1)地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间;(2)资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源(3)线程是处理器调度的基本单位,但进程不是.4)二者均可并发执行. 进程和线程都是由操作系统所体会的程序运行的基本单元,
2011-10-26 23:55:22
421
转载 操作系统 进程/线程 同步与互斥
1临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。 2互斥量:为协调共同对一个共享资源的单独访问而设计的。 3信号量:为控制一个具有有限数量用户资源而设计。 4事 件:用来通知线程有一些事件已发生,从而启动后继
2011-09-16 09:56:02
903
转载 操作系统死锁 四个必要条件
操作系统中有若干进程并发执行,它们不断申请、使用、释放系统资源,虽然系统的进程协调、通信机构会对它们进行控制,但也可能出现若干进程都相互等待对方释放资源才能继续运行,否则就阻塞的情况。此时,若不借助外界因素,谁也不能释放资源,谁也不能解除阻塞状态。根据这样的情况,操作
2011-09-15 17:06:42
3947
转载 const int *p,const * int p,int const *p
原文地址:http://sunjinming85.blog.163.com/blog/static/12119575201002794841503/1 从const int i 说起 有了const修饰的ic 我们不称它为变量,而称符号常量,代表着20这个数
2011-09-15 10:25:54
495
转载 关于常见排序算法的稳定性分析和结论
原文:http://hi.baidu.com/cuifenghui/blog/item/0587932b039557f9e7cd4051.html 这几天笔试了好几次了,连续碰到一个关于常见排序算法稳定性判别的问题,往往还是多选,对于我以及和我一样拿不准的同学
2011-09-14 09:31:55
613
转载 Bloom Filter概念和原理
Bloom Filter概念和原理焦萌 2007年1月27日 Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合
2011-08-29 11:22:53
544
原创 动态规划-poj1088 滑雪 ---增加了最优路径构建
一、有两种思路:1)根据记忆搜索(保存了最优值表格),在纯粹的递归思路里加入记忆表格。2)先将高度排序,然后依次从点由低到高 计算 该点的最长路径长度。(因为当矮点不可能通过高点,而比当前矮的点都在之前计算好了)----------------------------
2011-08-17 21:45:19
1335
原创 0-1背包问题,poj 3624 Charm Bracelet动态规划-解题报告,增加最优路径构建
1)0-1背包问题和 零碎背包问题是不同的,前者只能用动态规划来做, 后者可以用贪心算法。2)动态规划的核心是 “有多个重叠子问题”,“自底向上”解决问题。3) 0-1背包问题 ,W为最大重量,n为物体个数,求最大的价值Value,可在O(nW)的时间复杂度内解算出来。
2011-08-16 21:14:58
2535
原创 自己动手写的UART2驱动
昨天发现新唐的BSP中没有提供UART2的定义 即其操作,只定义了UART0和UART1及其驱动操作。但是涉及的板子中又弄了3路串口,当然UART2在其中。 第一反应就是查阅新唐的资料,NUC1**的前期设计文档中,有些说可以支持UART2,但是又有很多定义的地方都Reserve了,就是本该UART2相关的位却为保留位。心里没谱。 没谱也没办法,咬咬牙开始吧。
2011-06-21 12:01:00
3051
原创 VC++动态链接库(DLL)编程深入浅出(带图)
1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用 DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以“动态”地引用和卸载这个与EXE独立的DLL
2011-05-20 15:23:00
846
原创 VC++动态链接库(DLL)编程深入浅出
出处:pconline 1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执
2011-05-20 11:10:00
783
转载 NTP 协议
<br />NTP: Network Time Protocal<br />一、定义:<br />为实现高精确度的时间同步,而设计的网络时钟同步协议。在Linux系统中,它的最新实现是NTP 4.0(一个分布式的网络时钟同步程序)。相关定义和实现参看RFC1305和www.ntp.org。NTP协议属于应用层协议,是用于在分布式时间服务器和客户端之间进行时间同步的,它定义了协议实现过程中所使用的结构、算法、实体和协议。NTP协议是基于IP和UDP的,也可以被其它协议组使用。NTP是从时间协议
2011-05-13 14:56:00
1556
原创 C#下调用JustinIO的串口通信问题
运用JustinIO做和串口通信的程序过程中遇到两大问题: 1)SetCommState 一直不成功; if (!SetCommState(hComm, ref dcbCommPort)) { uint ErrorNum=GetLastError(); throw (new ApplicationException("Comm Port Can Not Be Opened2"));
2011-04-07 20:53:00
1089
原创 一个简单的文件处理--16进制数据统计分析
#include "stdafx.h" #include #include #include #include using namespace std; const char * str1="offset_lr offset: "; #define BUFFERSIZE 128 char StrBuffer[BUFFERSIZE]; #define SIZE 49 int SMALL_COUNT[SIZE]; int LARGE_COU
2011-03-03 23:21:00
1681
原创 C语言结构体中的位域
结构体中的位域会强制对齐,而且与申明的类型有关,例如char 则按8bit压缩对齐,int按32bit压缩对齐。 以上程序输出打印的是1,即1个字节 以上程序打印的是4,即4个字节
2011-02-28 22:25:00
778
原创 计算机体系结构--粗浅认识
计算机体系结构我认为的主要的三个概念:数据、地址、控制。任何时候数据都是保存在各种存储介质中的对于用户有用的信息表示,而地址对于各种存储介质具体位置的标示,控制用于控制数据的运算与表达以及地址之间的转换以及地址与数据的关联表示。 一、数据 数据是存储在各种存储介质上的信息表示方式,不一定与用户所看到的具体内容完全一致,可能是经过各种标志位混合以后的表示,也有可能是经过加密之后的信息存储。数据用来表示各种信息,大都时候需要运算这些数据,同时很重要的是数据之间有着关联,数据之
2011-02-26 17:24:00
1697
原创 字符串数组与指针
因为这两个小问题折腾了一晚上。 1、错误:运用字符串指针: char * sequenceStr; if(ch!='/r') { *(sequenceStr + i) = ch; //出错,没有分配就赋值,出错,但是编译的时候没报错 sysPrintf("i:%d/n",i); i++; } 最好是申明为字符串数组 char se
2011-02-20 22:23:00
716
jpegsrc8( 8 version)
2010-01-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人