- 博客(11)
- 收藏
- 关注
原创 spark头脑镜像
思考是一件有意思的事情。遇到问题,思考出结论,那么脑子里面的过程是什么呢,或者脑子里面是什么呢。我一直认为,这团团的里面是一个模糊的n维空间。理解一个复杂的系统、公式、算法,都要在这个n维空间里具象化。这个具象化的镜像的精确度就代表了理解的深入度。想起了,考研的时候,太用力,每天晚上脑袋里镜像不断刷新的画面。最近一直在折腾spark,项目赶得飞快,理解上的问题也一直在积压。
2018-02-06 17:22:41
392
原创 个性化推荐调优:重写spark推荐api
最近用spark的mlib模块中的协同过滤库做个性化推荐。spark里面用的是als算法,本质上是矩阵分解svd降维,把一个M*N的用户商品评分矩阵分解为M*K的userFeature(用户特征矩阵)和K*N的productFeature(商品特征矩阵),由于K远小于N和M,存储和计算获得相应的优化。这样对于一个用户a,推荐100个商品怎么做呢?取a的特征向量(1*K)和productFeatur
2017-12-25 22:47:24
800
原创 itk smartpoint 以及内存管理研究
对itk中的内存如何管理一直都是模模糊糊,用的都是只能指针,感觉很像cocos中的内存管理。但是由于自己的程序经常要对一段很大的连续内存进行分配和释放,导致老是内存分配失败,是要好好研究一下了。看了源码,才发现,内存管理就是用智能指针和引用计数来实现的。class object{public: void register() { ++m_reference; } voi
2015-01-22 09:55:38
1320
原创 解决不掉问题,肯定是自己的问题
老是犯这样的错误,解决不掉问题,排查了100遍,认定了自己没出错。那就是库的问题,语言的问题,框架的问题。可是最后永远被打脸!课题算法流程中的一个算法用了VTK中的一个算法,结果为空,排查了N遍。因为VTK自己不熟,文档很烂,反正后来不了了了之。偷懒换了方法,想把这个过程绕过去,结果绕了一个月,此路不通。绕回来才发现,过滤器没掉用update,就像出结果。多么多么傻逼的错误啊!
2015-01-20 19:22:58
653
原创 多线程小结
多线程中的4个概念:关键段、互斥量、事件和信号量。其中关键段非内核变量,只能用于线程间同步问题,而其他的都是内核变量可用于进程间同步。关键段和互斥量一般用于互斥,因为他们有线程所有权的概念,拥有线程所有权的线程(通常是主线程)无视约束,可重复进入关键段。但是我想在子线程之间这个应该是可以用于同步的吧(有待实验)。其中,互斥量可解决“遗留问题”(即线程在释放互斥量前死亡造成的同步问题),这个是4个中
2014-12-28 21:41:41
527
原创 欧拉图
1.无向连通图G是欧拉图,当且仅当G不含奇数度结点(G的所有结点度数为偶数);2.无向连通图G含有欧拉通路,当且仅当G有零个或两个奇数度的结点;3.有向连通图D是欧拉图,当且仅当该图为连通图且D中每个结点的入度=出度4.有向连通图D含有欧拉通路,当且仅当该图为连通图且D中除两个结点外,其余每个结点的入度=出度,且此两点满足deg-(u)-deg+(v)=±1。(起始点s的入
2014-12-28 16:13:05
937
原创 一些关于概率的算法的个人总结
第一个大概是我人生中的第一次面试遇到的问题吧。问题如下:如何随机出0~n之间的整数,并且每次随机出的数字不能相等但要求随机出的每个数字的概率是相等的。作为一个初涉计算机(虽然是研究生了,起步略晚)对自己又有极大自信的我,想出了各种方法,然后一一被面试官拍死。面试完后在《编程珠玑》的习题上看到了解法:构造包含1-100的顺序数组s,数组内的值等于其下标,最大的数是max=100。然后rand(0
2014-12-28 15:10:16
983
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1