2012年9月11日

机器学习笔记:Learning Theory

摘要: 截止目前,已经知道了常用的机器学习算法是怎么回事儿、学习的步骤是怎么进行的。但在机器学习的应用背景是多种多样的,做实际工程必须学会如何根据具体的问题评估一个学习模型的好坏,如何合理地选择模型、提取特征,如何进行参数调优。这些也是我以前做模式识别时欠缺的环节,所以在遇到识别率很低的情况时,往往很困惑,不知道该如何改进:到底是应该改进模型改变特征、还是应该增加训练样本数量,到底是应该优化迭代算法,还是应该改变目标函数。通过学习Learning Theory可以得到一些指导性的结论。 首先,是bias-variance trade off问题。假设训练模型集合H中有k个备选模型,k表示了模型的... 阅读全文

posted @ 2012-09-11 16:26 李小宝 阅读(3581) 评论(0) 推荐(0) 编辑

2012年9月5日

干完了活

摘要: 实验室的gaofen项目暂时告一段落了,我负责了接口设计和功能封装,做的事情太偏工程化,熟悉了一些小trick:Windows下的系统调用、C++调用.m代码、CString类的各种操作、DLL封装等。工作和读研期间干了不少这样的活,有人说做这些可以锻炼所谓的工程能力,我觉得很扯,正常人都可以通过搜索引擎找到答案,而且正常人都会在解决问题不久很快忘记他刚才是怎么解决的。所以,这种事情少干为好。可能过不了多久就可以做自己想做的事儿了,嗯,希望如此吧。 阅读全文

posted @ 2012-09-05 22:30 李小宝 阅读(257) 评论(0) 推荐(0) 编辑

2012年9月2日

MFC程序解析命令行参数的相关问题:再灌水

摘要: Boss的项目接口不符合甲方的规定,被打回来改。真是服了那帮人了,早不知道干嘛去了,到验收的时候才给出他们的接口,害我们苦逼地折腾。本来告知要在他们的平台上测试,后来又要我们自己搭演示平台,还非要从命令行给图形化界面程序传递参数(尼玛这帮nc,都图形化界面了还用命令行搞)。不过这也不是啥大问题,在一般的控制台程序里,主函数的参数是argc和argv,一般通过argv来传递程序需要的字符串类型的参数。MFC程序则不同,没有显式地提供这种参数直接拿来用,需要特殊的函数去解析命令行。代码如下:void CPARAMENTSETDlg::OnBtnRun() { CString str; ... 阅读全文

posted @ 2012-09-02 21:54 李小宝 阅读(2264) 评论(0) 推荐(0) 编辑

2012年8月27日

机器学习小结:SVM

摘要: 第一次接触SVM(支持向量机)还是四年前的事情了,那时用它做手写体数字识别,参考了一些书和文献,照着人家的步骤用Matlab敲出了PCA+SVM的代码,识别率一般,90都没上,不好意思跟人打招呼。最囧的是,后来参加一个面试,人家问我神马是支持向量,我都答不上来。上了研究生,在各种模式识别和机器学习相关的课上,反复学习了这一经典算法,每次都有新的体会。借此机会做一个总结。 SVM是一种线性分类器。它针对的也是简单的有监督学习问题:给定m个样本(x(i), y(i)),y(i)=+/-1,确定一个线性分类面。这个问题可以用多种方法解决:感知器、Fisher线性判别分析、Logistic回归等... 阅读全文

posted @ 2012-08-27 23:51 李小宝 阅读(7355) 评论(0) 推荐(2) 编辑

2012年8月18日

DLL封装:灌水一篇

摘要: 老板的项目近期要验收,它的模块要放在甲方的平台下测试,并跟多家单位进行PK,为了技术的保密性,必须对源代码进行封装,鄙人下午不幸被抓去干这个活儿。 于是网上查了一些资料,搞明白了怎么生成DLL、怎么在程序中声明接口。在被调用工程的头文件中这么声明:class __declspec(dllexport) module表示module类被导出。在顶层调用这个module类的时候,这么声明:#pragma comment(lib,"module.lib").......class __declspec(dllimport) module表示module类被导入。为了使顶层程序和底 阅读全文

posted @ 2012-08-18 16:35 李小宝 阅读(237) 评论(0) 推荐(0) 编辑

2012年8月17日

机器学习笔记:Generative Learning

摘要: 一口气看完了第五讲。主要讲了GeneratingLearning(生成学习算法)。什么是Generating Learning呢?Andrew Ng 先给出了Discriminative Learning(判别学习算法)的概念,Logistic Regression就是典型的Discrimina... 阅读全文

posted @ 2012-08-17 22:25 李小宝 阅读(1487) 评论(0) 推荐(1) 编辑

机器学习笔记:Logistic Regression

摘要: Logistic Regression算法非常著名,据说在工程实际中用得非常多。作为菜鸟一只,我在dragonstar课上第一次耳闻,由于Yu Kai老师讲得快,当时没怎么搞懂。今天听了CS229的课,找到了牛人的笔记和程序,才算略懂一点。 Logistic Regression是一种回归算法,它跟Linear Regression回归有一定的不同。它的y服从Bernoulli分布、取值为0或1的离散随机变量,而Linear Regression的y是服从高斯分布的连续随机变量;对于Linear Regression,它的h函数是特征x的线性组合,而Logistic Regression... 阅读全文

posted @ 2012-08-17 16:36 李小宝 阅读(1291) 评论(0) 推荐(0) 编辑

2012年8月16日

机器学习笔记:Gradient Descent

摘要: 最近掉进了Machine Learning的坑里,暑期听完了龙星计划的机器学习课程,走马观花看了一些书。最近找了Stanford的Machine Learning的公开课(http://v.163.com/special/opencourse/machinelearning.html),想系统地学习一遍,而且pennyliang博士在他的博客里(http://blog.csdn.net/pennyliang)公开了他学习这个课时候写的一些代码,对我这样的入门级菜鸟很有帮助,在此对梁博士表示诚挚感谢。 今天看完了CS229,又下了Pennyliang写的BatchGradient Desc... 阅读全文

posted @ 2012-08-16 17:36 李小宝 阅读(13404) 评论(0) 推荐(1) 编辑

2012年6月5日

写完了作业

摘要: 今天写完了模式识别的大作业。总结一下,最有难度的SVM自己4年前就搞过,而且那时候没用任何工具箱,代码全是傻了吧唧自己写,好不容易找到一本叫《模式识别中的核方法》的秘籍(太记忆犹新了),图书馆竟然没有,只好跑去隔壁学校找那个统共没说过五句话的高中校友mm借,要知道对于当时的那个青涩少年,做出这样的事儿简直是壮举。眼看deadline要到了,识别率还是低得可怜,于是处心积虑地找网络学堂的bug,终于研究出了一种在提交窗口关闭的情况下强行交作业的方法,并屡试不爽,aew老师课上说,有同学按时交了作业,但我却没有及时批改,对不住了。今天在这里跟aew老师道个歉,是我对不住您。不知道这个bug现在.. 阅读全文

posted @ 2012-06-05 00:19 李小宝 阅读(322) 评论(0) 推荐(1) 编辑

2012年5月31日

统计信号处理课上的想法

摘要: 上午上统计信号处理课,mhd老师讲数理统计发展史上的八卦,猛然发现,自己竟然跟Bayes、Fisher、Pearson等这些人打了半年交道,四门儿课里都出现过这些名字,阴魂不散......,这些牛人都是少年得志,其中的某高富帅手里心理学、社会学、数学一大堆学位,拍拍脑袋就能给出足以彪炳史册的结论。而看看当代的学术界,很难找出一个可以与牛顿、高斯、爱因斯坦齐名的人物,把过去那种拍脑袋的做法放在现在用的人只能被戏称为民间科学家,颠覆性的理论在当今也难以看到,而在那些激情燃烧岁月里这些东东貌似是大牛们信手拈来的玩具。虽然现在搞学术已成为谋生糊口的手段,但门槛却是越来越高。所以为了具备参与学术的资.. 阅读全文

posted @ 2012-05-31 22:30 李小宝 阅读(319) 评论(0) 推荐(0) 编辑

导航