读研计算机视觉 国外读研方向以找工作为目的有必要学习哪些

读研方向选择 : 机器学习/计算机视觉 OR 三维重建 ? - 知乎185被浏览<strong class="NumberBoard-itemValue" title="2分享邀请回答82 条评论分享收藏感谢收起321 条评论分享收藏感谢收起机器学习,数据挖掘在研究生阶段大概要学些什么? - 知乎<strong class="NumberBoard-itemValue" title="被浏览<strong class="NumberBoard-itemValue" title="6,578分享邀请回答33322 条评论分享收藏感谢收起umiacs.umd.edu/~hal/docs/daume04rkhs.pdfAdaboost:这个东西如果只需要知道算法过程,是很简单的东西。但是如果你能明白为什么这么做,在什么假设下这么做会收敛到最优解,那你的理解也非常不错了。Decision Tree:有两个需要了解CART 和 c4.5。这个很简单,没什么好说的,但是你能不能高效的实现它们呢?Neural network:这个是我见过最傻的模型,你要知道怎么做优化,乃至怎么做随机优化,结果看天吃饭。再来看一些非监督模型,比如经典的有数据处理与可视化:PCA,LDA,MDS,以及其他“高大上”但不一定work的manifold learning算法聚类算法,以及如何评价聚类结果稀疏编码:如何把一个带LASSO的问题转化成线性约束?有哪些别的更快的方法求解LASSO。以上这些东西,算是入门性质的。本科毕业后大概一年左右,这些东西我就基本熟悉了。要学习这些东西,看一些教材自然是好的,但是书里废话比较多呢,而且一本书的作者知道的东西毕竟有限,我都是倾向直接从维基出发找资料看的。说实话,现在很少会自己去实现这些算法了,这些经典算法都有现成的开源工具。事实上要写一个高效的Linear SVM也不是很容易的事情。我主要讲讲学完这些,应该怎么学更高级的内容,当然还是结合我自己的经历。授人以鱼不如授人以渔,要学习前沿的内容就要掌握基础的工具。书分为两种,一种书看完了就是看完了,你学到了一堆技能,但却不能用这些技能产生新的知识,面对问题也不能因地制宜,如果是这样学估计只能用来应付找工作面试吧;另一种书看完了才是学习新东西的开始,你学到了如何读懂别人的论文,如何开发新的知识,如何根据情况选择和调整算法。实战分类模型(Advanced classification):在掌握了Decision Tree和Adaboost后可以进阶了解Random Forest 和 Gradient Boosting两个模型,和他们的调参策略。推荐参加一些机器学习的比赛来强化这方面的使用熟练度。概率图模型(Probabilistic graphical model):我是在Coursera上学习概率图模型这门课的,讲得真的非常好,正打算过二周目。学完这个课,掌握了图模型的设计,推断,和采样方法之后,就可以开始学习两个核心的机器学习模型,一个是Latent Dirichlet Allocation(LDA),常用于文本处理;一个是Probabilistic Matrix Factorization(PMF),常用于推荐系统。这类图模型都在研究两个基本的问题:如何采样;如何inference隐含变量,是用EM、MCMC、还是Variational Bayes,从而用来估算参数。为了搞清楚这些,学习下面这门课就非常必要了。统计计算(Statistical computing):这个课系统的介绍了数值积分方法,Monte Carlo方法(importance sampling, MCMC,Sequential/Particle
MCMC,bootstrap),EM/MM。学完这门课,你能对这个领域的工具有个全局性的了解,明白每个工具的利弊,它们产生的历史来源,从而在具体问题中正确的选择使用它们。有了这些工具,你会发现大部分research的工作都是在这些细分领域做一些简单的扩展。比如Bayesian PMF(ICML'08)这篇文章几乎就完全是MCMC在PMF的应用。话说回来,Research大部分时候就是以这样一种循序渐进的方式进行的,把一些现成的idea排列组合。深度学习(Deep learning):说实话我刚开始接触这块内容发现,这尼玛就是传说中的黑科技啊。你不知道模型里面发生了什么,好坏都是看天吃饭的感觉。为了搞清楚这个,我决定重头开始实现神经网络。(代码在 )前前后后花了近半年的时间,在实现的过程中,我学习了构造和训练神经网络的各个细节。我是从Stanford这个Tutorial开始学习的 课程资料里提供了Matlab的源码,不过我喜欢重新造轮子,那个时候恰好在学习Scala,就用Scala重写了一个神经网络的库(这个语言的特性非常适合写神经网络的算法)。
近几年深度学习的主流被深度卷积网络代替,这种监督学习的算法虽然对某些问题十分有效,但是数学上并不是特别神奇的东西,我还是比较关注那些非监督的神经网络。优化(optimization):没有优化算法,任何机器学习模型都是空中楼阁,如何用更高效的优化算法,如何trade-off 计算时间和准确度,如何把已有问题scale到更高规模的数据上一直都是“优化大师们”做不完的工作。这也是一个非常大的分支,我觉得现在比较流行的两个大类是随机梯度优化和ADMM。前者用来解决大规模非约束优化问题,现实情景用的很多,但我们对它知道的很少;后者用来解决带约束问题,有很多变体。此外,优化大家庭也又有很多别的成员,这时候我要推荐的资料包括J Nocedal的numerical optimization这本书,讲的内容非常充实。此外ADMM的内容当然看Boyd巨牛11年的Tutorial paper。话说“概率图模型画圈,神经网络调参数,优化问题加正则”,不会科研也会胡诌了。。。最后说说答主最近在看的东西PAC学习理论(PAC Learning):这个理论已经相对古老了,它的历史价值很大,应用价值很有争议,但是一直有人在继续这个方向的工作,并试图用它来构造新的模型,所以还是有必要知道的。推荐一下最近的新书:Understanding Machine Learning: From Theory To Algorithms.非参数贝叶斯统计(Non-parametric Bayesian statistics):这个方向还非常年轻,有很多需要挖掘的东西,(划去)也是我PhD的一个重要课题(划去)。我觉得如果你开始看这些东西了,我已经没资格给你指路了,哈哈1.5K101 条评论分享收藏感谢收起当前位置:
&计算机视觉+深度学习方向研究生想读博
计算机视觉+深度学习方向研究生想读博
作者 jx0117
现有电子学报文章一篇,想深造,有大神给推荐下吗?
和你一样的,也在找博导
复旦邱锡鹏
复旦邱锡鹏
和你一个专业
24小时热帖
下载小木虫APP
与700万科研达人随时交流准备向计算机视觉发展,纠结要不要考研? - 知乎139被浏览<strong class="NumberBoard-itemValue" title="3分享邀请回答252 条评论分享收藏感谢收起42 条评论分享收藏感谢收起起点低,能学图像处理吗
嗯 ,我是专科毕业..数学都没及格..有2年.net经验...我来听一下你们的意见 !- -
共25条回复
起点低,啥都可以学,别问这种傻问题,去学吧
可以学啊,很简单,我大一学的ps,挺好玩的
@ ...不是PS,是类似模式识别的那种...
@ - -叔总是充满正能量,不过学倒是可以学,学的怎么样就是个问题了..嗯 这得看自己的造化...
推荐一本相关的书:《C#数字图像处理算法典型实例》作者 赵春江
@ 刚从京东看了下目录..挺好的 ..貌似没那么简单
@ 这跟造化没关系,只跟肯不肯干有关系,这年头大多数东西都简单到根本不需要拼智商,只需要拼努力即可
有魄力啊!换个这么高深的方向,还是挺佩服你的。
@ 好吧,完全不懂。。
起点低,能否学图像处理
这有个你需要回答的很重要的问题:你准备花多久的时间学习,或者说你准备学习多久后需要将其应用于工作或者变现上。
我是通信专业学生,专业选修课里面有数字图像处理,教材是冈萨雷斯的《数字信号处理》,我就从大学学习的角度说一下学习好这门课所需要的。
先定义「学习好」:课后题70%做的比较熟,不看答案就能做出来,并且可以和书本内容练习起来,包括实践性的题目。
需要学习的内容
|数学基础|高等数学|线性代数|概率统计|
|--------|
|专业基础|信号与系统|数字信号处理|
学习数字图像处理需要有比较熟的几门课做基础,这几门课程不熟难以看懂数字图像处理,就好像不会编程上来就学习数据结构。
首先需要高等数学、线性代数、概率统计三门考研数学课基础不错,本科教材课后题70%以上你得做的挺熟的,这种水平做考研数学卷子也起码能拿到90左右(满分150)。
信号领域完全脱离不了数学知识,甚至可以说比计算机领域对数学知识的要求还要高,因为计算机领域专业基础课对微积分、概率统计的应用并不多,而信号处理领域完全急于这两门数学课,专业基础课完全需要这两门课做工具来表述与计算。同时,概率统计依赖微积分来计算,这两者上升到高纬度时又需要利用线性代数来表达和求解。所以,你懂的。
然后可以拿出《信号与系统》和《数字信号处理》这两门信息专业的专业基础课程了,这两门课程网上名校视频不少,包括中文英文,学起来不会太痛苦。
并且也不需要全部搞透,因为你的目标是数字图像,那么《信号与系统》课程中电路部分看看知道有这个章节就行,拉普拉斯变换部分知道例题就行,核心重点是「傅里叶变换」与「Z变换」,这两个地方课后题起码做熟一半吧。然后可以拿出「数字信号处理」来了,这门课就是《信号与系统》中Z变换部分的深入阐述,偏重工程应用,也不需要整本书细枝末节全都拿下,找门网上名校课程,把握住重点章节就把握住课程核心了,以后需要用到一些细枝末节时候再反过头回来研究不就好啦。
这时候,再来看全世界的经典图书冈萨雷斯的《数字图像处理》就可以了,因为这时候你会知道书里面的很多的重要名词是做什么的和为什么这样做,我说几个看起来高大上的名词「图像的取样和量化」、「灰度变换和空间滤波」、「傅里叶变换」、「离散傅里叶变换」。这些名词的概念是在前面我提到的两本专业基础课当中详细阐述的,在这本书中不会做详细的概念阐述解释与教学,而是以应用为主,所以如果你不熟悉前面的两本基础课的话,很可能难以看懂本书。
为什么要这样学习
前面有人根据你掌握的C#推荐了本《C#数字图像处理算法典型实例》,目录的前面几章我不熟悉,但是第6章核心傅里叶变换与频率处理,第7章核心噪声与高斯滤波,第10章的编码与香农信息论,这些要求《信号与系统》《数字信号处理》的核心内容一定要非常熟练。而且,这本书的所有章节完全是需要你有数学底子的,基础就是考研数学三门课。
好了,现在回到我一开始提到的那个重要问题,「你准备花多久学习」,如果你的基础是「大学期间数学考试不及格」,那我个人保守估计,一周保证起码5天,每天有效学习时间8小时以上,最少要1年时间,很可能2~3年的全职学习时间。
所以泰尼老大告诉你肯定学得会,这句话没错,但可没告诉你需要付出多少时间与努力。
这种学习方法的缺陷
当然我目前是学生,学习这些课程做题偏多实践偏少,很多地方可能是错的,毕竟社会上很流行「大学学习与社会需求脱节」这样的说法。所以你可以先不重视我说的这些,直接买本相关的书看,然后不会的名词去查去向人请教,然后你自己学习的感觉以及其他人的意见来判断自己下一步学习的方向。如果有了新的体会与心得,那么请一定回来分享嗯。
我说到现在说的大部分还是传统的大学学习方法,这在互联网行业很可能不合适,比如计算机专业的《数据结构》和《操作系统》这些基础课学得很烂(课后题根本不会),但是纯编程和工程搞得很好,应届毕业去中小公司拿上W的薪水很多,去BAT可能略难一些。所以你也可以去向搞图像处理的人详细询问,毕竟我只是学了「数字图像处理」这门课,知道的更多还是把课程例题看好、课后习题做好、计算机仿真搞好,并没有在相关企业实习过,所以对于工作中的学习肯定有很多错误和不全的地方,希望做相关工作的牛人给予指正。
写篇文章好晕啊,但是写短了又无法表达,所以先写到这儿,明儿再修改
本帖有25个回复,因为您没有注册或者登录本站,所以,只能看到本帖的10条回复。如果想看到全部回复,请注册或者登录本站。

我要回帖

更多关于 计算机视觉和图像处理 的文章

 

随机推荐