Re: [請益] 算是big data的一些相關請益&c++

看板Soft_Job (軟體人)作者 (Insomniac Doze)時間11年前 (2015/02/23 06:58), 11年前編輯推噓16(1606)
留言22則, 18人參與, 最新討論串3/3 (看更多)
※ 引述《joeywayi (拉拉拉吃屎啦)》之銘言: : 餓死抬頭 : 先跟大家拜個年 : 祝大家羊眉吐氣 羊羊得意 : 那先介紹一下自己的背景 : 學過一學期的c++自己本身學完後也頗感興趣於是乎自己開始碰python跟java(才剛碰XDD : 自己的c++只有學到struct跟class還有一點點的I/O : 那由於最近看了蠻多資料的 : 想說想結合本科系(物理)跟大數據來做 : 因為發現蠻多社會上以及經濟上都是所謂的非線性系統 : 好 問題如下 : 我還是個大學生 : 1)如果我想修有關這方面的課程 : 我應該修什麼課呢? : 2)想問一下c++最重要的精髓 : 大概就是如果我要說我大致上瞭解c++ : 我需要學到那些東西? : 以上還請各位先進不吝指教 : 小的先謝謝各位了:) Big data跟雲端一樣同樣都是buzzwords 大數據在這把大傘下其實包含的層面很廣 先看看下面這篇文章好了 http://venturebeat.com/2014/10/31/linkedin-data-science-team/ LinkedIn在DJ Patil的帶領下成立了矽谷第一支data science team (DJ Patil前幾天被任命為白宮第一位Data Scientist) 去年LinkedIn把這個team分拆成product data science和decision science兩個team product data science 角色上比較偏向傳統的engineer 利用data+演算法開發創新的 產品 e.g.People you may know decision science 則是偏向傳統的analyst 透過分析大數據提出決策建議與商業洞見 LinkedIn透過這樣的改組讓data scientist們專注於他們所擅長的工作 首先 你應該要先想清楚你的興趣在哪裡 以及未來希望扮演怎樣的角色 是專注在product的data scientist? 是偏向analytics的data Scientist? 或是偏系統infrastructure的data engineer? 因為你是物理系畢業的 所以在畢業的時候會有不錯的數學/統計知識 並且應該修過微 積分/線代/機率統計/數值分析 有機會的話 建議你把資料結構/演算法/資料庫這些cs 基礎課程補齊 掌握這些知識對你未來將會很有幫助 對於data scientist,你必須要具備machine learning/data mining/ information retrieval/AI的知識,使用ML相關工具對資料進行基本的 classification或clustering. 如果想要專注在product,建議你修一些需要應用大量ML 的課程,例如natural language processing, computer vision, speech recognition 並且有end-to-end的project實作經驗,最好的狀態當然是在這些領域上做independent research. 如果對Analytics比較有興趣,建議你熟悉visualization tool,例如d3, Bokeh,在課堂外大量閱讀,充實人文/經濟/商業以及各個domain的知識,培養自己說故事 的能力. 其他課程例如distributed systems在實務上很有用,你將會學習到電腦如何處 理大量的dataset,從底層的UDP/TCP, asynchronous streaming到高階的Hadoop/Spark. 當你能夠花上時間掌握上述的知識,相信你能夠有個很充實的大學生活. 其他相關的課 程取決於你的興趣以及希望充實的領域,例如probabilistic graphical models,convex optimization, operation research, game theory等等. 依據你的背景,如果你的興趣在data engineer,建議你直接轉系或雙主修CS.因為data engineer還是比較偏向傳統的software engineer,但專注的領域在large-scale distributed system.可以參考Jeff Dean的投影片,思考一下這是不是你所想要的. http://goo.gl/x2sJJm http://goo.gl/w78cDJ http://goo.gl/GDSsRh 回到第二個問題,能夠把c++學好當然很好,但在這領域裡面其實使用的人並不多. 如果你有機會現場參與上週的Strata + Hadoop World,你會發現今年最熱門的關鍵字 是Spark.即便是Spark這樣注重效能的infrastructure,他大部分的codebase還是由 Scala搭起來的(而不是c++). 當你點進去Spark的範例(http://goo.gl/QiaRNH),會看到 Spark的API目前只有提供Python, Scala和Java.我個人的建議是花時間把這三種語言學 好會比學好c++有更高的投資報酬率.原因如下: Python: 方便快速的prototype工具, 豐富的package(scikit-learn, numpy, scipy) Scala: 了解Functional programming的概念, 目前最適合big data production的語言 Java: 了解OO的概念, 相較於python更高效能的code 在實務上,具有決定性因素的往往不在於"硬知識",而是business domain knowledge. 學習硬知識的目的在於利用機器來萃取data裡面的訊息或是使用適當的演算法處理data ,進而自動化商業決策.總之,演算法和程式語言並不是唯一重點,適當地將business domain knlowedge融入系統才是關鍵,對你而言最重要的反而是好奇心與終身學習的心態. Good luck! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 69.106.48.36 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1424645932.A.703.html

02/23 08:16, , 1F
謝謝你!!!這篇我受益無窮啊!!
02/23 08:16, 1F

02/23 08:54, , 2F
02/23 08:54, 2F
※ 編輯: awarmroom (69.106.48.36), 02/23/2015 10:40:46

02/23 10:47, , 3F
02/23 10:47, 3F

02/23 11:01, , 4F
QQ
02/23 11:01, 4F

02/23 12:01, , 5F
謝謝分享
02/23 12:01, 5F

02/23 12:54, , 6F
鉅細彌遺
02/23 12:54, 6F

02/23 13:23, , 7F
推好奇心與終身學習的心態
02/23 13:23, 7F

02/23 13:24, , 8F
02/23 13:24, 8F

02/23 14:01, , 9F
值得m 詳細點出趨勢 謝謝
02/23 14:01, 9F

02/23 14:06, , 10F
PUSH 好文
02/23 14:06, 10F

02/23 15:01, , 11F
好文 想請問parallel programming這方面需要深入了解
02/23 15:01, 11F

02/23 15:05, , 12F
嗎?學校有開CUDA這方面的課程 不知道要不要修
02/23 15:05, 12F

02/23 18:33, , 13F
樓上,看你想作什麼吧?BTW,有些老師教材用的CUDA SDK
02/23 18:33, 13F

02/23 18:33, , 14F
版本很老。要會爬文件改API
02/23 18:33, 14F

02/24 05:45, , 15F
其實machine learning 唸到後來又會回到物理~ 像什麼
02/24 05:45, 15F

02/24 05:45, , 16F
Boltzmann machine, mean-field inference 都是統計
02/24 05:45, 16F

02/24 05:49, , 17F
物理的變化 還有很重要的simulated annealing也是~
02/24 05:49, 17F

02/24 12:40, , 18F
受益推
02/24 12:40, 18F

02/24 15:14, , 19F
謝謝:)
02/24 15:14, 19F

02/25 09:05, , 20F
推啊!寫真好
02/25 09:05, 20F

02/28 14:53, , 21F
推薦這篇! :-)
02/28 14:53, 21F

04/17 00:08, , 22F
這篇太值得一推
04/17 00:08, 22F
文章代碼(AID): #1KwbyiS3 (Soft_Job)
文章代碼(AID): #1KwbyiS3 (Soft_Job)