Ⅰ 數據挖掘工程師需要懂哪些知識
1、需要理解主流機器學習演算法的原理和應用。
2、需要熟悉至少一門編程語言如(python、C、C++、Java、Delphi等)。
3、需要理解資料庫原理,能夠熟練操作至少一種資料庫(Mysql、SQL、DB2、Oracle等),能夠明白MapRece的原理操作以及熟練使用Hadoop系列工具更好。
4、經典圖書推薦:《數據挖掘概念與技術》、《機器學習實戰》、《人工智慧及其應用》、《資料庫系統概論》、《演算法導論》、《Web數據挖掘》、《 Python標准庫》、《thinking in Java》、《Thinking in C++》、《數據結構》等。
Ⅱ 機器學習的演算法和普通《演算法導論》里的演算法有什麼本質上的異同
作者:董可人
鏈接:http://www.hu.com/question/24976006/answer/29682806
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。
演算法導論里的演算法本質上是對有精確解的問題,如何更有效率地求得這個解。這個效率可以是計算時間更短,也可以是計算過程所需要的空間更少。
一個簡單的例子是,給定一個亂序數組,如何快速的將其按從小到大的順序重新排列,或者找到其中的中位數。這些問題都有確定且唯一的答案,一般都會有一個笨方法(窮舉或遍歷),只要一步一步來就可以解,所謂演算法只是如何精簡步驟,更快更省事地找到這個解。這些演算法處理的數據也都是結構簡潔且干凈的類型,比如數組,二叉樹,圖之類的數據結構。數據規模對於這些演算法而言,影響的是計算所需的時間和空間,不會因為規模改變而影響演算法本身的邏輯以及計算的結果。
機器學習要解決的問題一般沒有精確解,也不能用窮舉或遍歷這種步驟明確的方法找到解,而且需要強調的是「學習」這個屬性,即希望演算法本身能夠根據給定的數據或計算環境的改變而動態的發現新的規律,甚至改變演算法程序的邏輯和行為。
舉例來說,可以是把一千份文檔歸類到不同的幾個類別里。最簡單的可以是給定幾個類別,比如新聞,小說,詩歌等,演算法來根據文章內容自動劃分到對應的類別里。這里可以看出這個問題即使讓人做,也有很多模糊不能確定的地方,比如一篇法制晚報上的犯罪紀實是應該劃到新聞,還是小說呢?或者說一篇長詩比如荷馬史詩是應該歸在小說還是詩歌呢?機器學習演算法想要解決的,就是根據從文章內容里找到的規律,來自動的給出一個劃分。而不同演算法可以給出不同的解,這些解都可以是「正確」的,所以一般還需要人為設計一個評判標准來決定孰優孰劣。
也可以不事先給定類別,而是讓演算法自己去發現文章中的規律,把相似度高的文章劃分到一起。這樣不同的演算法可能給出不同數量的類別劃分,可能是三個,四個,或者五個,也都可以是「正確」的劃分。甚至什麼是「相似度」,不同演算法也可以給出不同解釋,可以是名詞動詞形容詞的詞頻及比例,也可以是句子的語法結構等。
更進一步的,你可能還希望這個演算法能夠用來判斷一份新的文檔的類別。而輸入的新文檔越多,也會進一步擴大初始數據集的規模,規模變大以後,原來數據中不明顯的規律可能就變明顯了。比如說原來一千份文檔中只有一篇議論文,可能大多演算法都無法把它單獨劃出一個類別,但當你持續輸入一百份議論文後,數據中議論文的比例就變成了101/1100,差不多10%,這時候演算法就應該劃分出單獨的議論文類別。在這個意義上,數據本身也對演算法有很大的影響,這也是和演算法導論中的演算法的一個本質區別。
技術上說,演算法導論中的演算法關注點在數據結構和計算復雜度,屬於離散數學的一個分支,不涉及微積分等高等數學概念。機器學習的演算法本身是基於概率,統計和優化(optimization)等理論和技術,從這個角度上說給人感覺更「數學」一點。
在具體的實現細節上,機器學習的演算法會大量應用演算法導論中的技術來改進計算效率。但需要強調這僅僅是對底層實現來說,在演算法本身的邏輯上,二者沒有太多聯系。換句話說,演算法導論中的技術可以幫助你寫出更快的程序來運行機器學習演算法,但是這對機器學習要解決的問題本身是沒有什麼幫助的。熟練使用二叉樹散列表,准確估算一個圖演算法的復雜度,都沒有任何可能幫助你猜到在女朋友過生日時送什麼禮物最好(使用了機器學習演算法的淘寶君卻很可能知道!)。因此不要把它們看成是搭積木拼構件的關系。
最後,如果以上解釋仍然讓你費解,那麼還有一個更通俗的解釋:演算法導論是教你如何數數,而機器學習基本上相當於星座算命。一個很機械,一個靠忽悠,差不多就是這樣吧。
具體分析見鏈接:http://www.hu.com/question/24976006
Ⅲ 機器學習的書看不懂怎麼辦
1:個人覺得李航的《統計學習方法》還算可以,屬於基本的機器學習入門書籍。
2:具體可以結合andrew ng的機器學習視頻看--->可以去網易公開課找到,斯坦福大學機器學習
3:嘗試實現一些最基礎的演算法。最簡單的比如樸素貝葉斯分類器,我當年實現第一個機器學習演算法,現在想想還是很激動的。後面的像SVM,決策樹也可以試試。
4:一定要做一點應用,不然,感覺都是理論,一點感覺都不會有的。比如上面的樸素貝葉斯分類器就可以做一個垃圾郵件過濾系統。
5:還有一本書似乎是韓家煒的數據挖掘導論,沒讀過,但是網上推薦挺多的。
6:等你到了一定水平,就可以啃啃PRML了,這個太經典了,有點類似演算法中的演算法導論
Ⅳ 華為首席科學家李航博士:我是怎麼樣理解機器學習的
1:個人覺得李航的《統計學習方法》還算可以,屬於基本的機器學習入門書籍。2:具體可以結合andrewng的機器學習視頻看--->可以去網易公開課找到,斯坦福大學機器學習3:嘗試實現一些最基礎的演算法。最簡單的比如樸素貝葉斯分類器,我當年實現第一個機器學習演算法,現在想想還是很激動的。後面的像SVM,決策樹也可以試試。4:一定要做一點應用,不然,感覺都是理論,一點感覺都不會有的。比如上面的樸素貝葉斯分類器就可以做一個垃圾郵件過濾系統。5:還有一本書似乎是韓家煒的數據挖掘導論,沒讀過,但是網上推薦挺多的。6:等你到了一定水平,就可以啃啃PRML了,這個太經典了,有點類似演算法中的演算法導論7:至於後來,好吧,我還在啃PRML。。。。讓其他人說吧。。。
Ⅳ 系統的學習人工智慧需要學習什麼
人工智慧是一個包含很多學科的交叉學科,你需要了解計算機的知識、資訊理論、控制論、圖論、心理學、生物學、熱力學,要有一定的哲學基礎,有科學方法論作保障。人工智慧學習路線最新版本在此奉上:
首先你需要數學基礎:高等數學,線性代數,概率論數理統計和隨機過程,離散數學,數值分析;
其次需要演算法的積累:人工神經網路,支持向量機,遺傳演算法等等演算法;
當然還有各個領域需要的演算法,比如你要讓機器人自己在位置環境導航和建圖就需要研究SLAM;
演算法很多需要時間的積累。
然後,需要掌握至少一門編程語言,畢竟演算法的實現還是要編程的;如果深入到硬體,一些電類基礎課必不可少;
人工智慧一般要到研究生才會去學,本科也就是蜻蜓點水看看而已,畢竟需要的基礎課過於龐大。
剛才提到的這些學科的每一門都是博大精深的,但同時很多事物都是相通的,你學了很多知識有了一定的基礎的時候再看相關知識就會觸類旁通,很容易。在這中間關鍵是要有自己的思考,不能人雲亦雲。畢竟,人工智慧是一個正在發展並具有無窮挑戰和樂趣的學科。
人工智慧的首選語言是Python,因此大家一定要學好Python語言。人工智慧學習的重點是機器學習:
1、斯坦福大學公開課 :機器學習課程
2、數據分析競賽kaggle
3、Deep learning-author Joshua Bengio
機器學習書單python實戰編程
1、Python for Data Analysis
2、SciPy and NumPy
3、Machine Learning for Hackers
4、Machine Learning in Action
Ⅵ 初步學習Java大數據需要看什麼書嗎
從入門到精通
Ⅶ 有哪些數據分析、數據挖掘的書推薦下
1. 深入淺出數據分析 (豆瓣) 這書挺簡單的,基本的內容都涉及了,說得也比較清楚,最後談到了R是大加分。
難易程度:非常易。
2. 啤酒與尿布 (豆瓣) 通過案例來說事情,而且是最經典的例子。
難易程度:非常易。
3. 數據之美 (豆瓣) 一本介紹性的書籍,每章都解決一個具體的問題,甚至還有代碼,對理解數據分析的應用領域和做法非常有幫助。
難易程度:易。
4. 集體智慧編程 (豆瓣) 學習數據分析、數據挖掘、機器學習人員應該仔細閱讀的第一本書。作者通過實際例子介紹了機器學習和數據挖掘中的演算法,淺顯易懂,還有可執行的Python代碼。
難易程度:中。
5. Machine Learning in Action (豆瓣) 用人話把復雜難懂的機器學習演算法解釋清楚了,其中有零星的數學公式,但是是以解釋清楚為目的的。而且有Python代碼,大贊!目前中科院的王斌老師(微博: @王斌_ICTIR)已經翻譯這本書了 機器學習實戰 (豆瓣)。這本書本身質量就很高,王老師的翻譯質量也很高。
難易程度:中。
6. 推薦系統實踐 (豆瓣) 這本書不用說了,研究推薦系統必須要讀的書,而且是第一本要讀的書。
難易程度:中上。
7. 數據挖掘導論 (豆瓣) 最近幾年數據挖掘教材中比較好的一本書,被美國諸多大學的數據挖掘課作為教材,沒有推薦Jiawei Han老師的那本書,因為個人覺得那本書對於初學者來說不太容易讀懂。
難易程度:中上。
8. The Elements of Statistical Learning (豆瓣) 這本書有對應的中文版:統計學習基礎 (豆瓣)。書中配有R包,非常贊!可以參照著代碼學習演算法。
難易程度:難。
9. 統計學習方法 (豆瓣) 李航老師的扛鼎之作,強烈推薦。
難易程度:難。
10. Pattern Recognition And Machine Learning (豆瓣) 經典中的經典。
這些都是在「綠色BI論壇」http://www.powerbibbs.com 找到的,這個論壇經常有數據分析的干貨分享,你可以看一下。
Ⅷ 如何通過自學,成為數據挖掘"高手
需要理解主流機器學習演算法的原理和應用。
需要熟悉至少一門編程語言如(Python、C、C++、Java、Delphi等)。
需要理解資料庫原理,能夠熟練操作至少一種資料庫(Mysql、SQL、DB2、Oracle等),能夠明白MapRece的原理操作以及熟練使用Hadoop系列工具更好。
經典圖書推薦:《數據挖掘概念與技術》、《機器學習實戰》、《人工智慧及其應用》、《資料庫系統概論》、《演算法導論》、《Web數據挖掘》、《 Python標准庫》、《thinking in Java》、《Thinking in C++》、《數據結構》等。
數據挖掘涵蓋面很廣,系統的學習個人建議依照以下路線:
找一本教材,個人推薦李航的《統計機器學習》
可以去看網易上關於機器學習的公開課,超級棒。結合教材和視頻,將機器學習演算法的公式推一遍,然後用Matlab或者python跑一跑數據,找點感覺。
對於數學也要加強,特別在概率論方面。
上面說的是機器學習,其實已經包括了數據挖掘的大部分,在上面了解的差不多之後 ,可以試著去做一些有意思的項目,比如去分析女神的微博情感,或者參加一些數據挖掘比賽,kaggle上有很多比賽可以去做。
如果你想從事數據挖掘,你必須具備:數據挖掘模型、演算法的數學知識以及一些數據分析軟體(SPSS、SAS、matlab、clementine)
一些資料庫相關的知識(oracle、mySQL)了解市場、其它部門需求當然這些都是一點一滴積累起來的,沒必要一蹴而就,特別是對市場、行業的了解以及對公司其它部門的需求的理解非常重要,這決定了你能否從基礎的分析人員上升到產品層、決策層,都是要在實際的工作中積累起來的。
Ⅸ 初學者如何學演算法
先看看兩本書,一本數據結構,一本離散數學。。。看完以後你就會。。。。
Ⅹ 機器學習學習路徑都需要看那些書
機器學習的學習應該看哪些書籍
1:個人覺得李航的《統計學習方法》還算可以,屬於基本的機器學習入門書籍。
2:具體可以結合andrew ng的機器學習視頻看--->可以去網易公開課找到,斯坦福大學機器學習
3:嘗試實現一些最基礎的演算法。最簡單的比如樸素貝葉斯分類器,我當年實現第一個機器學習演算法,現在想想還是很激動的。後面的像SVM,決策樹也可以試試。
4:一定要做一點應用,不然,感覺都是理論,一點感覺都不會有的。比如上面的樸素貝葉斯分類器就可以做一個垃圾郵件過濾系統。
5:還有一本書似乎是韓家煒的數據挖掘導論,沒讀過,但是網上推薦挺多的。
6:等你到了一定水平,就可以啃啃PRML了,這個太經典了,有點類似演算法中的演算法導論7:至於後來,好吧,我還在啃PRML。。。。讓其他人說吧。。