不擅長編程,有運籌學基礎,該怎麼學習智能演算法?

只看完了運籌,編程很弱,只會C語言。上手自學智能優化演算法時感覺難度有些大,不知道該怎麼入門比較好,求指點,謝謝


路過,也來順便水一下。
不知題主所指的智能演算法是哪種,也不清楚題主是處於大幾的情況。不好針對性回答,只能大致說下個人淺薄的觀點,僅供參考。
若是才大一大二,最簡單粗暴的方法就是報名參加比賽,類似數學建模,ACM等,能迅速將所看所學的理論知識在問題里結合跑一下,而且大量的閱讀文獻和搜集資料的訓練下來,會有一個基礎的了解。尤其是能結識一群一起搞演算法的夥伴,氛圍對於學習也是相當有益的。而且國賽美賽之類走一遍,人的心性會成長很多。當然,數學中國,人大經濟論壇之類,上面有很多經典演算法的資料。
我當初編程也一般,只剛學c,但是比賽時兩隊友不會編程,沒辦法就只能趕鴨子上架,也是一晚上學會了lingo,寫著寫著也寫了幾百行,Matlab也是,編程語言大都是相通的。還是需要環境有時逼一逼,雖然相較大神還是不能看的,但內心是明白自己在成長在進步,這樣過得相當愉悅。
其次,若是真心喜歡智能演算法,尤其是很火的機器學習,深度學習之類,題主也可以深造。可以先學會Python,這個比較好上手,而且目前機器學習這塊大都基於Python。題主正好有運籌學基礎,想來數學基礎應該不錯,可以找一些開源跑一跑,一些基礎經典的書,知乎上也都有推薦。一些基礎入門的教程,慕課網上也都有。
當然,要學會一個個入手,由淺入深。本人近期就在水比賽,渣碩傷不起啊,代碼寫的太爛,只能抱大神隊友大腿打醬油。然而內心是焦灼的,唯一的作用也就是一天到晚看paper,推了一疊演算法,然,寫代碼只能交給隊友。內心深處深深憂慮,這樣怎麼找工作,還是得代碼有一定訓練量的,雖然爛,也得練。不過演算法重在思想,相信就算以後不走這條路,也是受益一身的。
現在體味比較深的是,有一種越是了解越熱愛,這種深沉的熱愛,可以詮釋我對演算法的熱愛。
個人一言,僅供參考,有理可以給個贊(^_^)


謝邀,知乎處女答。
首先,「智能演算法」這個概念涵蓋的領域非常大,包括運籌學、機器學習、智能控制、圖像識別、智能機器人等。題主在學運籌學,應該是比較想學習運籌類的智能優化演算法吧。運籌學是一個底層的數學工具,在應用數學、管理科學、工業工程、計算機科學領域都有廣泛的應用。如果只是想了解一下運籌學的概念和基本方法的話,看一本運籌學的教材應該足矣。答主在大三上學期上的初級運籌學課程,基本都是看教材自學的,題主懂的。
然後,不清楚題主具體是從事哪個領域的研究。答主的博士研究方向是機器學習類的,可以就這一個點分享一下如何學習智能演算法。
第一,就編程語言的話,答主用的MATLAB,功能強大且編程相對簡單。因為答主在讀博士,課題獨立,重心在理論方法的研究,編程只是用來測試新idea的一個方式,而且對數學的要求比較高,所以我見過的我這個領域的大多數博士也都是用MATLAB作為編程平台。如果是公司的話,可能需要特定的編程平台,比如hadoop、python、C++、Java等。
第二,機器學習分三種:監督學習、非監督學習、強化學習。在監督學習/非監督學習領域,優化演算法應用在代價函數(目標函數)的最小化(最大化)這一環節,最基礎的就是梯度優化演算法。對於新手入門學習,答主比較推薦coursera上吳恩達的machine learning公開課,很好的一點是每一節課都會有編程作業,程序的框架都是編好的,學習者只需要在特定區域編出核心演算法即可。另外,強化學習本身就是一種優化學習演算法,基於馬爾科夫過程進行迭代而收斂到最優策略。最近很火的AlphaGo的核心之一就是深度強化學習。如果不是從事強化學習這一領域的研究的話,對於這種優化演算法只需要了解一下即可。基本了解上維基百科,如果需要具體了解,可以瀏覽一下R. Sutton的書《Reinforcement Learning: An Introduction》。
最後,智能優化演算法往往是一個數學工具,針對於具體領域會有具體的研究和方法。題主如果先確定好具體想從事的研究領域,再找點打靶,就會事半功倍的。祝題主學習順利!


答案還是建議學習下編程知識的,演算法思想學會了,但是實現起來還得考計算機,人不可能去手算的,那麼也就用到了編程的知識,不需要掌握的太深,基本的語法,函數,什麼選順序擇循環之類的懂了就行,當然能力強的話可以學習一些數據結構的知識,能夠很大程度上提高程序的質量,最直接的就是在達到相同效果下,程序跑的更快,,,,個人觀點哈


推薦閱讀:

吳恩達為什麼離開谷歌?
如何評價新提出的RNN變種SRU?
AlphaGo 在下棋時知道自己在幹嘛么?
如何評價德國計算機神經網路科學家發表的這篇可以讓電腦模仿任何畫家的風格作畫的論文?
NIPS 2015有什麼值得關注的亮點?

TAG:遺傳演算法 | 神經網路 | 人工智慧演算法 | 智能演算法 |