摘要:今天看了APUE的Chapter12 Thread Control的内容,记录一下看书的心得与示例code。这一章的内容是对Chapter11 Threads(见上一篇日志)的补充,大部分内容都是理论上的分析提点,大概就是告诉读者:你先知道pthread有这么个特性,如果将来遇到了可以去查查。(一)...
阅读全文
摘要:看完了APUE第三版的Chapter11 Threads,跟着书上的demo走了一遍,并且参考了这个blog(http://www.cnblogs.com/chuyuhuashi/p/4447817.html)的非常好的example。下面的内容就是看书过程中记录的,可以作为一个参考,但决不能代替看...
阅读全文
摘要:本来是搜pthread的相关资料,看blog发现很多linux程序员都看的一本神书《APUE》,里面有系统的两章内容专门讲pthread(不过是用c语言做的代码示例,这个不碍事,还是归到原来linux c++分类中了),决定把这本书打印出来,过一下这两章内容。这个系列后面的日志会根据APUE书中的内...
阅读全文
摘要:今天得空继续扫了一下(https://computing.llnl.gov/tutorials/pthreads/,这次没有用c++,直接参考的tutorial中的c语言实现)pthread中提供的另一种线程同步的方法:condition variables既然已经有了mutex,为什么还要有con...
阅读全文
摘要:这次作业的coding任务量比较大,总的来说需要实现neural network, knn, kmeans三种模型。Q11~Q14为Neural Network的题目,我用单线程实现的,运行的时间比较长,因此把这几道题的正确答案记录如下:Q11: 6Q12: 0.001Q13: 0.01Q14: 0...
阅读全文
摘要:在NNet这个系列中讲了Matrix Factorization感觉上怪怪的,但是听完第一小节课程就明白了。林首先介绍了机器学习里面比较困难的一种问题:categorical features这种问题的特征就是一些ID编号这类的,不是numerical的。如果要处理这种情况,需要encoding f...
阅读全文
摘要:这节课主要讲述了RBF这类的神经网络+Kmeans聚类算法,以及二者的结合使用。首先回归的了Gaussian SVM这个模型:其中的Gaussian kernel又叫做Radial Basis Function kernel1)radial:表示输入点与center点的距离2)basis funct...
阅读全文
摘要:这节课的题目是Deep learning,个人以为说的跟Deep learning比较浅,跟autoencoder和PCA这块内容比较紧密。林介绍了deep learning近年来受到了很大的关注:deep NNet概念很早就有,只是受限于硬件的计算能力和参数学习方法。近年来深度学习长足进步的原因有...
阅读全文
摘要:这次关注的作业题目是Q13~Q20,主要是实现basic C&RT分类树,以及由其构成的Random Forest。其中basic C&RT分类树的实现思路如下:(一)先抽象出来几个功能:1)从local file读数据并转化成numpy.array的形式(考虑空行容错)(defread_input...
阅读全文
摘要:首先从单层神经网络开始介绍最简单的单层神经网络可以看成是多个Perception的线性组合,这种简单的组合可以达到一些复杂的boundary。比如,最简单的逻辑运算AND OR NOT都可以由多个perception构成的单层神经网络模拟。但是,单层感知器神经网络能力再强也是有限的,有些逻辑也无法完...
阅读全文
摘要:GBDT之前实习的时候就听说应用很广,现在终于有机会系统的了解一下。首先对比上节课讲的Random Forest模型,引出AdaBoost-DTree(D)AdaBoost-DTree可以类比AdaBoost-Stump模型,就可以直观理解了1)每轮都给调整sample的权重2)获得gt(D,ut)...
阅读全文
摘要:总体来说,林对于random forest的讲解主要是算法概况上的;某种程度上说,更注重insights。林分别列举了Bagging和Decision Tree的各自特点:Random Forest就是这二者的结合体。1)便于并行化2)保留了C&RT的优势3)通过bagging的方法削弱了fully...
阅读全文
摘要:首先沿着上节课的AdaBoost-Stump的思路,介绍了Decision Tree的路数:AdaBoost和Decision Tree都是对弱分类器的组合:1)AdaBoost是分类的时候,让所有的弱分类器同时发挥作用2)Decision Tree是每次根据condition让某个弱分类器发挥作用...
阅读全文
摘要:作业的内容主要是实现AdaBoost-Stump的算法。作业真是给人一种扮猪吃老虎的感觉,AdaBoost-Stump原理看似很简单,但是却埋了思维陷阱。可以通过Q12~Q18的python源码如下(训练数据是train.dat, 测试数据是test.dat)#encoding=utf8import...
阅读全文
摘要:首先用一个形象的例子来说明AdaBoost的过程:1. 每次产生一个弱的分类器,把本轮错的样本增加权重丢入下一轮2. 下一轮对上一轮分错的样本再加重学习,获得另一个弱分类器经过T轮之后,学得了T个弱分类器,再将这T个弱分类器组合在一起,形成了一个强分类器。由于每一轮样本的权重都在变化,因此分类器学习...
阅读全文