機器學(xué)**無疑是當前數(shù)據(jù)分析領(lǐng)域的一個熱點內(nèi)容。很多人在平時的工作中都或多或少會用到機器學(xué)**的算法。這里IT經(jīng)理網(wǎng)為您總結(jié)一下常見的機器學(xué)**算法,以供您在工作和學(xué)**中參考。
機器學(xué)**的算法很多。很多時候困惑人們都是,很多算法是一類算法,而有些算法又是從其他算法中延伸出來的。這里,我們從兩個方面來給大家介紹,第一個方面是學(xué)**的方式,第二個方面是算法的類似性。
學(xué)**方式
根據(jù)數(shù)據(jù)類型的不同,對一個問題的建模有不同的方式。在機器學(xué)**或者人工智能領(lǐng)域,人們首先會考慮算法的學(xué)**方式。在機器學(xué)**領(lǐng)域,有幾種主要的學(xué)**方式。將算法按照學(xué)**方式分類是一個不錯的想法,這樣可以讓人們在建模和算法選擇的時候考慮能根據(jù)輸入數(shù)據(jù)來選擇最合適的算法來獲得最好的結(jié)果。
監(jiān)督式學(xué)**:
在監(jiān)督式學(xué)**下,輸入數(shù)據(jù)被稱為“訓(xùn)練數(shù)據(jù)”,每組訓(xùn)練數(shù)據(jù)有一個明確的標識或結(jié)果,如對防垃圾郵件系統(tǒng)中“垃圾郵件”“非垃圾郵件”,對手寫數(shù)字識別中的“1“,”2“,”3“,”4“等。在建立預(yù)測模型的時候,監(jiān)督式學(xué)**建立一個學(xué)**過程,將預(yù)測結(jié)果與“訓(xùn)練數(shù)據(jù)”的實際結(jié)果進行比較,不斷的調(diào)整預(yù)測模型,直到模型的預(yù)測結(jié)果達到一個預(yù)期的準確率。監(jiān)督式學(xué)**的常見應(yīng)用場景如分類問題和回歸問題。常見算法有邏輯回歸(Logistic Regression)和反向傳遞神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)
非監(jiān)督式學(xué)**:
在非監(jiān)督式學(xué)**中,數(shù)據(jù)并不被特別標識,學(xué)**模型是為了推斷出數(shù)據(jù)的一些內(nèi)在結(jié)構(gòu)。常見的應(yīng)用場景包括關(guān)聯(lián)規(guī)則的學(xué)**以及聚類等。常見算法包括Apriori算法以及k-Means算法。
半監(jiān)督式學(xué)**:
在此學(xué)**方式下,輸入數(shù)據(jù)部分被標識,部分沒有被標識,這種學(xué)**模型可以用來進行預(yù)測,但是模型首先需要學(xué)**數(shù)據(jù)的內(nèi)在結(jié)構(gòu)以便合理的組織數(shù)據(jù)來進行預(yù)測。應(yīng)用場景包括分類和回歸,算法包括一些對常用監(jiān)督式學(xué)**算法的延伸,這些算法首先試圖對未標識數(shù)據(jù)進行建模,在此基礎(chǔ)上再對標識的數(shù)據(jù)進行預(yù)測。如圖論推理算法(Graph Inference)或者拉普拉斯支持向量機(Laplacian SVM.)等。
強化學(xué)**:
在這種學(xué)**模式下,輸入數(shù)據(jù)作為對模型的反饋,不像監(jiān)督模型那樣,輸入數(shù)據(jù)僅僅是作為一個檢查模型對錯的方式,在強化學(xué)**下,輸入數(shù)據(jù)直接反饋到模型,模型必須對此立刻作出調(diào)整。常見的應(yīng)用場景包括動態(tài)系統(tǒng)以及機器人控制等。常見算法包括Q-Learning以及時間差學(xué)**(Temporal difference learning)
在企業(yè)數(shù)據(jù)應(yīng)用的場景下, 人們最常用的可能就是監(jiān)督式學(xué)**和非監(jiān)督式學(xué)**的模型。 在圖像識別等領(lǐng)域,由于存在大量的非標識的數(shù)據(jù)和少量的可標識數(shù)據(jù), 目前半監(jiān)督式學(xué)**是一個很熱的話題。 而強化學(xué)**更多的應(yīng)用在機器人控制及其他需要進行系統(tǒng)控制的領(lǐng)域。
算法類似性
根據(jù)算法的功能和形式的類似性,我們可以把算法分類,比如說基于樹的算法,基于神經(jīng)網(wǎng)絡(luò)的算法等等。當然,機器學(xué)**的范圍非常龐大,有些算法很難明確歸類到某一類。而對于有些分類來說,同一分類的算法可以針對不同類型的問題。這里,我們盡量把常用的算法按照最容易理解的方式進行分類。
回歸算法:
回歸算法是試圖采用對誤差的衡量來探索變量之間的關(guān)系的一類算法?;貧w算法是統(tǒng)計機器學(xué)**的利器。在機器學(xué)**領(lǐng)域,人們說起回歸,有時候是指一類問題,有時候是指一類算法,這一點常常會使初學(xué)者有所困惑。常見的回歸算法包括:最小二乘法(Ordinary Least Square),邏輯回歸(Logistic Regression),逐步式回歸(Stepwise Regression),多元自適應(yīng)回歸樣條(Multivariate Adaptive Regression Splines)以及本地散點平滑估計(Locally Estimated Scatterplot Smoothing)
基于實例的算法
基于實例的算法常常用來對決策問題建立模型,這樣的模型常常先選取一批樣本數(shù)據(jù),然后根據(jù)某些近似性把新數(shù)據(jù)與樣本數(shù)據(jù)進行比較。通過這種方式來尋找最佳的匹配。因此,基于實例的算法常常也被稱為“贏家通吃”學(xué)**或者“基于記憶的學(xué)**”。常見的算法包括 k-Nearest Neighbor(KNN), 學(xué)**矢量量化(Learning Vector Quantization, LVQ),以及自組織映射算法(Self-Organizing Map , SOM)
正則化方法
正則化方法是其他算法(通常是回歸算法)的延伸,根據(jù)算法的復(fù)雜度對算法進行調(diào)整。正則化方法通常對簡單模型予以獎勵而對復(fù)雜算法予以懲罰。常見的算法包括:Ridge Regression, Least Absolute Shrinkage and Selection Operator(LASSO),以及彈性網(wǎng)絡(luò)(Elastic Net)。
決策樹學(xué)**
決策樹算法根據(jù)數(shù)據(jù)的屬性采用樹狀結(jié)構(gòu)建立決策模型, 決策樹模型常常用來解決分類和回歸問題。常見的算法包括:分類及回歸樹(Classification And Regression Tree, CART), ID3 (Iterative Dichotomiser 3), C4.5, Chi-squared Automatic Interaction Detection(CHAID), Decision Stump, 隨機森林(Random Forest), 多元自適應(yīng)回歸樣條(MARS)以及梯度推進機(Gradient Boosting Machine, GBM)
貝葉斯方法
貝葉斯方法算法是基于貝葉斯定理的一類算法,主要用來解決分類和回歸問題。常見算法包括:樸素貝葉斯算法,平均單依賴估計(Averaged One-Dependence Estimators, AODE),以及Bayesian Belief Network(BBN)。
基于核的算法
基于核的算法中最著名的莫過于支持向量機(SVM)了。 基于核的算法把輸入數(shù)據(jù)映射到一個高階的向量空間, 在這些高階向量空間里, 有些分類或者回歸問題能夠更容易的解決。 常見的基于核的算法包括:支持向量機(Support Vector Machine, SVM), 徑向基函數(shù)(Radial Basis Function ,RBF), 以及線性判別分析(Linear Discriminate Analysis ,LDA)等
聚類算法
聚類,就像回歸一樣,有時候人們描述的是一類問題,有時候描述的是一類算法。聚類算法通常按照中心點或者分層的方式對輸入數(shù)據(jù)進行歸并。所以的聚類算法都試圖找到數(shù)據(jù)的內(nèi)在結(jié)構(gòu),以便按照最大的共同點將數(shù)據(jù)進行歸類。常見的聚類算法包括 k-Means算法以及期望最大化算法(Expectation Maximization, EM)。
關(guān)聯(lián)規(guī)則學(xué)**
關(guān)聯(lián)規(guī)則學(xué)**通過尋找最能夠解釋數(shù)據(jù)變量之間關(guān)系的規(guī)則,來找出大量多元數(shù)據(jù)集中有用的關(guān)聯(lián)規(guī)則。常見算法包括 Apriori算法和Eclat算法等。
人工神經(jīng)網(wǎng)絡(luò)
人工神經(jīng)網(wǎng)絡(luò)算法模擬生物神經(jīng)網(wǎng)絡(luò),是一類模式匹配算法。通常用于解決分類和回歸問題。人工神經(jīng)網(wǎng)絡(luò)是機器學(xué)**的一個龐大的分支,有幾百種不同的算法。(其中深度學(xué)**就是其中的一類算法,我們會單獨討論),重要的人工神經(jīng)網(wǎng)絡(luò)算法包括:感知器神經(jīng)網(wǎng)絡(luò)(Perceptron Neural Network), 反向傳遞(Back Propagation), Hopfield網(wǎng)絡(luò),自組織映射(Self-Organizing Map, SOM)。學(xué)**矢量量化(Learning Vector Quantization, LVQ)
深度學(xué)**
深度學(xué)**算法是對人工神經(jīng)網(wǎng)絡(luò)的發(fā)展。 在近期贏得了很多關(guān)注, 特別是百度也開始發(fā)力深度學(xué)**后, 更是在國內(nèi)引起了很多關(guān)注。 在計算能力變得日益廉價的今天,深度學(xué)**試圖建立大得多也復(fù)雜得多的神經(jīng)網(wǎng)絡(luò)。很多深度學(xué)**的算法是半監(jiān)督式學(xué)**算法,用來處理存在少量未標識數(shù)據(jù)的大數(shù)據(jù)集。常見的深度學(xué)**算法包括:受限波爾茲曼機(Restricted Boltzmann Machine, RBN), Deep Belief Networks(DBN),卷積網(wǎng)絡(luò)(Convolutional Network), 堆棧式自動編碼器(Stacked Auto-encoders)。
降低維度算法
像聚類算法一樣,降低維度算法試圖分析數(shù)據(jù)的內(nèi)在結(jié)構(gòu),不過降低維度算法是以非監(jiān)督學(xué)**的方式試圖利用較少的信息來歸納或者解釋數(shù)據(jù)。這類算法可以用于高維數(shù)據(jù)的可視化或者用來簡化數(shù)據(jù)以便監(jiān)督式學(xué)**使用。常見的算法包括:主成份分析(Principle Component Analysis, PCA),偏最小二乘回歸(Partial Least Square Regression,PLS), Sammon映射,多維尺度(Multi-Dimensional Scaling, MDS), 投影追蹤(Projection Pursuit)等。
集成算法:
集成算法用一些相對較弱的學(xué)**模型獨立地就同樣的樣本進行訓(xùn)練,然后把結(jié)果整合起來進行整體預(yù)測。集成算法的主要難點在于究竟集成哪些獨立的較弱的學(xué)**模型以及如何把學(xué)**結(jié)果整合起來。這是一類非常強大的算法,同時也非常流行。常見的算法包括:Boosting, Bootstrapped Aggregation(Bagging), AdaBoost,堆疊泛化(Stacked Generalization, Blending),梯度推進機(Gradient Boosting Machine, GBM),隨機森林(Random Forest)。
人工智能的概念提出已經(jīng)很多年,但最近一次大熱是在“人機大戰(zhàn)”戰(zhàn)勝世界圍棋高手李世石的AlphaGo。同樣,深度學(xué)**和機器視覺的概念也頻頻出現(xiàn)在我們的視野當中,那么什么是人工智能?什么是深度學(xué)**、機器視覺,它們是如何應(yīng)用在安防領(lǐng)域中?三者之間存在什么樣的聯(lián)系?以下將為您一一解答。
人工智能的概念提出已經(jīng)很多年,但最近一次大熱是在“人機大戰(zhàn)”戰(zhàn)勝世界圍棋高手李世石的AlphaGo。同樣,深度學(xué)**和機器視覺的概念也頻頻出現(xiàn)在我們的視野當中,那么什么是人工智能?什么是深度學(xué)**、機器視覺,它們是如何應(yīng)用在安防領(lǐng)域中?三者之間存在什么樣的聯(lián)系?以下將為您一一解答。
人工智能
人工智能是計算機科學(xué)的一個分支,它企圖了解智能的實質(zhì),并生產(chǎn)出一種新的能以人類智能相似的方式做出反應(yīng)的智能機器,該領(lǐng)域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統(tǒng)等。
總的說來,人工智能是研究人類智能活動的規(guī)律,構(gòu)造具有一定智能的人工系統(tǒng),研究如何讓計算機去完成以往需要人的智力才能勝任的工作,也就是研究如何應(yīng)用計算機的軟硬件來模擬人類某些智能行為的基本理論、方法和技術(shù)。
深度學(xué)**
深度學(xué)**是機器學(xué)**研究中的一個新的領(lǐng)域,其動機在于建立、模擬人腦進行分析學(xué)**的神經(jīng)網(wǎng)絡(luò),它模仿人腦的機制來解釋數(shù)據(jù),例如圖像,聲音和文本。
在安防領(lǐng)域的應(yīng)用
讓深度學(xué)**能夠如此大行其道的關(guān)鍵要素是數(shù)據(jù),而占大數(shù)據(jù)總量60%以上的為視頻監(jiān)控數(shù)據(jù),與此同時,視頻監(jiān)控領(lǐng)域的70%以上的數(shù)據(jù)分析是用來進行圖像識別。
深度學(xué)**的在安防行業(yè)的方方面面得到了應(yīng)用:人臉檢測、車輛檢測、非機動車檢測、人臉識別、車輛品牌識別、行人檢索、車輛檢測、人體屬性、異常人臉檢測、人群行為分析、各種感興趣目標的跟蹤……
深度學(xué)**算法不是簡單地接收數(shù)據(jù),它在吸收原有數(shù)據(jù)的基礎(chǔ)上,能夠增量式地提升模型的性能,給予數(shù)據(jù)的選擇過程一種反饋——形成一種數(shù)據(jù)選擇機制,能夠分辨哪種類型的數(shù)據(jù)有助于持續(xù)提升模型性能,哪種類型的數(shù)據(jù)則是毫無幫助的——從而最終形成一種良性循環(huán)體系。
機器視覺
機器視覺是人工智能正在快速發(fā)展的一個分支。簡單說來,機器視覺就是用機器代替人眼來做測量和判斷。機器視覺系統(tǒng)是通過機器視覺產(chǎn)品(即圖像攝取裝置,分CMOS和CCD兩種)將被攝取目標轉(zhuǎn)換成圖像信號,傳送給專用的圖像處理系統(tǒng),得到被攝目標的形態(tài)信息,根據(jù)像素分布和亮度、顏色等信息,轉(zhuǎn)變成數(shù)字化信號;圖像系統(tǒng)對這些信號進行各種運算來抽取目標的特征,進而根據(jù)判別的結(jié)果來控制現(xiàn)場的設(shè)備動作。
安防領(lǐng)域的應(yīng)用
由于機器視覺主要是對圖像進行識別,因此機器視覺在人臉識別、車牌識別等方面得到大量運用。以智能交通行業(yè)為例,機器視覺具有成本低、穩(wěn)定性強、準確性高、應(yīng)用范圍廣等優(yōu)點,目前已經(jīng)在國內(nèi)外高速公路和公路的交通監(jiān)控系統(tǒng)中得到了廣泛的應(yīng)用,具體體現(xiàn)在車牌識別、車身顏色識別、車型識別、違章識別、車流量統(tǒng)計、流量控制等。
人工智能是計算機學(xué)科的一個分支,深度學(xué)**、機器視覺是機器學(xué)**研究中的一個領(lǐng)域。深度學(xué)**和機器視覺主要是針對圖形進行更深層次的挖掘和分析,是人工智能的實際應(yīng)用。而人工智能除了對圖形的處理外,還包括對語音、運動、社交等方面的處理和控制。
聯(lián)系客服