1. 程式人生 > >監督學習和無監督學習的詳細介紹

監督學習和無監督學習的詳細介紹

l         學習對映函式及在行為識別/影象分類中應用的文獻(模型與非模型之間存在關聯,演算法相互採用,沒有明確的區分,含仿生學文獻)

研究重點放到ICA模型及深度學習兼顧稀疏編碼

1)稀疏編碼(稀疏編碼、自動編碼、遞迴編碼):

[1] B. Olshausen and D. Field. Emergence of simple-cell receptive field properties by learning a sparse code for natural images. Nature, 1996.

[2] H. Lee, A. Battle, R. Raina, and A. Y. Ng. Efficient sparse coding algorithms. In NIPS, 2007.

[3] B. A. Olshausen. Sparse coding of time-varying natural images. In ICA, 2000.

[4] Dean, T., Corrado, G., Washington, R.: Recursive sparse spatiotemporal coding.In: Proc. IEEE Int. Workshop on Mult. Inf. Proc. and Retr. (2009).

[5] J. Yang, K. Yu, Y. Gong, and T. Huang. Linear spatial pyramid matching using sparse coding for image

classification. In CVPR, 2009.

[6] S. Wang, L. Zhang, Y. Liang and Q. Pan.Semi-Coupled Dictionary Learning with Applications to Image Super-Resolution and Photo-Sketch Image Synthesis. in CVPR 2012.

[7] Yan Zhu, Xu Zhao,Yun Fu,Yuncai Liu. Sparse Coding on Local Spatial-temporal Volumes for Human action Recognition.ACCV2010,Part II,LNCS 6493.

(上海交大,採用3DHOG特徵描述,3DSift稀疏編碼未注意)。

2)ICA(ISA)模型:

[1] A. Hyvarinen, J. Hurri, and P. Hoyer. Natural Image Statistics. Springer, 2009.

[2]Alireza Fathi and Greg Mori. Action Recognition by Learning Mid-level Motion Features. IEEE,2008,978-1-4244-2243.

[3] A. Hyvarinen and P. Hoyer. Emergence of phase- and shift-invariant features by decomposition of natural images into independent feature subspaces. Neu. Comp., 2000.

[4] A. Coates, H. Lee, and A. Y. Ng. An analysis of single-layer networks in unsupervised feature learning.

In AISTATS 14, 2011.(該篇採用採用的特徵,基於BOW方法不需要檢測。形成BOW時採用影象塊相似聚類,跟據離BOW距離將影象塊特徵非線性判決,之後將正副影象以一種稀疏形式表示)

[5] Q. V. Le, W. Zou, S. Y. Yeung, and A. Y. Ng. Learning hierarchical spatio-temporal features for action

recognition with independent subspace analysis. In CVPR, 2011.

[6] Q. V. Le, J. Ngiam, Z. Chen, D. Chia, P. W. Koh, and A. Y. Ng. Tiled convolutional neural networks. In

NIPS, 2010.

[7] M. S. Lewicki and T. J. Sejnowski. Learning overcomplete representations. Neural Computation, 2000.

[8] L. Ma and L. Zhang. Overcomplete topographic independent component analysis. Elsevier, 2008.

[9] A. Krizhevsky. Learning multiple layers of features from tiny images. Technical report, U. Toronto, 2009.

%非分類識別文獻,引入copula估計子空間,新特徵組合

[10]Nicolas Brunel, Wojciech Pieczynski,Stephane Derrode.Copulas in vectorial hidden markov chains for multicomponent images segmentation.ICASSP’05,Philadelphia,USA,March 19-23,2005.(非識別分類文獻,但是涉及到一種演算法,對估計子空間很有用,可以引入ICA模型。)

[11] Xiaomei Qu. Feature Extraction by Combining Independent Subspaces Analysis and Copula Techniques. International Conference on system Science and Engineering,2012.

[12] Pietro Berkes, Frank Wood and Jonathan Pillow. Characterizing neural dependencies with copula models. In NIPS, 2008.

[13] Y-Lan Boureau, Jean Ponce, Yann LeCun. A theoretical Analysis of Feature Pooling in Visual Recognition. In Proceedings of the 27’th International Conference on machine Learning, Haifa, Israel,2010.(介紹多樣池及概念,可以形成稀疏表示及產生魯棒性特徵)

3)深度學習(與ICA、RBM關聯性強,屬於多層學習):

[1] Y. Bengio, P. Lamblin, D. Popovici, and H. Larochelle.Greedy layerwise training of deep networks. In NIPS, 2006.

[2] Alessio Plebe. A model of the response of visual area V2 to combinations of orientations. Network: Computation in Neural Systems, September 2012; 23(3): 105–122.(涉及到模擬人類大腦皮層感知(v1、v2、v3、v4、v5),此類文獻多,主要以猴子貓動物實驗)

[3] G. Hinton, S. Osindero, and Y. Teh. A fast learning algorithms for deep belief nets. Neu. Comp., 2006

[4] H. Lee, R. Grosse, R. Ranganath, and A. Ng. Convolutional deep belief networks for scalable unsupervised learning of hierarchical representations. In ICML, 2009.

[5]Yann Lecun, Koray Kavukcuoglu, and Clement Farabet. Convolutional Networks and Applications in Vision. In Proc. International Symposium on Circuits and Systems (ISCAS'10), 2010.

[6] Pierre Sermanet, Soumith Chintala and Yann LeCun. Convolutional Neural Networks Applied to House Numbers Digit Classification. Computer Vision and Pattern Recognition,2012.

[7] Quoc V. Le. Marc’Aurelio Ranzato. Rajat Monga. Matthieu Devin. Kai Chen. Greg S. Corrado. Je Dean. Andrew Y. Ng. Building High-level Features Using Large Scale Unsupervised Learning. the 29’th International Conference on Machine Learning, Edinburgh, Scotland, UK, 2012.

[8] A. Hyvarinen and P. Hoyer. Topographic independent component analysis as a model of v1 organization and receptive fields. Neu. Comp., 2001

[9]Y. Bengio, P. Lamblin, D. Popovici, and H. Larochelle. Greedy layerwise training of deep networks. In

NIPS, 2007.

[10] Q. V. Le, J. Ngiam, A. Coates, A. Lahiri, B. Prochnow, and A. Y. Ng. On optimization methods for deep learning. In ICML, 2011.

[11] H. Lee, C. Ekanadham, and A. Y. Ng. Sparse deep belief net model for visual area V2. In NIPS, 2008.

[12] G. E. Hinton, S. Osindero, and Y. W. Teh. A fast learning algorithm for deep belief nets. Neural Computation, 2006.

[13] Jarrett, K., Kavukcuoglu, K., Ranzato, M., LeCun, Y.: What is the best multistage architecture for object recognition? In: ICCV. (2009) 2146-2153.

[14] Lee, H., Ekanadham, C., Ng., A.: Sparse deep belief net model for visual area V2.In: NIPS. (2008) 873-880.

[15] Bo Chen .Deep Learning of Invariant Spatio-Temporal Feature from Video.[D].2010.

[16] Jiquan Ngiam, Zhenghao Chen, Pang Wei Koh,Andrew Y.Ng.Learning Deep Energy Models.in Proceedings of the 28’th international Conference on Machine Learning,Bellevue,WA,USA,2011.

%以下(CRBM、SF)這些模型參考,不做重點研究,可借鑑演算法。

4CRBM(文獻多,有博士論文)

[1] G. Hinton. A practical guide to training restricted boltzmann machines. Technical report, U. of Toronto,

2010

[2] G. Taylor, R. Fergus, Y. Lecun, and C. Bregler. Convolutional learning of spatio-temporal features. In ECCV, 2010.

[3] Norouzi, M., Ranjbar, M., Mori, G.: Stacks of convolutional restricted Boltzmann machines for shift-invariant feature learning. In: CVPR. (2009).

[4] Memisevic, R., Hinton, G.: Learning to represent spatial transformations with factored higher-order Boltzmann machines. Neural Comput 2010.

5Slow Feature(慢特徵學習分析(德國),代表文獻)

這種新方法以鄰幀影象為基礎研究,是一種新思路。

[1] P. Berkes and L. Wiskott. Slow feature analysis yields arich repertoire of complex cell properties. Journal of Vision,2005

——————————————————————————————————————————————————————————————————

機器學習的常用方法,主要分為有監督學習(supervised learning)和無監督學習(unsupervised learning)。監督學習,就是人們常說的分類,通過已有的訓練樣本(即已知資料以及其對應的輸出)去訓練得到一個最優模型(這個模型屬於某個函式的集合,最優則表示在某個評價準則下是最佳的),再利用這個模型將所有的輸入對映為相應的輸出,對輸出進行簡單的判斷從而實現分類的目的,也就具有了對未知資料進行分類的能力。在人對事物的認識中,我們從孩子開始就被大人們教授這是鳥啊、那是豬啊、那是房子啊,等等。我們所見到的景物就是輸入資料,而大人們對這些景物的判斷結果(是房子還是鳥啊)就是相應的輸出。當我們見識多了以後,腦子裡就慢慢地得到了一些泛化的模型,這就是訓練得到的那個(或者那些)函式,從而不需要大人在旁邊指點的時候,我們也能分辨的出來哪些是房子,哪些是鳥。監督學習裡典型的例子就是KNN、SVM。無監督學習(也有人叫非監督學習,反正都差不多)則是另一種研究的比較多的學習方法,它與監督學習的不同之處,在於我們事先沒有任何訓練樣本,而需要直接對資料進行建模。這聽起來似乎有點不可思議,但是在我們自身認識世界的過程中很多處都用到了無監督學習。比如我們去參觀一個畫展,我們完全對藝術一無所知,但是欣賞完多幅作品之後,我們也能把它們分成不同的派別(比如哪些更朦朧一點,哪些更寫實一些,即使我們不知道什麼叫做朦朧派,什麼叫做寫實派,但是至少我們能把他們分為兩個類)。無監督學習裡典型的例子就是聚類了。聚類的目的在於把相似的東西聚在一起,而我們並不關心這一類是什麼。因此,一個聚類演算法通常只需要知道如何計算相似度就可以開始工作了。

         那麼,什麼時候應該採用監督學習,什麼時候應該採用非監督學習呢?我也是從一次面試的過程中被問到這個問題以後才開始認真地考慮答案。一種非常簡單的回答就是從定義入手,如果我們在分類的過程中有訓練樣本(training data),則可以考慮用監督學習的方法;如果沒有訓練樣本,則不可能用監督學習的方法。但是事實上,我們在針對一個現實問題進行解答的過程中,即使我們沒有現成的訓練樣本,我們也能夠憑藉自己的雙眼,從待分類的資料中人工標註一些樣本,並把他們作為訓練樣本,這樣的話就可以把條件改善,用監督學習的方法來做。當然不得不說的是有時候資料表達的會非常隱蔽,也就是說我們手頭的資訊不是抽象的形式,而是具體的一大堆數字,這樣我們很難憑藉人本身對它們簡單地進行分類。這個說的好像有點不大明白,舉個例子說就是在bag of words 模型的時候,我們利用k-means的方法聚類從而對資料投影,這時候用k-means就是因為我們當前到手的只有一大堆資料,而且是很高維的,當我們想把他們分為50個類的時候,我們已經無力將每個資料標記說這個數應該是哪個類,那個數又應該是哪個類了。所以說遇到這種情況也只有無監督學習能夠幫助我們了。那麼這麼說來,能不能再深入地問下去,如果有訓練樣本(或者說如果我們可以獲得到一些訓練資料的話),監督學習就會比無監督學習更合適呢?(照我們單純地想,有高人教總比自己領悟來的準,來的快吧!)我覺得一般來說,是這樣的,但是這要具體看看訓練資料的獲取。本人在最近課題的研究中,手動標註了大量的訓練樣本(當然這些樣本基本準確了),而且把樣本畫在特徵空間中發現線性可分性非常好,只是在分類面附近總有一些混淆的資料樣本,從而用線性分類器進行分類之後這樣樣本會被誤判。然而,如果用混合高斯模型(GMM)來分的話,這些易混淆的點被正確分類的更多了。對這個現象的一個解釋,就是不管是訓練樣本,還是待聚類的資料,並不是所有資料都是相互獨立同分布的。換句話說,資料與資料的分佈之間存在聯絡。在我閱讀監督學習的大量材料中,大家都沒有對訓練資料的這一假設(獨立同分布)進行說明,直到我閱讀到一本書的提示後才恍然大悟。對於不同的場景,正負樣本的分佈如果會存在偏移(可能是大的偏移,也可能偏移比較小),這樣的話用監督學習的效果可能就不如用非監督學習了。

——————————————————————————————————————————————————————————————————

上次我們討論了基於結果的兩類學習。這篇文章我們將關注一些其他方面的學習:監督還是無監督。當訓練用例被標記了正確結果的時候,監督學習方式為怎樣改進學習給出一個反饋。這類似於教官教導某個Agent,它的行為是否正確。對無監督學習來說這個目標很難實現,因為缺乏事先確定的分類。

·監督學習

監督學習是最常見的分類問題,因為目標往往是讓計算機去學習我們已經建立好的分類系統。數字識別再一次成為分類學習的常見樣本。更一般地說,對於那些有用的分類系統,和容易判斷的分類系統,分類學習都適用。在某些情況下,如果Agent能自行計算分類的話,它(Agent)可能不需要事先給出分類。這將在後面成為無監督學習上下文分類的一個例子。

監督學習是訓練神經網路和決策樹的最常見技術。這兩種技術(神經網路和決策樹)高度依賴於事先確定的分類系統給出的資訊。對於神經網路來說,分類系統用於判斷網路的錯誤,然後調整網路適應它;對於決策樹,分類系統用來判斷哪些屬性提供了最多的資訊,如此一來可以用它解決分類系統的問題。我們將會看到這兩者(神經網路和決策樹)更多的細節,但在目前,它們用預先確定分類方法的形式來“監督”就足夠了。

使用隱馬爾科夫模型和貝斯網路的語音識別系統也依賴於某些監督的要素,那通常是為了調節系統的引數以便於最小化給定輸入中的錯誤。

請注意這裡提到的一個問題:在分類問題中,學習演算法的目標是把給定輸入中的錯誤最小化。這些輸入通常被稱作“訓練集”(原文為training set,譯者注),它們是Agent嘗試學習的樣本。但是,學習訓練集表現良好並不一定是件好事。例如,如果我試圖教你學習exclusive-or(及邏輯或,譯者注),但僅僅給出由一個真和一個假構成的組合,而不把同時為真或為假的組合告訴你,那麼根據你學到的規則,你可能對任何問題回答都為真。同樣,對於機器學習演算法,一個通常的問題是過適合(原文為over-fitting,譯者注)資料,以及主要記憶訓練集,而不是學習過多的一般分類技術。

你可以這樣設想,並不是所有的訓練集的輸入都分類正確。如果使用的演算法有足夠強的記憶力,但這顯然是“特例”,不適合一般的原則,因此會出現問題。這一點也可能導致過適合。不但要在學習複雜函式時足夠強大,而且能產生可概括的結論,尋找這樣的演算法的確是一個挑戰。

·非監督學習

非監督學習看起來非常困難:目標是我們不告訴計算機怎麼做,而是讓它(計算機)自己去學習怎樣做一些事情。非監督學習一般有兩種思路。第一種思路是在指導Agent時不為其指定明確的分類,而是在成功時採用某種形式的激勵制度。需要注意的是,這類訓練通常會置於決策問題的框架裡,因為它的目標不是產生一個分類系統,而是做出最大回報的決定。這種思路很好的概括了現實世界,Agent可以對那些正確的行為做出激勵,並對其他的行為進行處罰。

強化學習的一些形式常常可以被用於非監督學習,由於沒有必然的途徑學習影響世界的那些行為的全部資訊,因此Agent把它的行為建立在前一次獎懲的基礎上。在某種意義上,所有的這些資訊都是不必要的,因為通過學習激勵函式,Agent不需要任何處理就可以清楚地知道要做什麼,因為它(Agent)知道自己採取的每個動作確切的預期收益。對於防止為了計算每一種可能性而進行的大量計算,以及為此消耗的大量時間(即使所有世界狀態的變遷概率都已知),這樣的做法是非常有益的。另一方面,在嘗試出錯上,這也是一種非常耗費時間的學習。

不過這一類學習可能會非常強大,因為它假定沒有事先分類的樣本。在某些情況下,例如,我們的分類方法可能並非最佳選擇。在這方面一個突出的例子是Backgammon(西洋雙陸棋)遊戲,有一系列計算機程式(例如neuro-gammon和TD-gammon)通過非監督學習自己一遍又一遍的玩這個遊戲,變得比最強的人類棋手還要出色。這些程式發現的一些原則甚至令雙陸棋專家都感到驚訝,並且它們比那些使用預分類樣本訓練的雙陸棋程式工作得更出色。

一種次要的非監督學習型別稱之為聚合(原文為clustering,譯者注)。這類學習型別的目標不是讓效用函式最大化,而是找到訓練資料中的近似點。聚合常常能發現那些與假設匹配的相當好的直觀分類。例如,基於人口統計的聚合個體可能會在一個群體中形成一個富有的聚合,以及其他的貧窮的聚合。

·總結

非監督學習已經獲得了巨大的成功,例如西洋雙陸棋程式world-champion calibre以及自動駕駛技術。當有一種為行為賦予權值的簡單方法時,它可以成為一項強大的技術。當有足夠的資料構成聚類(儘管有時這非常困難),聚合可能會非常有用,特別是一個聚類中關於成員的附加資料由於這些附加的資料可以用於產生更多的結果。

如果有恰當的分類系統(例如疾病處理程式,它一般會在實施自動診斷之後直接決定設計),分類學習也會非常強大,或者當分類是一件非常簡單的事情,此時我們非常樂於讓計算機為我們進行識別。如果通過演算法作出的決定需要輸入別的地方,這時分類學習是必要的。否則,對於需要輸入的一方來說,計算它的含義將會非常困難。

這兩種技術都非常有價值,你需要根據當時的情況決定需要選用哪一種技術——什麼型別的問題被解決,解決它需要支出多少時間(通常來說,監督學習和聚合要比強化學習技術更快),以及是否監督學習更有可能(完成)。

——————————————————————————————————————————————————————————————————
聚類系列:

--------------------------------

         機器學習的常用方法,主要分為有監督學習(supervised learning)和無監督學習(unsupervised learning)。監督學習,就是人們常說的分類,通過已有的訓練樣本(即已知資料以及其對應的輸出)去訓練得到一個最優模型(這個模型屬於某個函式的集合,最優則表示在某個評價準則下是最佳的),再利用這個模型將所有的輸入對映為相應的輸出,對輸出進行簡單的判斷從而實現分類的目的,也就具有了對未知資料進行分類的能力。在人對事物的認識中,我們從孩子開始就被大人們教授這是鳥啊、那是豬啊、那是房子啊,等等。我們所見到的景物就是輸入資料,而大人們對這些景物的判斷結果(是房子還是鳥啊)就是相應的輸出。當我們見識多了以後,腦子裡就慢慢地得到了一些泛化的模型,這就是訓練得到的那個(或者那些)函式,從而不需要大人在旁邊指點的時候,我們也能分辨的出來哪些是房子,哪些是鳥。監督學習裡典型的例子就是KNN、SVM。無監督學習(也有人叫非監督學習,反正都差不多)則是另一種研究的比較多的學習方法,它與監督學習的不同之處,在於我們事先沒有任何訓練樣本,而需要直接對資料進行建模。這聽起來似乎有點不可思議,但是在我們自身認識世界的過程中很多處都用到了無監督學習。比如我們去參觀一個畫展,我們完全對藝術一無所知,但是欣賞完多幅作品之後,我們也能把它們分成不同的派別(比如哪些更朦朧一點,哪些更寫實一些,即使我們不知道什麼叫做朦朧派,什麼叫做寫實派,但是至少我們能把他們分為兩個類)。無監督學習裡典型的例子就是聚類了。聚類的目的在於把相似的東西聚在一起,而我們並不關心這一類是什麼。因此,一個聚類演算法通常只需要知道如何計算相似度就可以開始工作了。

         那麼,什麼時候應該採用監督學習,什麼時候應該採用非監督學習呢?我也是從一次面試的過程中被問到這個問題以後才開始認真地考慮答案。一種非常簡單的回答就是從定義入手,如果我們在分類的過程中有訓練樣本(training data),則可以考慮用監督學習的方法;如果沒有訓練樣本,則不可能用監督學習的方法。但是事實上,我們在針對一個現實問題進行解答的過程中,即使我們沒有現成的訓練樣本,我們也能夠憑藉自己的雙眼,從待分類的資料中人工標註一些樣本,並把他們作為訓練樣本,這樣的話就可以把條件改善,用監督學習的方法來做。當然不得不說的是有時候資料表達的會非常隱蔽,也就是說我們手頭的資訊不是抽象的形式,而是具體的一大堆數字,這樣我們很難憑藉人本身對它們簡單地進行分類。這個說的好像有點不大明白,舉個例子說就是在bag-of-words模型的時候,我們利用k-means的方法聚類從而對資料投影,這時候用k-means就是因為我們當前到手的只有一大堆資料,而且是很高維的,當我們想把他們分為50個類的時候,我們已經無力將每個資料標記說這個數應該是哪個類,那個數又應該是哪個類了。所以說遇到這種情況也只有無監督學習能夠幫助我們了。那麼這麼說來,能不能再深入地問下去,如果有訓練樣本(或者說如果我們可以獲得到一些訓練資料的話),監督學習就會比無監督學習更合適呢?(照我們單純地想,有高人教總比自己領悟來的準,來的快吧!)我覺得一般來說,是這樣的,但是這要具體看看訓練資料的獲取。本人在最近課題的研究中,手動標註了大量的訓練樣本(當然這些樣本基本準確了),而且把樣本畫在特徵空間中發現線性可分性非常好,只是在分類面附近總有一些混淆的資料樣本,從而用線性分類器進行分類之後這樣樣本會被誤判。然而,如果用混合高斯模型(GMM)來分的話,這些易混淆的點被正確分類的更多了。對這個現象的一個解釋,就是不管是訓練樣本,還是待聚類的資料,並不是所有資料都是相互獨立同分布的。換句話說,資料與資料的分佈之間存在聯絡。在我閱讀監督學習的大量材料中,大家都沒有對訓練資料的這一假設(獨立同分布)進行說明,直到我閱讀到一本書的提示後才恍然大悟。對於不同的場景,正負樣本的分佈如果會存在偏移(可能是大的偏移,也可能偏移比較小),這樣的話用監督學習的效果可能就不如用非監督學習了。

——————————————————————————————————————————————————————————————————