機器學習or電子,我該選哪個?

感謝大家的回答,題主已經進入CS的坑了。來實驗室一個月,覺得需要學的東西有很多,AndrewNg的課程在看,編程也在慢慢學,還好實驗室師兄師姐人都很nice,給我說了很多方向上的東西,也大致知道這邊是幹什麼的了,可能以後自己的認知隨著深入還會被推翻,但是至少現在算是起步了,不怕慢就怕站,每天進步一點點,結果不會太差。

----------------------------------------------------------------分隔線------------------------------------------------------------------

首先,介紹一下我自己。

我本科畢業於一個普通二本,考研到某985學校,我本科專業是電子與信息工程,一直也覺得電子是我的最愛,本人愛好動手實踐,本科階段也參加過一些學科競賽,從大二就在學校實驗室學習並參與一些工程實踐,雖說學校一般,但也學到一些東西,對電路方面很感興趣,之前想的考研也是繼續學習這個方向的東西,一直心儀的就是FPGA或者DSP。但是,因為種種原因,我現在可能需要去選擇一個我之前完全陌生的方向——機器學習(或者說數據挖掘)。因為對相關領域不了解,所以有很多顧慮和問題,現一一列出,希望各位有經驗的過來人給小弟指點迷津,小弟在此先行謝過。

1.機器學習需要什麼先修知識,學習成本和難度如何?

我本科雖然也有一些編程經驗,但基本都是不脫離器件的硬體底層驅動——在單片機上跑的,後來因為想專註學習FPGA,所以以前那本來就不太好的編程能力也落下了。聽說學習機器學習需要學習Python和C++,這兩種語言學習容易嗎?到能實際應用的程度需要多長時間?因為我學習時間只有兩年,除了準備論文和找工作的時間實際能用來學習的時間不多,所以我必須考慮學習成本。除此之外還需要別的什麼先修知識?

2.畢業之後找工作待遇如何?發展前景怎樣?

人在這個世界上,穿衣吃飯是頭等大事,學習的很大一個目的就是養家糊口。所以,我很關心畢業之後的待遇怎麼樣,雖然個體之間不一樣,每個人的水平不一樣,自然薪資待遇也不同,但是這個行業的普遍水平還是有參考意義的。還有就是這個方向的發展前景如何,學習這個方向的一般去向都是哪些公司。

主要是這兩個問題,如果各位兄台還有別的相關的好的建議和指導還請一併給出,小弟在此先行謝過!


今天看到這個題目,本來想答一下的。但是一忙就忘了。結果一看還被邀請回答這個問題。首先瀉藥。

分割線—————————————————————

題主提的這個問題,其實不應該把機器學習和FPGADSP這兩個東西並列。機器學習是「道」,而FPGADSP不過是「術」。道的逼格當然比術高多了。求道成功以後就成仙了。

不過…求道者多如牛毛,得道者鳳毛麟角。相比於可以通過反覆練習就能習得的術,道是很難求的。因為這不光要靠練習,還要靠悟性。所以叫「悟道」。

分割線——————————————————————

前面務虛的話說完了,說點務實的。

首先,機器學習和FPGADSP的學習本來就不矛盾。FPGADSP這些無非都是一種「載體」而已。利用FPGA或者DSP實現機器學習是很正常的,其實也是我們現在正在做的。當然,我們現在首先的實現平台還是GPU,因為相對成熟一些。

其次,機器學習現在屬於「大殺器」。應用範圍非常廣。「進可俯身壓正太,退可提臀迎眾基」。做互聯網、大數據的要玩機器學習,做圖像識別、機器視覺的要玩機器學習。現在連做IC的都在玩機器學習。現在搞得好像不會點機器學習都不好意思出門了。

最後,機器學習其實蠻有趣的,而且入門不難。很多機器學習演算法直觀而樸素,參考書上的代碼大多清晰明了。作為只是使用機器學習演算法解決工程問題的學生,在這一點上不應該有任何為難。


我是從硬體入行的,12年研究生畢業,分享下俺的經歷。

FPGA、DSP、ARM、單片機都做過。畫過板子,調過電路,拿過一些小獎,研究生階段也主導過系統級(三位數)的方案設計、實現(包含軟硬體)。剛找工作那會兒,我也羨慕互聯網行當的高薪,並期盼那些個土豪公司能把我給收了。那會兒華為等傳統硬體設備製造行業,普遍月薪尚沒到5位數。比起BAT,也實在是寒摻,更別提福利啥的了。

然,以我的項目經理以及半桶水的演算法、編程能力,在互聯網公司實在難以找到匹配的崗位。最後還是以FPGA為主,切入了第一份工作。待遇跟華為差不多。在這裡面待了兩年,待離職時,月薪還未超五位數,淚奔啊~在這兩年里,也接觸了不少的互聯網、硬體相關從業人員,比起互聯網,硬體相關的薪水確實低,沒辦法,行業屬性決定的。

好在這兩年里,雖是FPGA崗,但做的是視頻編碼、圖像演算法的實現。那時候也想著要換行(高薪啊,有木有),所以在做好本職工作的前提下,惡補各種演算法。離職後,順利切入一家小型互聯網公司,薪水幾近於double,貌似離BAT水平還差很多啊~

入職互聯網公司,原以為是件很美好的事。薪水高(比起同等硬體崗位),還輕鬆,朝九晚五,周末不加班。可工作了幾個月之後,發現工作遠不是自己想要的那種,每天就各種調參,整些不痛不癢的演算法調優,實在無趣得很。待時間長了,人肯定得廢掉。

遂決意換工作。也就是現在的這份,嵌入式視覺方向,能很好結合我的軟硬體設計能力,包括半桶水的演算法經驗。大愛。。。

=====分割線===========

貌似你說的這些我都有所經歷或者正身處於其中,談不上啥建議。研究生兩年(第一年幹活+上課,第二年找工作+論文),現在嵌入式視覺也能跟機器學習、深度學習扯上點干係。現在兩年制的學校不多,咱還不會是校友呢吧~

另外想說的是,如果選擇機器學習,要找到一份BAT的工作,你需要付出比旁人多得多的努力。注意,這些旁人中有些原本可就比你勤奮、比你努力哦,不排除還有比你聰明的。另外,在同樣條件下,聽說大公司還有學校(本科)出身論?這可能就需要你比其他人在面試時表現的更突出才行。機器學習我也不大懂,但了解深度學習很多的從業人員貌似每天都在paper啊,paper啊,調參啊,調參啊,訓練模型,訓練模型。。。這確實有點偏向於研究了。

關於語言學習,我向來覺得我是應用型的,夠用就好,Python、C++都會點。話說會C了還會怕其他語言的學習么?

還有一點,很少聽說從純軟體崗轉到硬體崗的,但要是嫌錢少,硬體崗切到軟體崗還是相對容易的。

選擇是需要自己做的,路也是要一步一個腳印踩的。

PS:看到樓上室友的100W期權。忍不住加一句,創業小公司,不談薪水說期權(願景),就是耍流氓。

以上。


ml是互聯網食物連頂端,是八九點鐘的太陽。電子行業已經是暮氣沉沉,互聯網正在革所有行業的命,包括電子。

人類的大腦可以看做是一個個神經元組成的集群,單個神經元只是完成簡單的功能,並且越簡單越穩定越好,將這些神經元連接成網路、建立好層級,智能從中湧現。

為什麼要將自己的青春放到製造已經相對完善的神經元上,組合神經元創造智能不是更有意義嗎。


有人在評論中覺得「machine learning是電子的一個分支」這句話不對。如果你們簡單的認為 machine learning 就是搞高演算法,搞搞知識庫,太局限了。 至少在我了解的幾個machine learning方面都是基於海量數據,進行快速迭代,能否高效的計算並且收斂結果,是關鍵。因此研究用什麼樣的硬體加速,是一個很熱的方向。有人用GPU, 有人用DSP, 有人上FPGA,有人甚至在開ASIC。基於此,我才有「machine learning是電子的一個分支」。 或者通俗一點說,再牛X的演算法,也要有給力的硬體平台。

現在machine learning 死灰復燃,不就是因為硬體更新換代,終於能在可以接受的時間內算出像樣一點的結果了么?

---------------------------------------------------------- 以下是原答 --------------------------------------------

machine learning是電子的一個分支啊,不存在取捨的問題。machine learning的方向很好,很時髦,很有「錢」途啊,且可硬可軟,可互聯網可傳統IT公司。

Google一周再說,不用在知乎這種重文藝輕技術的環境中等答案。科技大牛不用文藝青年指點專業方向,我們只是來學習泡妹子(漢子)技能的。


搞FPGA,DSP就業比較容易啊,但也分搞硬體或者軟體,按照我周邊接觸,DSP軟體工資更高一些。比較火爆的機器人行業,新松機器人,廣數等。深圳的各大科技公司需求旺盛,中興,華為,比亞迪,匯川這類。主要是以製造業為基礎的科技企業。就業容易、工資不低。來一個例子吧,我研究生室友,我是非211的工科學校,畢業到深圳匯川做dsp軟體,干4年了(非常努力),現在到手年薪25w+,股票期權摺合100萬左右。

機器學習方向不了解。


背景介紹:本人准大四學生,ee專業,同時也是CS的准Phd Candidate,方向與machine learning密切相關的vision,樓主的糾結引起了我的共鳴,在vision實驗室搬磚之餘碼了餘下的文字。

其實樓主寫下的兩個方向就業前景都不錯,喜歡哪個就做哪個吧。不必擔心FPGA工程師就業前景,事實上個人覺得硬體工程師不僅待遇不錯,而且貌似隨著年齡增長而增值;也不必擔心轉機器學習跟不上,每年從ee轉到cs的人數不勝數,而且如果你打開很多機器學習的大牛(樓主只認識計算機視覺方向的)的主頁,你會發現很多人本科就是學EE的。

機器學習先修知識(個人見解):線性代數、概率與統計、數值方法、coding。

Best wishes.


我之前搞dsp,後來轉到搞機器學習的,我是兩個都有基礎。如果不想太累,去搞fpga硬體,如果想以後創業做互聯網或者軟體,那就去做機器學習唄


既然愛好電子,為什麼又要去搞機器學習呢?優先推薦還是繼續搞電子,畢竟是更熟悉的領域,好好努力幾年,應該會有不錯的發展。

如果真的被迫搞機器學習,建議多花點時間在實踐能力的鍛煉上。從你的介紹情況來看,應該不會考慮繼續讀博深造。因此如果希望從事機器學習方面的工作,理論研究的希望比較小(積累太淺),工程實踐還有可能,但你又說到編程能力不強,所以要有付出超過別人幾倍努力的心理準備。語言方面從python入手比較合適。C++的坑太深,你的時間又相對有限,還有需要花精力學習機器學習本身,建議酌情學習。

至於如何學好機器學習,知乎上已經有很多經典的帖子,我就不班門弄斧了。國內互聯網公司機器學習數據挖掘類的職位面試主要考察什麼方面的東西? - 數據挖掘機器學習數據挖掘方向的計算機研究生該如何整體提升自己的技術水平? - 百度機器學習該怎麼入門? - 機器學習如何準備機器學習工程師的面試 ? - 數據挖掘

就業前景來說,總體還是不錯的,BAT三大廠都有合適的崗位。題主可以去嘗試一下。

最後,我想說,為什麼不堅持你已經為之付出了很多的興趣呢?


題主你是什麼原因怎麼轉的啊,然而我是電子想轉機器學習怎麼破


題主考的哪裡


對於任何選擇,我的建議只有一個『從心』,敢不敢面對選擇的阻力和困難都是你個人的品質之一

下面兩個問題:

1.數學要學好,好好複習或者重新學習一下線性代數,數理統計和概率論。語言都是小事情,花不了太多時間就能用起來,機器學習重要的是演算法(其實是數據=。=)最好對它產生興趣,才能全情投入,機器學習學起來還是很快樂的一件事,有著老中醫把准了脈的成就感……

2.你知道大數據嗎?


推薦閱讀:

想從事大數據、海量數據處理相關的工作,如何自學打基礎?
PHP或者python進行數據採集和分析,有什麼比較成熟的框架?
超級菜鳥怎麼學習數據分析?
機器學習中使用「正則化來防止過擬合」到底是一個什麼原理?為什麼正則化項就可以防止過擬合?
想在機器學習做演算法的創新是否必須讀博士?

TAG:數據挖掘 | 機器學習 | 現場可編輯邏輯門陣列FPGA | 計算機科學 | BAT百度、阿里巴巴、騰訊 |