初步认识深度学习笔记(一)
Deep Learning是機(jī)器學(xué)習(xí)中一個(gè)非常接近AI的領(lǐng)域,其動(dòng)機(jī)在于建立、模擬人腦進(jìn)行分析學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò),最近研究了機(jī)器學(xué)習(xí)中一些深度學(xué)習(xí)的相關(guān)知識(shí),本文給出一些很有用的資料和心得。
?
Key Words:有監(jiān)督學(xué)習(xí)與無(wú)監(jiān)督學(xué)習(xí),分類、回歸,密度估計(jì)、聚類,深度學(xué)習(xí),Sparse DBN,...
?
?
?
?
?
?
1. 有監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)
給定一組數(shù)據(jù)(input,target)為Z=(X,Y)。
有監(jiān)督學(xué)習(xí):最常見的是regression(回歸) ? ?& ? ?classification(分類)。
regression:Y是實(shí)數(shù)vector。回歸問(wèn)題,就是擬合(X,Y)的一條曲線,使得下式cost function L最小。
?
classification:Y是一個(gè)finite number,可以看做類標(biāo)號(hào)。分類問(wèn)題需要首先給定有l(wèi)abel的數(shù)據(jù)訓(xùn)練分類器,故屬于有監(jiān)督學(xué)習(xí)過(guò)程。分類問(wèn)題中,cost function L(X,Y)是X屬于類Y的概率的負(fù)對(duì)數(shù)。
,其中fi(X)=P(Y=i | X);
?
無(wú)監(jiān)督學(xué)習(xí):無(wú)監(jiān)督學(xué)習(xí)的目的是學(xué)習(xí)一個(gè)function f,使它可以描述給定數(shù)據(jù)的位置分布P(Z)。 包括兩種:density estimation & clustering.
density estimation就是密度估計(jì),估計(jì)該數(shù)據(jù)在任意位置的分布密度
clustering就是聚類,將Z聚集幾類(如K-Means),或者給出一個(gè)樣本屬于每一類的概率。由于不需要事先根據(jù)訓(xùn)練數(shù)據(jù)去train聚類器,故屬于無(wú)監(jiān)督學(xué)習(xí)。
PCA和很多deep learning算法都屬于無(wú)監(jiān)督學(xué)習(xí)。
?
?
?
?
?
?
2.?深度學(xué)習(xí)Deep Learning介紹
? ?Depth 概念:depth: the length of the longest path from an input to an output.
? ?Deep Architecture 的三個(gè)特點(diǎn):深度不足會(huì)出現(xiàn)問(wèn)題;人腦具有一個(gè)深度結(jié)構(gòu)(每深入一層進(jìn)行一次abstraction,由lower-layer的features描述而成的feature構(gòu)成,就是上篇中提到的feature hierarchy問(wèn)題,而且該hierarchy是一個(gè)稀疏矩陣);認(rèn)知過(guò)程逐層進(jìn)行,逐步抽象
???3篇文章介紹Deep Belief Networks,作為DBN的breakthrough
?
?
?
3.Deep Learning Algorithm 的核心思想:
? ? 把learning hierarchy 看做一個(gè)network,則
? ??①無(wú)監(jiān)督學(xué)習(xí)用于每一層網(wǎng)絡(luò)的pre-train;
? ? ②每次用無(wú)監(jiān)督學(xué)習(xí)只訓(xùn)練一層,將其訓(xùn)練結(jié)果作為其higher一層的輸入;
? ? ③用監(jiān)督學(xué)習(xí)去調(diào)整所有層
?
這里不負(fù)責(zé)任地理解下,舉個(gè)例子在Autoencoder中,無(wú)監(jiān)督學(xué)習(xí)學(xué)的是feature,有監(jiān)督學(xué)習(xí)用在fine-tuning. 比如每一個(gè)neural network 學(xué)出的hidden layer就是feature,作為下一次神經(jīng)網(wǎng)絡(luò)無(wú)監(jiān)督學(xué)習(xí)的input……這樣一次次就學(xué)出了一個(gè)deep的網(wǎng)絡(luò),每一層都是上一次學(xué)習(xí)的hidden layer。再用softmax classifier去fine-tuning這個(gè)deep network的系數(shù)。?
這三個(gè)點(diǎn)是Deep Learning Algorithm的精髓,我在上一篇文章中也有講到,其中第三部分:Learning Features Hierachy & Sparse DBN就講了如何運(yùn)用Sparse DBN進(jìn)行feature學(xué)習(xí)。
?
?
?
?
4. Deep Learning 經(jīng)典閱讀材料:
- The monograph or review paper?Learning Deep Architectures for AI?(Foundations & Trends in Machine Learning, 2009).
- The ICML 2009 Workshop on Learning Feature Hierarchies?webpage?has a?list of references.
- The LISA?public wiki?has a?reading list?and a?bibliography.
- Geoff Hinton has?readings?from last year’s?NIPS tutorial.
- Hinton, G. E., Osindero, S. and Teh, Y.,?A fast learning algorithm for deep belief netsNeural Computation 18:1527-1554, 2006
- Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle,?Greedy Layer-Wise Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007<比較了RBM和Auto-encoder>
- Marc’Aurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann LeCun?Efficient Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al. (Eds), Advances in Neural Information Processing Systems (NIPS 2006), MIT Press, 2007<將稀疏自編碼用于回旋結(jié)構(gòu)(convolutional architecture)>
?
?
?
?
?
5. Deep Learning工具——?Theano
? ???Theano是deep learning的Python庫(kù),要求首先熟悉Python語(yǔ)言和numpy,建議讀者先看Theano basic tutorial,然后按照Getting Started?下載相關(guān)數(shù)據(jù)并用gradient descent的方法進(jìn)行學(xué)習(xí)。
學(xué)習(xí)了Theano的基本方法后,可以練習(xí)寫以下幾個(gè)算法:
有監(jiān)督學(xué)習(xí):
?
?
無(wú)監(jiān)督學(xué)習(xí):
- Auto Encoders, Denoising Autoencoders?- description of autoencoders
- Stacked Denoising Auto-Encoders?- easy steps into unsupervised pre-training for deep nets
- Restricted Boltzmann Machines?- single layer generative RBM model
- Deep Belief Networks?-?unsupervised generative pre-training of stacked RBMs followed by supervised fine-tuning
?
?
?
?
最后呢,推薦給大家基本ML(機(jī)器學(xué)習(xí))的書籍:
- Chris Bishop, “Pattern Recognition and Machine Learning”, 2007
- Simon Haykin, “Neural Networks: a Comprehensive Foundation”, 2009 (3rd edition)
- Richard O. Duda, Peter E. Hart and David G. Stork, “Pattern Classification”, 2001 (2nd edition)
?
?
?
?
?
?
本文轉(zhuǎn)自大數(shù)據(jù)躺過(guò)的坑博客園博客,原文鏈接:http://www.cnblogs.com/zlslch/p/6965459.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的初步认识深度学习笔记(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: FTP服务笔记
- 下一篇: BAT资深算法工程师《深度学习》读书分享