机器学习文献综述
機器學習文獻綜述
一、背景介紹
數據庫:百度詞條、知網數據庫。檢索式:機器學習
檢索結果及分析:
機器學習有下面幾種定義: “機器學習是一門人工智能的科學,該領域的主要研究對象是人工智能,特別是如何在經驗學習中改善具體算法的性能”。 “機器學習是對能通過經驗自動改進的計算機算法的研究”。 “機器學習是用數據或以往的經驗,以此優化計算機程序的性能標準。” 一種經常引用的英文定義是:A computer program is said to learn from experience E withrespect to some class of tasks T and performance measure P, if its performanceat tasks in T, as measured by P, improves with experience E。
機器學習是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、算法復雜度理論論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。它是人工智能的核心,是使計算機具有智能的根本途徑,其應用遍及人工智能的各個領域,它主要使用歸納、綜合而不是演繹。它的應用已遍及人工智能的各個分支,如專家系統、自動推理、自然語言理解、模式識別、計算機視覺、智能機器人等領域。
機器學習是人工智能研究較為年輕的分支,它的發展過程大體上分為四個時期。第一階段是20世紀50年代中葉到60年代中葉,屬于熱烈時期。在這個時期,所研究的是“沒有知識”的學習,即“無知”學習。其研究目標是各類自組織系統和自適應系統,其主要研究方法是不斷修改系統的控制參數和改進系統的執行能力,不涉及與具體任務有關的知識。本階段的代表性工作是:塞繆爾(Samuel)的下棋程序。但這種學習的結果遠不能滿足人們對機器學習系統的期望。第二階段是在60年代中葉到70年代中葉,被稱為機器學習的冷靜時期。本階段的研究目標是模擬人類的概念學習過程,并采用邏輯結構或圖結構作為機器內部描述。本階段的代表性工作有溫斯頓(Winston)的結構學習系統和海斯羅思(Hayes-Roth)等的基本邏輯的歸納學習系統。第三階段從20世紀70年代中葉到80年代中葉,稱為復興時期。在此期間,人們從學習單個概念擴展到學習多個概念,探索不同的學習策略和方法,且在本階段已開始把學習系統與各種應用結合起來,并取得很大的成功,促進機器學習的發展。1980年,在美國的卡內基—梅隆(CMU)召開了第一屆機器學習國際研討會,標志著機器學習研究已在全世界興起。
從本質上講,機器學習就是要使計算機能模擬人的學習行為,自動地通過學習獲取知識和技能,不斷改善性能,實現人工智能。
隨著計算機網絡技術的發展,各行各業積累的數字化數據越來越多,如微博的數字化、聊天記錄的數字化、視頻探頭信息的數字化,大數據(Big Data)成為當今流行的研究主題,在這種潮流下,如何對這些數據進行分析,從中發現蘊涵的規律及有價值的信息,機器學習我想將有一席用武之地。
?
二、研究現狀
數據庫:Find+發現。檢索式:機器學習*算法*綜述
檢索結果及分析:
1、機器學習分類
? 機器學習,一般根據處理的數據是否存在人為標注主要分為監督學習和無監督學習。監督學習用有標簽的數據作為最終學習目標,通常學習效果好,但獲取有標簽數據的代價是昂貴的,無監督學習相當于自學習或自助式學習,便于利用更多的數據,同時可能會發現數據中存在的更多模式的先驗知識(有時會超過手工標注的模式信息),但學習效率較低。二者的共性是通過建立數學模型為最優化問題進行求解,通常沒有完美的解法。
監督學習的數據集包括初始訓練數據和人為標注目標,希望根據標注特征從訓練集數據中學習到對象劃分的規則,并應用此規則在測試集數據中預測結果,輸出有標記的學習方式。因此,監督學習的根本目標是訓練機器學習的泛化能力。監督學習的典型算法有:邏輯回歸、多層感知機、卷積神經網絡等;典型應用有:回歸分析、任務分類等。
無監督學習,用于處理未被分類標記的樣本集數據并且事先不需要進行訓練,希望通過學習尋求數據間的內在模式和統計規律,從而獲得樣本數據的結構特征,因此,無監督學習的根本目標是在學習過程中根據相似性原理進行區分"無監督學習更近似于人類的學習方式,被譽為:人工智能最有價值的地方。無監督學習的典型算法有自動編碼器、受限玻爾茲曼機、深度置信網絡等;典型應用有:聚類和異常檢測等。
總之,機器學習就是計算機在算法的指導下,能夠自動學習大量輸入數據樣本的數據結構和內在規律,給機器賦予一定的智慧,從而對新樣本進行智能識別,甚至實現對未來的預測"。
?
2、機器學習目前研究現狀
(1)面向任務:在預定的一些任務中,分析和開發學習系統,以便改善完成任務的水平,這是專家系統研究中提出的研究問題;
(2)認識模擬:主要研究人類學習過程及其計算機的行為模擬,這是從心理學角度研究的問題;
(3)理論分析研究:從理論上探討各種可能學習方法的空間和獨立于應用領域之外的各種算法。
這三個研究方向各有自己的研究目標,每一個方向的進展都會促進另一個方向的研究。這三個方面的研究都將促進各方面問題和學習基本概念的交叉結合,推動了整個機器學習的研究。
?
3、機器學習主要算法
數據庫:谷歌搜索。檢索式:機器學習主要算法
檢索結果及分析:
(1)回歸算法
?? 在大部分機器學習課程中,回歸算法都是介紹的第一個算法。原因有兩個:一.回歸算法比較簡單,介紹它可以讓人平滑地從統計學遷移到機器學習中。二.回歸算法是后面若干強大算法的基石,如果不理解回歸算法,無法學習那些強大的算法。回歸算法有兩個重要的子類:即線性回歸和邏輯回歸。
?? 線性回歸就是我們前面說過的房價求解問題。如何擬合出一條直線最佳匹配我所有的數據?一般使用“最小二乘法”來求解。“最小二乘法”的思想是這樣的,假設我們擬合出的直線代表數據的真實值,而觀測到的數據代表擁有誤差的值。為了盡可能減小誤差的影響,需要求解一條直線使所有誤差的平方和最小。最小二乘法將最優問題轉化為求函數極值問題。函數極值在數學上我們一般會采用求導數為0的方法。但這種做法并不適合計算機,可能求解不出來,也可能計算量太大。
?? 計算機科學界專門有一個學科叫“數值計算”,專門用來提升計算機進行各類計算時的準確性和效率問題。例如,著名的“梯度下降”以及“牛頓法”就是數值計算中的經典算法,也非常適合來處理求解函數極值的問題。梯度下降法是解決回歸模型中最簡單且有效的方法之一。從嚴格意義上來說,由于后文中的神經網絡和推薦算法中都有線性回歸的因子,因此梯度下降法在后面的算法實現中也有應用。
?? 邏輯回歸是一種與線性回歸非常類似的算法,但是,從本質上講,線型回歸處理的問題類型與邏輯回歸不一致。線性回歸處理的是數值問題,也就是最后預測出的結果是數字,例如房價。而邏輯回歸屬于分類算法,也就是說,邏輯回歸預測結果是離散的分類,例如判斷這封郵件是否是垃圾郵件,以及用戶是否會點擊此廣告等等。
?? 實現方面的話,邏輯回歸只是對對線性回歸的計算結果加上了一個Sigmoid函數,將數值結果轉化為了0到1之間的概率(Sigmoid函數的圖像一般來說并不直觀,你只需要理解對數值越大,函數越逼近1,數值越小,函數越逼近0),接著我們根據這個概率可以做預測,例如概率大于0.5,則這封郵件就是垃圾郵件,或者腫瘤是否是惡性的等等。從直觀上來說,邏輯回歸是畫出了一條分類線。
假設我們有一組腫瘤患者的數據,這些患者的腫瘤中有些是良性的(圖中的藍色點),有些是惡性的(圖中的紅色點)。這里腫瘤的紅藍色可以被稱作數據的“標簽”。同時每個數據包括兩個“特征”:患者的年齡與腫瘤的大小。我們將這兩個特征與標簽映射到這個二維空間上,形成了我上圖的數據。
?? 當我有一個綠色的點時,我該判斷這個腫瘤是惡性的還是良性的呢?根據紅藍點我們訓練出了一個邏輯回歸模型,也就是圖中的分類線。這時,根據綠點出現在分類線的左側,因此我們判斷它的標簽應該是紅色,也就是說屬于惡性腫瘤。
邏輯回歸算法劃出的分類線基本都是線性的(也有劃出非線性分類線的邏輯回歸,不過那樣的模型在處理數據量較大的時候效率會很低),這意味著當兩類之間的界線不是線性時,邏輯回歸的表達能力就不足。下面的兩個算法是機器學習界最強大且重要的算法,都可以擬合出非線性的分類線。
(2)神經網絡
神經網絡(也稱之為人工神經網絡,ANN)算法是80年代機器學習界非常流行的算法,不過在90年代中途衰落。現在,攜著“深度學習”之勢,神經網絡重裝歸來,重新成為最強大的機器學習算法之一。
神經網絡的誕生起源于對大腦工作機理的研究。早期生物界學者們使用神經網絡來模擬大腦。機器學習的學者們使用神經網絡進行機器學習的實驗,發現在視覺與語音的識別上效果都相當好。在BP算法(加速神經網絡訓練過程的數值算法)誕生以后,神經網絡的發展進入了一個熱潮。BP算法的發明人之一是前面介紹的機器學習大牛Geoffrey Hinton。具體說來,神經網絡的學習機理是什么?簡單來說,就是分解與整合。在著名的Hubel-Wiesel試驗中,學者們研究貓的視覺分析機理是這樣的。
比方說,一個正方形,分解為四個折線進入視覺處理的下一層中。四個神經元分別處理一個折線。每個折線再繼續被分解為兩條直線,每條直線再被分解為黑白兩個面。于是,一個復雜的圖像變成了大量的細節進入神經元,神經元處理以后再進行整合,最后得出了看到的是正方形的結論。這就是大腦視覺識別的機理,也是神經網絡工作的機理。
讓我們看一個簡單的神經網絡的邏輯架構。在這個網絡中,分成輸入層,隱藏層,和輸出層。輸入層負責接收信號,隱藏層負責對數據的分解與處理,最后的結果被整合到輸出層。每層中的一個圓代表一個處理單元,可以認為是模擬了一個神經元,若干個處理單元組成了一個層,若干個層再組成了一個網絡,也就是"神經網絡"。
?
?
?
?
?
?
?
?
?
圖1、神經網絡的邏輯構架
(3)SVM(支持向量機)
支持向量機算法是誕生于統計學習界,同時在機器學習界大放光彩的經典算法。
支持向量機算法從某種意義上來說是邏輯回歸算法的強化:通過給予邏輯回歸算法更嚴格的優化條件,支持向量機算法可以獲得比邏輯回歸更好的分類界線。但是如果沒有某類函數技術,則支持向量機算法最多算是一種更好的線性分類技術。
但是,通過跟高斯“核”的結合,支持向量機可以表達出非常復雜的分類界線,從而達成很好的的分類效果。“核”事實上就是一種特殊的函數,最典型的特征就是可以將低維的空間映射到高維的空間。例如下圖所示:
?
?
?
?
?
?
??
?
圖2、支持向量機圖例
支持向量機是一種數學成分很濃的機器學習算法(相對的,神經網絡則有生物科學成分)。在算法的核心步驟中,有一步證明,即將數據從低維映射到高維不會帶來最后計算復雜性的提升。于是,通過支持向量機算法,既可以保持計算效率,又可以獲得非常好的分類效果。因此支持向量機在90年代后期一直占據著機器學習中最核心的地位,基本取代了神經網絡算法。直到現在神經網絡借著深度學習重新興起,兩者之間才又發生了微妙的平衡轉變。
(4)聚類算法
前面的算法中的一個顯著特征就是我的訓練數據中包含了標簽,訓練出的模型可以對其他未知數據預測標簽。在下面的算法中,訓練數據都是不含標簽的,而算法的目的則是通過訓練,推測出這些數據的標簽。這類算法有一個統稱,即無監督算法(前面有標簽的數據的算法則是有監督算法)。無監督算法中最典型的代表就是聚類算法。
讓我們還是拿一個二維的數據來說,某一個數據包含兩個特征。我希望通過聚類算法,給他們中不同的種類打上標簽,我該怎么做呢?簡單來說,聚類算法就是計算種群中的距離,根據距離的遠近將數據劃分為多個族群。聚類算法中最典型的代表就是K-Means算法。
(5)降維算法?
降維算法也是一種無監督學習算法,其主要特征是將數據從高維降低到低維層次。在這里,維度其實表示的是數據的特征量的大小,例如,房價包含房子的長、寬、面積與房間數量四個特征,也就是維度為4維的數據。可以看出來,長與寬事實上與面積表示的信息重疊了,例如面積=長 ×寬。通過降維算法我們就可以去除冗余信息,將特征減少為面積與房間數量兩個特征,即從4維的數據壓縮到2維。于是我們將數據從高維降低到低維,不僅利于表示,同時在計算上也能帶來加速。
剛才說的降維過程中減少的維度屬于肉眼可視的層次,同時壓縮也不會帶來信息的損失(因為信息冗余了)。如果肉眼不可視,或者沒有冗余的特征,降維算法也能工作,不過這樣會帶來一些信息的損失。但是,降維算法可以從數學上證明,從高維壓縮到的低維中最大程度地保留了數據的信息。因此,使用降維算法仍然有很多的好處。
降維算法的主要作用是壓縮數據與提升機器學習其他算法的效率。通過降維算法,可以將具有幾千個特征的數據壓縮至若干個特征。另外,降維算法的另一個好處是數據的可視化,例如將5維的數據壓縮至2維,然后可以用二維平面來可視。降維算法的主要代表是PCA算法(即主成分分析算法)。?
(6)推薦算法
推薦算法是目前業界非常火的一種算法,在電商界,如亞馬遜,天貓,京東等得到了廣泛的運用。推薦算法的主要特征就是可以自動向用戶推薦他們最感興趣的東西,從而增加購買率,提升效益。推薦算法有兩個主要的類別:一類是基于物品內容的推薦,是將與用戶購買的內容近似的物品推薦給用戶,這樣的前提是每個物品都得有若干個標簽,因此才可以找出與用戶購買物品類似的物品,這樣推薦的好處是關聯程度較大,但是由于每個物品都需要貼標簽,因此工作量較大。?
另一類是基于用戶相似度的推薦,則是將與目標用戶興趣相同的其他用戶購買的東西推薦給目標用戶,例如小A歷史上買了物品B和C,經過算法分析,發現另一個與小A近似的用戶小D購買了物品E,于是將物品E推薦給小A。
兩類推薦都有各自的優缺點,在一般的電商應用中,一般是兩類混合使用。推薦算法中最有名的算法就是協同過濾算法。?
(7)其他
除了以上算法之外,機器學習界還有其他的如高斯判別,樸素貝葉斯,決策樹等等算法。但是上面列的六個算法是使用最多,影響最廣,種類最全的典型。機器學習界的一個特色就是算法眾多,發展百花齊放。
?
三、機器學習的研究進展
數據庫:谷歌搜索。檢索式:機器學習*進展
檢索結果及分析:
1、機器學習的研究近況
隨著機器學習的深入研究與應用,新的網絡結構和學習算法不斷涌現,進一步推進了機器學習的發展。下面主要從模型結構與網絡參數設計、學習算法兩方面對近幾年機器學習的研究進展進行介紹。
(1)模型結構及網絡參數設計
Liu yan等人提出一種半監督可識別深度置信網絡算法(ccbRD)并成功應用于圖像的分類。Luo等人提出稀疏組受限波爾曼機(SGRBM)算法,通過實驗表明該算法可以提取更局部的特征、提高識別率。Yu Dong等提出一種深度凸起網絡(DCN) 算法,并用于構建語音分類的可擴展體系。Huang等人提出一種通過局部卷積深度置信網絡模型學習圖像總體結構特征的方法,并在人
臉數據庫測試通過,取得良好效果。羅切爾提出改進RBM的Class RBM算法,實現在不訓練分類器的前提下,提高在線實時監測學習特征的識別性能。Zhou等人提出一種半監督卷積深度網絡(CDN)算法,可用于圖像分類。Mrazova等人提出一種增長式CNN,實現快速自動調整網絡拓撲結構,有效處理高維數據!逐層迭代提取高級抽象特征。Kai Ming等人提出一種空間金字塔池化CNN算法,實現不同尺寸圖像的識別。
?
(2)學習方法
Wong等人提出一種基于Fisher準則、運用正則化要求進行深度學習提取特征的算法(RD-FM),通過實驗表明該方法比核應運具有更強的特征識別能力、微調階段正則化應用的必要性。Collobert提出一種根據深度卷積遞歸圖
變換網絡(GTN)進行快速自然語言解析的算法,在保持性能的同時,提高了解析速度。Hinton提出通過阻止特征檢測器網絡權值的相互作用來改善神經網絡的性能。Duchi等提出一種自適應次梯度方法用于在線學習和隨機優化。孫志軍等人提出一種基于邊際Fisher準則的深度學習特征提取算法。Zhou等提出一種半監督活躍深度網絡(ADN)算法,用于解決標記數據不足的情感分類問題。TOM等人提出用于語句情感分類的高級深度學習算法。Schaul等人提出一種學習率自適應方法。
?
四、機器學習面臨的挑戰
數據庫:谷歌搜索???? 檢索式:機器學習*挑戰
目前,以深度學習為代表的機器學習領域的研究與應用取得巨大進展有目共睹,有力地推動了人工智能的發展"但是也應該看到,以深度學習為代表的機器學習前沿畢竟還是一個新生事物,多數結論是通過實驗或經驗獲得,還有待于理論的深入研究與支持。CNN的推動者和創始人之一的美國紐約大學教授 Yann? Lucan在2015IEEE計算機視覺與模式識別會議上指出深度學習的幾個關鍵限制:缺乏背后工作的理論基礎和推理機制;缺乏短期記憶;不能進行無監督學習。
另外,基于多層人工神經網絡的深度學習受到人類大腦皮層分層工作的啟發,雖然深度學習是目前最接近人類大腦的智能學習方法,但是當前的深度網絡在結構!功能!機制上都與人腦有較大的差距。并且對大腦皮層本身的結構與機理還缺乏精準認知,如果要真正模擬人腦的100多億個神經元組成的神經系統,目前還難以實現。因此,對計算神經科學的研究也需要有很長一段路要走。
還有,機器學習模型的網絡結構!算法及參數越發龐大、復雜,通常只有在大數據量、大計算量支持下才能訓練出精準的模型,對運行環境要求越來越高!占用資源也越來越多,這也抬高了其應用門檻。
總之,機器學習方興未艾并且擁有廣闊的研究與應用前景,但是面臨的挑戰也不容忽視,二者交相輝映才能夠把機器學習推向更高的境界。
?
五、結論
本文對機器學習進行了較為全面介紹,包括機器學習的概念,發展簡史及分類,重點分析了機器學習的經典算法,還介紹了機器學習的最新研究進展。愿景和應用,最后探討了機器學習面臨的挑戰。毋庸諱言,以深度學習為代表的機器學習作為人工智能的一個重要分支,目前在諸多領域取得了巨大進展,并且展示出強大的發展潛力,但是更應該看到,人工智能仍然處理初級階段,機器學習仍然主要依賴監督學習,還沒有跨越弱人工智能,并且作為機器學習模型基礎的人腦認知研究還有諸多空白需要填補!機器學習理論本身亟需新的突破!計算機科學技術及相關學科領域的發展與支撐與有待于進一步加強,因此,對于機器學習,我們要走的路一定很長、很長。
令人欣喜的是機器學習已經成為全人類共同矚目、發力的研究與應用領域,并且已經上升為國家戰略2013-2014年,美國!歐盟和日本先后啟動了國家大型腦研究計劃;中國未來五年計劃實施的100個重大工程及項目中“腦科學與類腦研究”名列第四。因此,可以預見機器學習的道路是曲折的,前途是光明的。
?
?
?
?
?
?
?
?
總結
- 上一篇: (转)python调取C/C++的dll
- 下一篇: poj2631