導航:首頁 > 源碼編譯 > mahout支持演算法

mahout支持演算法

發布時間:2024-10-31 16:41:15

Ⅰ 大數據學習都能幹什麼

大數據學習都能幹什麼?

當下,大數據方面的就業主要有三大方向:一是數據分析類大數據人才,二是系統研發類大數據人才,三是應用開發類大數據人才。他們的基礎崗位分別是大數據系統研發工程師、大數據應用開發工程師、大數據分析師。

對於求職者來說,大數據只是所從事事業的一個方向,而職業崗位則是決定做什麼事?大數據從業者/求職者可以根據自身所學技術及興趣特徵,選擇一個適合自己的大數據相關崗位。下面為大家介紹十種與大數據相關的熱門崗位。

一、ETL研發

企業數據種類與來源的不斷增加,對數據進行整合與處理變得越來越困難,企業迫切需要一種有數據整合能力的人才。ETL開發者這是在此需求基礎下而誕生的一個職業崗位。ETL人才在大數據時代炙手可熱的原因之一是:在企業大數據應用的早期階段,Hadoop只是窮人的ETL。

二、Hadoop開發

隨著數據規模不斷增大,傳統BI的數據處理成本過高企業負擔加重。而Hadoop廉價的數據處理能力被重新挖掘,企業需求持續增長。並成為大數據人才必須掌握的一種技術。

三、可視化工具開發

可視化開發就是在可視化工具提供的圖形用戶界面上,通過操作界面元素,有可視化開發工具自動生成相關應用軟體,輕松跨越多個資源和層次連接所有數據。過去,數據可視化屬於商業智能開發者類別,但是隨著Hadoop的崛起,數據可視化已經成了一項獨立的專業技能和崗位。

四、信息架構開發

大數據重新激發了主數據管理的熱潮。充分開發利用企業數據並支持決策需要非常專業的技能。信息架構師必須了解如何定義和存檔關鍵元素,確保以最有效的方式進行數據管理和利用。信息架構師的關鍵技能包括主數據管理、業務知識和數據建模等。

五、數據倉庫研究

為方便企業決策,出於分析性報告和決策支持的目的而創建的數據倉庫研究崗位是一種所有類型數據的戰略集合。為企業提供業務智能服務,指導業務流程改進和監視時間、成本、質量和控制。

六、OLAP開發

OLAP在線聯機分析開發者,負責將數據從關系型或非關系型數據源中抽取出來建立模型,然後創建數據訪問的用戶界面,提供高性能的預定義查詢功能。

七、數據科學研究

數據科學家是一個全新的工種,能夠將企業的數據和技術轉化為企業的商業價值。隨著數據學的進展,越來越多的實際工作將會直接針對數據進行,這將使人類認識數據,從而認識自然和行為。

八、數據預測分析

營銷部門經常使用預測分析預測用戶行為或鎖定目標用戶。預測分析開發者有些場景看上有有些類似數據科學家,即在企業歷史數據的基礎上通過假設來測試閾值並預測未來的表現。

九、企業數據管理

企業要提高數據質量必須考慮進行數據管理,並需要為此設立數據管家職位,這一職位的人員需要能夠利用各種技術工具匯集企業周圍的大量數據,並將數據清洗和規范化,將數據導入數據倉庫中,成為一個可用的版本。

十、數據安全研究

數據安全這一職位,主要負責企業內部大型伺服器、存儲、數據安全管理工作,並對網路、信息安全項目進行規劃、設計和實施。

Ⅱ 15 個開源的頂級人工智慧工具

斯坦福的專家在人工智慧報告中得出的結論:"越來越強大的人工智慧應用,可能會對我們的 社會 和經濟產生深遠的積極影響,這將出現在從現在到2030年的時間段里。"

以下這些開源人工智慧應用都處於人工智慧研究的最前沿。

1.Caffe

它是由賈揚清在加州大學伯克利分校的讀博時創造的,Caffe是一個基於表達體系結構和可擴展代碼的深度學習框架。使它聲名鵲起的是它的速度,這讓它受到研究人員和企業用戶的歡迎。根據其網站所言,它可以在一天之內只用一個NVIDIA K40 GPU處理6000萬多個圖像。它是由伯克利視野和學習中心(BVLC)管理的,並且由NVIDIA和亞馬遜等公司資助來支持它的發展。

2. CNTK

它是計算機網路工具包(Computational Network Tookit)的縮寫,CNTK是一個微軟的開源人工智慧工具。不論是在單個CPU、單個GPU、多個GPU或是擁有多個GPU的多台機器上它都有優異的表現。微軟主要用它做語音識別的研究,但是它在機器翻譯、圖像識別、圖像字幕、文本處理、語言理解和語言建模方面都有著良好的應用。

3.Deeplearning4j

Deeplearning4j是一個java虛擬機(JVM)的開源深度學習庫。它運行在分布式環境並且集成在Hadoop和Apache Spark中。這使它可以配置深度神經網路,並且它與Java、Scala和其他JVM語言兼容。

4.DMTK

DMTK分布式集齊學習工具(Distributed Machine Learning Toolkit)的縮寫,和CNTK一樣,是微軟的開源人工智慧工具。作為設計用於大數據的應用程序,它的目標是更快的訓練人工智慧系統。它包括三個主要組件:DMTK框架、LightLDA主題模型演算法和分布式(多義)字嵌入演算法。為了證明它的速度,微軟聲稱在一個八集群的機器上,它能夠"用100萬個主題和1000萬個單詞的詞彙表(總共10萬億參數)訓練一個主題模型,在一個文檔中收集1000億個符號,"。這一成績是別的工具無法比擬的。

5.H20

相比起科研,H2O更注重將AI服務於企業用戶,因此H2O有著大量的公司客戶,比如第一資本金融公司、思科、Nielsen Catalina、PayPal和泛美都是它的用戶。它聲稱任何人都可以利用機器學習和預測分析的力量來解決業務難題。它可以用於預測建模、風險和欺詐分析、保險分析、廣告技術、醫療保健和客戶情報。

它有兩種開源版本:標准版H2O和Sparking Water版,它被集成在Apache Spark中。也有付費的企業用戶支持。

6.Mahout

它是Apache基金會項目,Mahout是一個開源機器學習框架。根據它的網站所言,它有著三個主要的特性:一個構建可擴展演算法的編程環境、像Spark和H2O一樣的預制演算法工具和一個叫Samsara的矢量數學實驗環境。使用Mahout的公司有Adobe、埃森哲咨詢公司、Foursquare、英特爾、領英、Twitter、雅虎和其他許多公司。其網站列了出第三方的專業支持。

7.MLlib

由於其速度,Apache Spark成為一個最流行的大數據處理工具。MLlib是Spark的可擴展機器學習庫。它集成了Hadoop並可以與NumPy和R進行交互操作。它包括了許多機器學習演算法如分類、回歸、決策樹、推薦、集群、主題建模、功能轉換、模型評價、ML管道架構、ML持久、生存分析、頻繁項集和序列模式挖掘、分布式線性代數和統計。

8.NuPIC

由Numenta公司管理的NuPIC是一個基於分層暫時記憶理論的開源人工智慧項目。從本質上講,HTM試圖創建一個計算機系統來模仿人類大腦皮層。他們的目標是創造一個"在許多認知任務上接近或者超越人類認知能力"的機器。

除了開源許可,Numenta還提供NuPic的商業許可協議,並且它還提供技術專利的許可證。

9.OpenNN

作為一個為開發者和科研人員設計的具有高級理解力的人工智慧,OpenNN是一個實現神經網路演算法的c++編程庫。它的關鍵特性包括深度的架構和快速的性能。其網站上可以查到豐富的文檔,包括一個解釋了神經網路的基本知識的入門教程

10.OpenCyc

由Cycorp公司開發的OpenCyc提供了對Cyc知識庫的訪問和常識推理引擎。它擁有超過239,000個條目,大約2,093,000個三元組和大約69,000 owl:這是一種類似於鏈接到外部語義庫的命名空間。它在富領域模型、語義數據集成、文本理解、特殊領域的專家系統和 游戲 AI中有著良好的應用。該公司還提供另外兩個版本的Cyc:一個可免費的用於科研但是不開源,和一個提供給企業的但是需要付費。

11.Oryx 2

構建在Apache Spark和Kafka之上的Oryx 2是一個專門針對大規模機器學習的應用程序開發框架。它採用一個獨特的三層λ架構。開發者可以使用Orys 2創建新的應用程序,另外它還擁有一些預先構建的應用程序可以用於常見的大數據任務比如協同過濾、分類、回歸和聚類。大數據工具供應商Cloudera創造了最初的Oryx 1項目並且一直積極參與持續發展。

12.PredictionIO

今年的二月,Salesforce收購了PredictionIO,接著在七月,它將該平台和商標貢獻給Apache基金會,Apache基金會將其列為孵育計劃。所以當Salesforce利用PredictionIO技術來提升它的機器學習能力時,成效將會同步出現在開源版本中。它可以幫助用戶創建帶有機器學習功能的預測引擎,這可用於部署能夠實時動態查詢的Web服務。

13.SystemML

最初由IBM開發,SystemML現在是一個Apache大數據項目。它提供了一個高度可伸縮的平台,可以實現高等數學運算,並且它的演算法用R或一種類似python的語法寫成。企業已經在使用它來跟蹤 汽車 維修客戶服務、規劃機場交通和連接 社會 媒體數據與銀行客戶。它可以在Spark或Hadoop上運行。

14.TensorFlow

TensorFlow是一個谷歌的開源人工智慧工具。它提供了一個使用數據流圖進行數值計算的庫。它可以運行在多種不同的有著單或多CPU和GPU的系統,甚至可以在移動設備上運行。它擁有深厚的靈活性、真正的可移植性、自動微分功能,並且支持Python和c++。它的網站擁有十分詳細的教程列表來幫助開發者和研究人員沉浸於使用或擴展他的功能。

15.Torch

Torch將自己描述為:"一個優先使用GPU的擁有機器學習演算法廣泛支持的科學計算框架",它的特點是靈活性和速度。此外,它可以很容易的通過軟體包用於機器學習、計算機視覺、信號處理、並行處理、圖像、視頻、音頻和網路等方面。它依賴一個叫做LuaJIT的腳本語言,而LuaJIT是基於Lua的。

歡迎關注~

微信公眾號: IT百戰程序員 ,免費提供人工智慧、大數據、雲計算等資料~~不管你在地球哪個方位,歡迎你的關注!

Ⅲ 雲計算的海量數據挖掘工作是怎樣實現的

雲計算屬於新興技術領域,群英雲計算轉一篇關於問題的學術報告吧。對您應該有所幫助。

1引言

目前,人們正處於一個「無處不網、無時不網,人人上網、時時在線」的時代,圖靈獎獲得者吉姆·格雷(Jim Gray)認為,網路環境下每18個月產生的數據量等於過去幾千年的數據量之和。目前互聯網的數據具有海量增長、用戶廣泛、動態變化等特徵。2010年,QQ同時在線的用戶超過1億人,淘寶一年交易次數比上年增長150%,視頻服務Animoto在3天內通過Amazon將其服務能力迅速擴展至75萬用戶。

數據挖掘能夠發現隱含在大規模數據中的知識,提高信息服務的質量。如伊朗事件中twitter快速傳播假消息的識別、Amazon和淘寶網中商品關聯關系分析,以及優酷網中視頻個性化推薦等。海量數據挖掘在國家安全、國民經濟和現代服務業中具有廣泛應用,有助於提升網路環境下信息服務的質量,實現以人為本的信息服務。

從數據挖掘技術的發展歷史看,隨著互聯網的蓬勃發展,數據的規模越來越大,從KB級發展到TB甚至PB級海量數據;數據挖掘的對象也變得越來越復雜,從資料庫、到多媒體數據和復雜社會網路;數據挖掘的需求也從分類、聚類和關聯到復雜的演化和預測分析;挖掘過程中的交互方式從單機的人機交互發展到現在社會網路群體的交互。這種發展給數據挖掘帶來了巨大的挑戰:對於網路環境下產生的TB級和PB級的復雜數據,需要有高效的海量數據挖掘演算法;網路環境下大眾的廣泛參與,需要在數據挖掘演算法中能夠融入群體智慧;同時社會網路的迅速發展使得信息服務的個性化成為必然,要求能夠滿足即時組合的個性化挖掘服務。

雲計算是一種基於互聯網的、大眾參與的計算模式,其計算資源(包括計算能力、存儲能力、交互能力等)是動態、可伸縮、被虛擬化的,並以服務的方式提供 [1] 。具體表現在:雲計算的動態和可伸縮的計算能力為高效海量數據挖掘帶來可能性;雲計算環境下大眾參與的群體智能為研究集群體智慧的新的數據挖掘方法研究提供了環境;雲計算的服務化特徵使面向大眾的數據挖掘成為可能。同時,雲計算發展也離不開數據挖掘的支持,以搜索為例,基於雲計算的搜索包括網頁存儲、搜索處理和前端交互三大部分。數據挖掘在這幾部分中都有廣泛應用,例如網頁存儲中網頁去重、搜索處理中網頁排序和前端交互中的查詢建議,其中每部分都需要數據挖掘技術的支持。

因此,雲計算為海量和復雜數據對象的數據挖掘提供了基礎設施,為網路環境下面向大眾的數據挖掘服務帶來了機遇,同時也為數據挖掘研究提出了新的挑戰性課題。

下面將對並行編程模型、基於並行編程模型高效海量數據挖掘演算法,以及基於雲計算的海量數據挖掘服務相關研究進行綜述。

2並行編程模型相關方法

為了使用戶能夠通過簡單的開發來方便地達到並行計算的效果,研究人員提出了一系列的並行計算模型。並行計算模型在用戶需求和底層的硬體系統之間搭建橋梁使得並行演算法的表示變得更加直觀,對大規模數據的處理更加便捷。根據用戶使用硬體環境的不同,並行編程模型又可以分為在多核機器、GPU計算、大型計算機以及計算機集群上的多種類型。目前比較常用的並行編程介面和模型包括:

pThread介面[2]。pThread是在類Unix系統上進行多線程編程的通用API,為用戶提供了一系列對線程進行創建、管理和各類操作的函數,使用戶能夠方便地編寫多線程程序。

MPI模型[3]。MPI的全稱為消息傳遞介面(Message Passing Interface),它為用戶提供了一系列的介面,使用戶利用消息傳遞的方式來建立進程間的通信機制,從而方便地對各種演算法進行並行實現。

MapRece模型[4]。MapRece模型是由谷歌公司提出的並行編程框架,它首先為用戶提供分布式的文件系統,使用戶能方便地處理大規模數據;然後將所有的程序運算抽象為Map和Rece兩個基本操作,在Map階段模型將問題分解為更小規模的問題,並在集群的不同節點上執行,在Rece階段將結果歸並匯總。MapRece是一個簡單,但是非常有效的並行編程模型。

Pregel模型[5]。Pregel同樣是由谷歌公司提出的專門針對圖演算法的編程模型,能夠為大規模數據的圖演算法提供並行支持。一個典型的Pregel計算過程將在圖上進行一系列的超級步驟(SuperSteps),在每個超級步驟中,所有頂點的計算都並行地執行用戶定義的同一個函數,並通過一個「投票」機制來決定程序是否停止。

CUDA模型①。CUDA是由NVIDIA公司提出的一個基於GPU的並行計算模型。由於GPU在設計需求上與普通CPU不同,GPU通常被設計為能較慢地執行許多並發的線程,而不是較快的連續執行多個線程,這使得GPU在並行計算上有先天的優勢。CUDA為用戶提供了利用GPU計算的各種介面,使程序員能夠像在普通電腦上進行CPU編程那樣進行GPU程序的編寫。

此外還有OpenMP、PVM、OpenCL等各種並行編程模型和方法。這些並行編程和方法一般都提供了主流編程語言的實現,從而使得用戶能根據自身編程習慣來選用。

另一方面,隨著雲計算的不斷推廣,還出現了各種商用的並行計算/雲計算平台,為用戶提供並行計算服務。這其中比較著名的包括微軟的Azure平台、Amazon公司的EC2平台、IBM公司的藍雲平台、谷歌公司的Google App Engine等。各大IT公司也紛紛開發自己的並行計算模型/框架作為自身技術服務的基本平台,這使得並行計算技術得到了更加快速的發展。

3基於並行編程模型高效海量數據挖掘演算法研究

為了實現海量數據上的數據挖掘,大量分布式並行數據挖掘演算法被提出。Bhari et al[6]整理了一個十分詳盡的並行數據挖掘演算法文獻目錄,包含了關聯規則學習、分類、聚類、流數據挖掘四大類分布式數據挖掘演算法,同時還包括分布式系統、隱私保護等相關的研究工作。

MapRece並行編程模型具有強大的處理大規模數據的能力,因而是海量數據挖掘的理想編程平台。數據挖掘演算法通常需要遍歷訓練數據獲得相關的統計信息,用於求解或優化模型參數。在大規模數據上進行頻繁的數據訪問需要耗費大量運算時間。為了提高演算法效率,斯坦福大學Chu et al[7]提出了一種適用於大量機器學習演算法的通用並行編程方法。通過對經典的機器學習演算法進行分析可以發現,演算法學習過程中的運算都能轉化為若干在訓練數據集上的求和操作;求和操作可以獨立地在不同數據子集上進行,因此很容易在MapRece編程平台上實現並行化執行。將大規模的數據集分割為若乾子集分配給多個Mapper節點,在Mapper節點上分別執行各種求和操作得到中間結果,最後通過Rece節點將求和結果合並,實現學習演算法的並行執行。在該框架下,Chu et al實現了十種經典的數據挖掘演算法,包括線性回歸、樸素貝葉斯、神經網路、主成分分析和支持向量機等,相關成果在NIPS 2006會議上發表。

Ranger et al[8]提出了一個基於MapRece的應用程序編程介面Phoenix,支持多核和多處理器系統環境下的並行程序設計。Phoenix能夠進行緩存管理、錯誤恢復和並發管理。他們使用Phoenix實現了K-Means、主成分分析和線性回歸三種數據挖掘演算法。

Gillick et al[9]對單程學習(Single-pass)、迭代學習(Iterative Learning)和基於查詢的學習(Query-based Learning)三類機器學習演算法在MapRece框架下的性能分別做了評測。他們對並行學習演算法涉及到的如何在計算節點之間的共享數據、如何處理分布式存儲數據等問題進行了研究。

Mahout①是APS(Apache Software Foundation)旗下的一個開源數據挖掘項目,通過使用Apache Hadoop庫,可以實現大規模數據上的並行數據挖掘,包括分類、聚類、頻繁模式挖掘、回歸、降維等演算法,目前已經發布了四個版本。

4基於雲計算的海量數據挖掘服務研究

雲計算除了給用戶提供通用的並行編程模型和大規模數據處理能力之外,另一個重要的特點是為用戶提供開放的計算服務平台。在數據挖掘方向,現在也有一系列的系統被開發出來,面向公眾提供數據挖掘服務雲計算平台。

Talia et al[10]提出可以從四個層次提供雲計算數據挖掘服務:底層為組成數據挖掘演算法的基本步驟;第二層為單獨的數據挖掘服務,例如分類、聚類等;第三層為分布式的數據挖掘模式,例如並行分類、聚合式機器學習等;第四層為之前三層元素構成的完整的數據挖掘應用。在此設計基礎上,他們設計了基於雲計算的數據挖掘開放服務框架,並開發了一系列的數據挖掘服務系統,例如Weka4WS、Knowledge Grid、Mobile Data Mining Services、Mining@home等,用戶可以利用圖形界面定義自己的數據挖掘工作流,然後在平台上執行。

PDMiner[11]是由中國科學院計算技術研究所開發的基於Hadoop的並行分布式數據挖掘平台,該系統現在已經用於中國移動通信企業TB級實際數據的挖掘。PDMiner提供了一系列並行挖掘演算法和ETL操作組件,開發的ETL演算法絕大多數達到了線性加速比,同時具有很好的容錯性。PDMiner的開放式架構可以使用戶將演算法組件經過簡單配置方便地封裝載入到系統中。

此外,商業智能領域的各大公司也提供面向企業的大規模數據挖掘服務,例如微策略、IBM、Oracle等公司都擁有自己的基於雲計算的數據挖掘服務平台。

5總結和展望

通過雲計算的海量數據存儲和分布計算,為雲計算環境下的海量數據挖掘提供了新方法和手段,有效解決了海量數據挖掘的分布存儲和高效計算問題。開展基於雲計算特點的數據挖掘方法的研究,可以為更多、更復雜的海量數據挖掘問題提供新的理論與支撐工具。而作為傳統數據挖掘向雲計算的延伸和豐富,基於雲計算的海量數據挖掘將推動互聯網先進技術成果服務於大眾,是促進信息資源的深度分享和可持續利用的新方法、新途徑。

Ⅳ mahout包括哪些演算法

一、分類演算法

(一)Logistic 回歸(SGD)

(二)Bayesian 

(三)SVM

(四)Perceptron 和Winnow

(五)神經網路

(六)隨機森林

(七)受限玻爾茲曼機

(八)Boosting

(九)HMM

(十)Online Passive Aggressive

二、聚類演算法

(一)Canopy

(二)K-Means

(三)Fuzzy K-means

(四)EM

(五)Mean shift

(六)層次聚類

(七)Dirichlet process 

(八)LDA

(九)Spectral 

(十)MinHash

(十一)Top Down

三、推薦演算法

           Mahout包括簡單的非並行的推薦和基於Hadoop的並行推薦的實現。

(一)非並行推薦

(二)分布式的基於Item的協同過濾

(三)並行矩陣分解的協同過濾

四、關聯規則挖掘演算法

 

並行FP-Growth 

五、回歸

Locally Weighted Linear Regression

六、降維

(一)SVD

(二)SSVD

(三)PCA

(四)ICA

(五)GDA

七、進化演算法

八、向量相似性計算

閱讀全文

與mahout支持演算法相關的資料

熱點內容
華為榮耀系統編譯 瀏覽:730
看板塊app哪個好用 瀏覽:666
java即時編譯結果怎麼保存 瀏覽:907
java工程師在深圳 瀏覽:656
手機sql編譯軟體 瀏覽:524
外網伺服器地址購買 瀏覽:994
空調壓縮機電容價格 瀏覽:381
小程序選什麼雲伺服器 瀏覽:656
如何把java編譯回中文 瀏覽:777
天聯軟體伺服器地址是什麼 瀏覽:964
stc單片機加密 瀏覽:140
小程序地產廣告源碼 瀏覽:542
消費者信息加密私域 瀏覽:431
程序員開發團隊可以怎麼創業 瀏覽:925
設備共享伺服器是什麼意思 瀏覽:126
java符號類型 瀏覽:331
redis客戶端java 瀏覽:214
javatn 瀏覽:278
應用寶哪裡下載王卡免流量app 瀏覽:235
uv7代噴頭加密與不加密 瀏覽:467