學習數據挖掘,機器學習的正確姿勢?
大半年過去了,數據挖掘無疑是充滿想像力的工作,不過我還是轉行做軟體開發了。linux和windows系統編程。感覺這方面我比數據分析專業得多。
轉行的原因主要有兩個吧1公司沒多少數據,2數學不過硬。謝謝各位大佬的建議===如題,希望各位大俠給點建議,少走點彎路。在下並非純正cs血統,找工作的目標是後台開發,面試時也是沖著這個來的。 演算法,系統,網路,編譯原理這些學得還過得去吧,但是入職後卻被安排做數據挖掘這塊。 在下對這方面基本一竅不通,也想不明白為什麼會被安排這個工作,在下只是想開發些軟體,寫點小代碼。 男人不能說不行,只能上了,目前在看『數據挖掘導論』,感覺hard,主要是數學忘記得差不多了。 說實話,在下的性趣不在數據分析,對數學不敏感,年紀也大了,想easy,不想hard,沒勇氣翻開床頭那幾本高數,怎麼辦啊,求指教
開發界曾經有個說法,學那些演算法沒用,重點是學好語言和框架,現實中誰會讓你去從零寫演算法。
這個言論隨著大家姿勢水平的不斷提高被徹底摒棄了。 演算法培養的是看問題的思路。今天用不上,但卻是你五年後的根基。
同樣的東西,和今日「ML沒用,現實中的Data Science都是調包」這個言論真心是異曲同工啊。成為一名調包俠只能解決暫時的問題,不能解決長遠的問題啊。你看R和python有那麼多包可以調,確實很方便,特別是R。但是你的演算法是要和業務結合的,如果不清楚其中實現的邏輯,想改一下演算法,或者將幾個演算法結合在一起用,你該怎麼用呢。不是所有的數據用個演算法一套,調下參數就ok了。至少先把你常用的演算法用你熟悉的語言完整實現一遍(不調用包,自己寫),再慢慢摸索。吐槽了這麼多,推薦你幾本書吧:集體智慧編程、機器學習實戰、統計學習方法。這三本都還不錯啊,講的通俗易懂。導論這種類型的書只是用來看一下過一遍的,最重要的還是自己多敲代碼。不推薦你英文書了,既然你想easy,不想hard,估計你也是沒有這個心看完整本英文書的,即使很多英文書比中文更好。
選一個吧,
Data Scientist
背景可以是數學、物理、統計、電類、計算機。
需要去鑽讀那幾本神書,ESL、PRML等等。需要在真實數據上有過應用模型,調參的經驗。調現有的庫是可以的啦。不過實現過幾個常用模型是基本功。需要懂得如何使用分散式存儲與計算平台。你看這任務就很艱巨了,寫代碼的時間沒有那麼那麼多。數據理解的好,模型用的對是王道。Data Engineer
目標是用代碼實現性能優秀的分散式架構的機器學習計算平台,比如最近看到個很刁的項目MXNet。需要紮實的計算機背景。
C++、設計模式、操作系統、網路編程、多線程編程手到擒來。架構方面有工程實踐上的經驗。代碼寫得好,機器性能調動得好是王道。歡迎指點。題主覺得《數據挖掘導論》屬於hard……看了ESL這本你會覺得大學課上的那點數學簡直就像做加減法。
好吧。其實機器學習除了數學之外,還有一個非常重要的方向,就是分散式架構。如今互聯網公司的數據規模,都非常依賴Hadoop之類的分散式架構來做機器學習。
題主更擅長非數學類的CS知識的話,那麼走架構的道路會非常適合你。現在大規模機器學習的架構還有很多空白領域,很多問題在業界內並沒有通用的解決方案。Hadoop和Spark目前也只能解決其中的一小部分問題,遇到非線性模型和非凸模型(概率圖,神經網這種)都需要專門開發一套新的框架。
所以機器學習是未來二十年CS中非常有想像力的一個方向,米多空間大,是值得在其中投入時間和精力的。如果沒有翻開高數的勇氣,也沒有高等數學的基礎,私以為好好學ml這個目標是不可能了……
個人經驗:Calculus -&> Multivariable, Discrete Math -&> Linear Algebra -&> Numerical computing, Statistics -&> Machine Learning沒數學基礎啃Machine Learning就是作死啊,演算法只是實現數學模型的方法,太基礎啦。
雖然我也只是入門而已,但是有個知乎名句:要有造輪子的能力和不重複造輪子的覺悟。
遇到問題也是多google,多請教,多翻書,多思考而已,並無捷徑。共勉。先成為一名調包俠,再成為一名調參俠
哈哈哈哈哈
最後,一身披風,一個轉身,造就一段傳奇
自問自答,擼了一個月,吃了幾本書,感覺上手了。但很多問題本質還是數學問題,比如svm,一堆數學理論,身心疲憊,換工作了,不喜歡數字遊戲
求換工作
machine learning 2015版,不過現在還在學爬,學會走還得一陣子,跑?還早著
推薦閱讀:
※數據治理的主戰場,商業智能還是數據挖掘?
※免費申請 | 2000冊《數據實踐之美》等你拿
※專欄導讀
※Pandas | 表格整合三大神技之CONCATENATE
TAG:數據挖掘 | 機器學習 | 模式識別 | 大數據 | 深度學習DeepLearning |