‘科研’ 分类的存档
之前用过几次梯度下降算法来求解一些优化问题,但对梯度的具体意义并不是很理解。前一段时间翻了一遍高教的《简明微积分》,对梯度概念总算有了些理解,在这记录一下。 推荐下《简明微积分》这本书,我向来对带有“简明”二字的书抱有极大的好感。偶然的机会在豆瓣上看到有人推荐这本书,作者是龚升先生。龚升先生是中国科技大学教授,师从华罗庚。我个人觉得这本书是我读过的最好的国内的数学教材,结构条理,不拖沓但重点突出,适合快速的回顾微积分课程。
论文读的多了,如何管理好一大堆论文就成了个问题。我的情况是这样的,平时使用两台机器,实验室里的机器是ubuntu系统,自己的笔记本是windows 7系统,经常是在这台电脑把A文章读了一半,换到另一台电脑时继续读A时,不得不重新下载或手工的拷过去,前面作的注释也丢了,甚是麻烦。一开始还勉强忍受着,但忍受的结果就是越来越麻烦,经常搞不清读过的论文在哪台机器上。最终,还是找了一个自认为不错的解决方案:SpiderOak+Jabref+Evernote。
经验损失不为0的情况 在上面的部分中,经验损失为0意味着我们得到了一个完全符合训练样本要求的discriminative function f,即\(\forall ({x_i},{y_i}),f({x_i}) = {y_i}\)\forall ({x_i},{y_i}),f({x_i}) = {y_i}。然而,多数时候,我们无法得到满足前面式子中所有约束的可行解。因此,我们还是借鉴SVM 的思想,在优化问题中加入松弛变量,这样就使模型不必完全拟合训练集中的样本,从而得到下面的优化问题:
以前就听说过Structured Learning,但只知道其大体的概念。听师兄说现在用的挺多的,于是前一段时间断断续续的看了有关这方面的一些资料,在此总结一下。 在利用机器学习方法建模时,我们往往是寻找一个映射函数 f:X -> Y,将输入X 映射为输出Y。输入X的形式是多种多样的,但在“常规”的机器学习方法中,输出Y是一个number或者一个label,比如分类、回归、分布密度估计的各种方法。而Structured Learning中,Y不再局限在一个number,而可以是complex structured object,比如说是一副image,一个image region,一个label sequence,或是parse tree 等等。个人感觉,structured learning使我们能更加直接的解决问题,它提供了一种框架是我们能直接得到具体问题中想要的输出。理论上,感觉你可以把任何输出都作为一种结构。
对于kernel的概念,之前有所了解,但还是很模糊。最近看了一篇相关的tutorial——“Kernel Method in Computer Vision”,作者是Christoph Lampert(cvpr2008 best paper得主)。文章写得清晰流畅,读后对核方法以及SVM有了更深的理解,收获颇丰。
最近看东西,接触了一些有关Structured SVM的研究应用。 Structured SVM可以理解为对传统SVM的一种扩展。所谓structured,是体现在svm的output上。传统的svm的输出是单变量,比如预测class label或者regression value等等。而structured svm允许学习一个分类器来产生structured output label。比如说可以用在句子分词上,输出是句子分词后的结构。还有用在排序上,输入是查询和相关的文档,输出的是这些文档的一个ranking。
