• 机器学习——深度学习(Deep Learning)


    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一层的输入;

        ③用监督学习去调整全部层

    这里不负责任地理解下,举个样例在Autoencoder中,无监督学习学的是feature。有监督学习用在fine-tuning. 比方每个neural network 学出的hidden layer就是feature,作为下一次神经网络无监督学习的input……这样一次次就学出了一个deep的网络,每一层都是上一次学习的hidden layer。

    再用softmax classifier去fine-tuning这个deep network的系数。



    这三个点是Deep Learning Algorithm的精髓,我在上一篇文章中也有讲到,当中第三部分:Learning Features Hierachy & Sparse DBN就讲了怎样运用Sparse DBN进行feature学习。


    4. Deep Learning 经典阅读材料:

    阐述Deep learning主要思想的三篇文章:
    06年后。大批deep learning文章涌现。感兴趣的能够看下大牛Yoshua Bengio的综述Learning deep architectures for {AI},只是本文非常长,非常长……

    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


    注明:转自Rachel Zhang的专栏http://blog.csdn.net/abcjennifer/article/details/7826917

  • 相关阅读:
    文件操作(IO 技术)
    异常
    面向对象进阶
    面向对象
    函数用法和底层分析
    控制语句
    集合
    字典
    元组 tuple
    Python3 列表
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/7091648.html
Copyright © 2020-2023  润新知