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

机器学习——深度学习(Deep Learning)的更多相关文章

  1. (转)机器学习——深度学习(Deep Learning)

    from:http://blog.csdn.net/abcjennifer/article/details/7826917 Deep Learning是机器学习中一个非常接近AI的领域,其动机在于建立 ...

  2. (转)深度学习(Deep Learning, DL)的相关资料总结

    from:http://blog.sciencenet.cn/blog-830496-679604.html 深度学习(Deep Learning,DL)的相关资料总结 有人认为DL是人工智能的一场革 ...

  3. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  4. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)

    ##机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)---#####注:机器学习资料[篇目一](https://github.co ...

  5. 【重磅干货整理】机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    [重磅干货整理]机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总 .

  6. 机器学习(Machine Learning)&amp;深度学习(Deep Learning)资料

    机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008 ...

  7. 【深度学习Deep Learning】资料大全

    最近在学深度学习相关的东西,在网上搜集到了一些不错的资料,现在汇总一下: Free Online Books  by Yoshua Bengio, Ian Goodfellow and Aaron C ...

  8. (转) 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ

    特别棒的一篇文章,仍不住转一下,留着以后需要时阅读 基于Theano的深度学习(Deep Learning)框架Keras学习随笔-01-FAQ

  9. 转:浅谈深度学习(Deep Learning)的基本思想和方法

    浅谈深度学习(Deep Learning)的基本思想和方法  参考:http://blog.csdn.net/xianlingmao/article/details/8478562 深度学习(Deep ...

随机推荐

  1. JAVA基础-JDBC(一)

    一.JDBC的简介 JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,由与各种数据库都有着一套自己的规范,JAVA对其操 ...

  2. 如何兼容所有Android版本选择照片或拍照然后裁剪图片--基于FileProvider和动态权限的实现

    我们知道, Android操作系统一直在进化. 虽然说系统是越来越安全, 可靠, 但是对于开发者而言, 开发难度是越来越大的, 需要注意的兼容性问题, 也越来越多. 就比如在Android平台上拍照或 ...

  3. 浅谈web移动端适配问题

    一.布局方案 目前在解决移动端页面适配问题方案选择上,目前用得比较多是百分比布局,弹性布局flex,rem布局,本文将重点跟大家探讨rem布局. 二.viewport 在介绍rem布局之前,首先跟大家 ...

  4. Linux常用配置讲解

    本文主要讲解Linux的用户设置.主机名设置.网络配置.防火墙配置 用户传输包的命令lrzsz的安装以及SSH服务配置等基本操作. 1. 用户名设置 服务肯定是为了用户,而用户可能对于Linux并不了 ...

  5. c# 实体类生成工具

    一个简单生成c#实体类的工具 源代码下载

  6. tcprstat

    tcprstat http://www.percona.com/docs/wiki/tcprstat:start 监控网络流量情况,计算请求的响应时间(the delay between reques ...

  7. GridControl使用技巧总结,更新中...

    1如何禁用GridControl中单击列弹出右键菜单 设置Run Design->OptionsMenu->EnableColumnMenu 设置为:false 2如何定位到第一条数据/记 ...

  8. linux 安装nginx 详解

    1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没 ...

  9. 线程&进程&协程

    线程 线程是应用程序中工作的最小单元,它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.Threading用 ...

  10. LayoutInflater (转)

    在实际开发中LayoutInflater这个类还是非常有用的,它的作用类似于findViewById().不同点是LayoutInflater是用来找res/layout/下的xml布局文件,并且实例 ...