2013年8月30日 星期五

機器學習——深度學習(Deep Learning)


機器學習——深度學習(Deep Learning)

時間:2012-08-04 12:33來源:Internet 作者:Internet 點擊: 次
Deep Learning是機器學習中一個非常接近AI的領域,其動機在於建立、模擬人腦進行分析學習的神經網络,最近研究了機器學習中一些深度學習的相關知識,本文给出一些很有用的資料和心得。 Key
Deep Learning是機器學習中一個非常接近AI的領域,其動機在於建立、模擬人腦進行分析學習的神經網络,最近研究了機器學習中一些深度學習的相關知識,本文给出一些很有用的資料和心得。

Key Words:有監督學習與無監督學習,分類、回歸,密度估計、聚類,深度學習,Sparse DBN,

1. 有監督學習和無監督學習

给定一組數據(input,target)为Z=(X,Y)。
有監督學習:最常見的是regression & classification
regression:Y是實數vector。回歸問題,就是擬合(X,Y)的一條曲線,使得下式cost function L最小。

classification:Y是一個finite number,可以看做類標號。分類問題需要首先给定有label的數據訓練分類器,故屬於有監督學習過程。分類問題中,cost function L(X,Y)是X屬於類Y的概率的負對數。
,其中fi(X)=P(Y=i | X);

無監督學習:無監督學習的目的是學習一個function f,使它可以描述给定數據的位置分布P(Z)。 包括兩種:density estimation & clustering.
density estimation就是密度估計,估計該數據在任意位置的分布密度
clustering就是聚類,將Z聚集幾類(如K-Means),或者给出一個样本屬於每一類的概率。由於不需要事先根據訓練數據去train聚類器,故屬於無監督學習。
PCA和很多deep learning算法都屬於無監督學習。


2. 深度學習Deep Learning介紹
   Depth 概念:depth: the length of the longest path from an input to an output.
   Deep Architecture 的三個特點:深度不足會出現問題;人腦具有一個深度結構(每深入一層進行一次abstraction,由lower-layer的features描述而成的feature構成,就是上篇中提到的feature hierarchy問題,而且該hierarchy是一個稀疏矩陣);認知過程逐層進行,逐步抽象
   3篇文章介紹Deep Belief Networks,作为DBN的breakthrough

3.Deep Learning Algorithm 的核心思想:
    把learning hierarchy 看做一個network,則
    ①無監督學習用於每一層網络的pre-train;
    ②每次用無監督學習只訓練一層,將其訓練結果作为其higher一層的輸入;
    ③用有監督學習去調整所有層
這三個點是Deep Learning Algorithm的精髓,我在上一篇文章中也有講到,其中第三部分:Learning Features Hierachy & Sparse DBN就講了如何運用Sparse DBN進行feature學習。

4. Deep Learning 經典閱讀材料:


5. Deep Learning工具—— Theano
     Theano是deep learning的Python庫,要求首先熟悉Python語言和numpy,建議讀者先看Theano basic tutorial,然後按照Getting Started 下載相關數據並用gradient descent的方法進行學習。
學習了Theano的基本方法後,可以練習寫以下幾個算法:
有監督學習:

  1. Logistic Regression - using Theano for something simple
  2. Multilayer perceptron - introduction to layers
  3. Deep Convolutional Network - a simplified version of LeNet5


無監督學習:





最後呢,推薦给大家基本ML的書籍:



關於Machine Learning更多的學習資料將繼續更新,敬請關注本博客和新浪微博Sophia_qing

References:
1. Brief Introduction to ML for AI
2.Deep Learning Tutorial
3.A tutorial on deep learning - Video

沒有留言:

張貼留言