機器學習論文的疑惑,求教?

讀機器學習方向。

發現機器學習演算法比較固定,演算法應用於文本和圖像處理。

畢業要求發表級別較高的期刊論文,演算法都已經存在甚至被改進過,

怎麼能寫出自己的東西呢?沒有idea,也就沒有實驗。

怎麼能完成論文呢?

迷茫中。

求指導,謝謝。


謝邀,本來不想回答這個問題,因為作為一個並不成功,畢業捉急,論文扶不上牆的博士生,實在覺得太勉強了。不過這兩天轉念一想,即使是把自己的教訓寫出來,幫助哪怕一位同學少走一步彎路,也算是大功一件,所以拋磚引玉如下,有不妥之處請大家海涵。

題主似乎沒有明確自己是博士生,以下假設為博士生。

1、首先,請以一個局外人的理智角度,對你的導師進行如下分類:

① 圈內大牛,高水平論文很多,目前自己仍在親力親為參與科研工作,請轉2

② 簡歷裡面有一些高水平論文,但是似乎並不能算是大牛,請轉3

③ 其他情況,請轉4

2、這一種情況是比較理想的,個人認為你的關於論文的疑惑,其實可以盡量多和你的導師交流。不說科研這麼大的話題,單單就寫論文來說,其實有很多的技巧和潛規則,與其自己去試錯,不如從導師那裡多取取經。

3、這種情況,自己需要多上心,導師可能因為忙於行政之類的原因不能對你進行直接的指導,那麼自己一定不要放任自流。國內的現實情況,導師手下學生實在太多,絕大多數的事情沒有可能幫你考慮。具體到機器學習的研究,可以先和導師討論確定一個大致的方向,然後自己尋找一個具體的問題(如果導師一直不能幫你確認大致方向請轉4)。在擬定研究問題的時候,這幾個問題必須有肯定的回答:

① 你是否可以獲取到最前沿論文中使用的實驗源數據(參照最新會議論文,機器學習領域請參照ICML NIPS AAAI CVPR等)

② 對於這些實驗源數據,你的計算資源是否能有效承載(例如,只有五年前配置的機器的話,深度學習方向的搞起來會倍加困難)

③ 對於研究問題本身,以及問題背後的抽象理念,你本人是否認同和喜愛(當你研究一類演算法,如果自己都覺得不喜歡,出idea的速度會明顯變慢)

④ 該研究問題,近3年的會議和近5年的期刊文章中,是否還有持續出現

上面這幾個問題,是有效開展一個研究課題的必要(但並非充分)條件。可以看出,和已有的回答一樣,要回答這些問題,要求你必須對這個小問題相關的研究有一個整體的把握,自己動手寫一個survey是比較好的途徑,參考文獻超過100的時候大概算是入門。到那個時候,你自己就會有各種各樣的想法等待實現,當然,這些想法裡面大概有40%不靠譜,有40%是別人做過的,有10%你沒能力做,會轉化成你的論文的就是剩下的10%,不過這些都比較簡單了。

4、【一流大學的同學,以及導師足夠靠譜的同學,就不用向下看了,意義不大】

如果你發現落到了這樣的情況,自己就一定要警惕了。這種情況對於博士生是極端不利的,稍有不慎就會讓自己未來的幾年極端痛苦(親身經歷)。那麼,我有以下幾點建議:

① 注意管理時間。即使你是一個努力和注意自我約束的人,你也一定要注意自己的日常科研時間是否被用在了與自己科研相關的事務上。幾個簡單的例子:

a)大量時間用於做導師的橫向項目,橫向項目與研究課題基本無關或工程性質過強。

b)在導師的要求下進行類似於數據採集/數據預處理相關的工作內容,並且沒有用到任何具有前沿性的技術。

c)導師完全不管,自行尋找研究方向但不得其法。

② 多動手,少學習。這裡所謂的「少學習」指的是,不要因為你要用到的工具包需要使用你從未接觸過的python語言,就抱著一本python編程指南啃三星期。這種「學習」基本上是浪費時間,關於matlab、python、hadoop、opencv、nltk……這些耳熟能詳工具的使用,請活用官方文檔、百度以及google,按照你的需求,邊做邊學即可。

③ 多和導師訴苦。俗話說會哭的孩子有奶吃,不要覺得自己很厲害很清高就悶著頭自己干,你的導師也許科研能力不行,但是你要認清現實:只有他可以幫得上你。即使只是給你換一台性能好的計算機或者大一點的桌子,對你的科研都是促進。

④ 多寫論文。尤其是在讀博的初期,不要因為擔心論文水平不行就不敢動手寫,正確的做法是,在完成了survey過程後,應該保持持續的論文寫作,只要你超過10天沒有寫論文,就應該給自己亮紅燈。原因如下:

a)論文是你畢業的籌碼,沒有籌碼,你就什麼都沒有。

b)論文只要別太爛,寫出來總是能發的,也許被退好多次,也許投低檔次期刊,但都能發。

c)寫論文是需要練習的,在寫出好論文之前,一般需要寫好多爛論文。

d)除非你天賦秉異或者英語極好,否則無論你的創新多麼好,單就語言來說,你剛開始寫的英文論文基本上在外國審稿人看來就是狗屁不通。

e)多被reject幾次,就知道論文該怎麼寫了。

⑤ 關於題主說到的,感覺各種演算法都被改進過了,不知道從何下手的問題。其實主要還是源自對研究問題和相關方法的不熟悉,並不需要特別擔心坑已經被填完了的問題。你可以去瞄一眼這個論文:Manuel Fern andez-Delgado et.al. Do we Need Hundreds of Classi ers to Solve Real World Classi cation Problems? ,Journal of Machine Learning Research 15 (2014) 3133-3181。裡面對比了用於分類的179種演算法,這些演算法也都是發了論文的,可以說其中大多數在實際上並沒有非常好的應用價值。於是大家不要太緊張,任何一點點小的改進、想法在合理的包裝下都可以是一篇優質的論文。對於題主來說,可以多考慮一些idea的combining,比如有人用方法1解決問題A,有人用方法2解決問題B,那麼我用方法2的思路改進方法1從而更好地解決問題A,這就是能夠出論文的點。

⑥ 工欲善其事必先利其器。從論文查閱和下載,文獻管理,筆記管理,數據收集和整理,實驗工具,論文寫作流程等各個方面,多優化自己的工作流程,省下來的時間哪怕用來睡覺都是好的。重複上面說過的,請活用百度和google,當然如果你有靠譜的師兄師姐也可以。

⑦ 多學習。這和上面的②不衝突,這裡說的學習,指的是和你科研能力息息相關的基礎知識體系,而不是如何用python實現你的一個簡單想法。無論是經典的課本(PRML, MLAPP, ESL等)還是經典的公開課(Ng的機器學習,林軒田的機器學習基石+技法),都是需要花時間去學習的。否則你會發現,你以為讀懂了論文,其實你還是不懂,所以你也沒法做出自己的研究。


想要有idea, 必須要先做系統的survey, 沒有對現有的技術有全面的了解,那很難想出一些新的問題。 看看近幾年的頂級會議的論文,ICML/NIPS/AISTAT/KDD 仔細讀幾篇文章會有頭緒的


題主可能進去了一個誤區:

認為發論文一定就要提出新的學習演算法或者對已有的演算法進行質的改進才可以發論文,事實並不是這樣,不一定非得要干出驚天動地的事兒。

只要在前人的基礎上做了改進,提升了正確率,哪怕只有一點,也是可以發表論文的。

舉個例子:

2014年7月AAAI收錄的《Supervised Transfer Sparse Coding》,這篇論文所做的創新無非就是把Traget Domain的少量有label的數據和Source Domain的有label數據聯合起來作為新的訓練集來訓練模型,將Sparse Coding和Transfer Learning結合起來,對目標函數進行了一點改進,照發發頂級會議。

建議:

關注頂級會議的最新的papers, 有選擇的閱讀,多和導師溝通,idea遲早會有的。

附一句話,與君共勉:

追求卓越,成功將不期而至!


我其實也是學術小白,我推薦lz看下關於科研的書,如《學術研究:你的成功之道》和《The PhD grinde》。裡面有學術界的真實經歷。

我自己的感悟,將一項研究歸結為&<問題,方法&>對的話,那麼novel之處可以是:

1,最普遍的創新,就是&<舊問題,舊方法改進&>,這是站在巨人的肩膀上思考,這是需要注意你的改進最好有效果。

2,高一級的創新,就是&<舊問題,新方法&>,自己從一個新思路來解決問題。

3,就是&<新問題,你的解決方法&>,這一般是大牛的開創性工作,你第一次提出一個具有研究價值的問題,即使你的原始方法很簡單和trival,只要問題有價值,以後會有一堆人跟進的,就會發生第1,2種情況。不過這個case一般都是大牛做的,你有時候研究一個問題,追本溯源的時候,就會找到原始論文。

-----------------------------------------------

再細一點,其實一個研究是&的三元組,我舉個常見的例子,

比如你要做推薦系統,你面臨著冷啟動問題,這時你想出一個方法去解決冷啟動問題,你這篇paper就可以歸結為&,這樣。

-----------------------------------------

其實,你導師如果是機器學習方面的大牛的話,好好學,不會差的,以他的話為準,哈哈。


以鄙人的經驗來看 大致思路如下

Title: xxx-inspired learning (找到容易記的名字就成功了一半)

1. Introduction

(講你從大自然中獲取靈感的故事)

2. xxx-Inspired Model

(描述你的方法)

3. Experiments

(在特定問題上通過不懈地實驗和調參數後獲取的漂亮結果)

4. Conclusion

The above experiments have shown the efficacy of the proposed method, using parameters γ=0.5, δ=7.5, a = 0.23 and etc. But their values may be problem-specific. How to systematically determine these parameters is left for future research.


謝邀,我覺得做研究最重要的還是idea,你可以找一個新的研究方向,然後根據新的研究方向,再找個適合的演算法,並對演算法進行相應的問題的改進,就好了哦。


水平不足,只談應用。

1. 找一個自己熱愛的領域。

2. 閱讀近年領域論文。

3. 復現論文的工作。

4. 思考能否改進/能否應用與其他領域。


謝謝邀請。一般是這樣的,儘管目前演算法已經存在並且貌似很難改進,但是模式識別,尤其是特定領域的模式識別還是需要大量經驗的,可以這麼說,對於不太了解或者沒有經驗的模式識別新手,將程序代碼給他,也未必能作出很好的水平,或者說,即便是做出來了,也不理解為什麼?這既是模式識別仍然需要研究的價值。另外,模式識別的本質是優化,包括線性優化、非線性優化,需要一定的數學基礎。良好的數學方法是改進模式識別研究水平的關鍵。之前說的都是比較高的要求,可以做到頂級論文的水準。另外,所謂高水平論文,你仍然可以在特定領域作出好的結果來實現,比如圖像識別領域,有很多,每個又都有應用場景,任何一個點,都可能讓你有新奇的發現,前提是你必須坐得住冷板凳,需要思考和琢磨,總會有讓你感到新奇卻沒有人用過的東西。研究其實沒有什麼特別的,就是需要用心。


瀉藥。

個人感覺可以從兩個思路著手

1. 從domain出發,也就是說你要有一個project 或者說是應用場景,先有數據和問題,你要做什麼,然後思考怎麼做並去literature review,在讀其他人的papers的時候時不時會迸發自己的idea,然後再去融合改進,最終發你自己的paper

2. 沒有domain, 也就是說你自己也不知道想幹嘛,只是想發paper畢業,感覺你現在就是這麼個狀態,那麼這樣似乎就麻煩了些,因為你要盲目的去讀各種paper而沒有特定的目的,我目前只嘗試過思路1還沒嘗試思路2,所以感覺略難。

最後一個觀點:實踐是檢驗真理的唯一標準。所以我覺得你還是跟你導師聊聊,確定個比較細分的場景並且能搞到數據,然後再繼續。


和導師聊聊,找個感興趣的方向,survey下論文,很多演算法在實際應用場景仍有很多需要改進的地方。


推薦閱讀:

設計embedding維數的時候有什麼講究?
一個演算法工程師的日常是怎樣的?
卷積神經網路保證「位移、尺度、形變不變性」該怎麼理解?
如何進行模型組合?
人工智慧入門,求書籍推薦?

TAG:數據挖掘 | 機器學習 | 模式識別 | 圖像識別 | 人工智慧演算法 |