深度学习_李宏毅课程
Aamax
这个作者很懒,什么都没留下…
展开
-
1.Introduction of Machine Learning
相关链接: https://blog.csdn.net/soulmeetliang/article/details/77461607 课程主页:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML16.html PPT打包下载:http://speech.ee.ntu.edu.tw/~tlkagk/co...原创 2019-05-20 08:08:25 · 232 阅读 · 0 评论 -
18.Unsupervised Learning-Word Embedding
1.word embedding的含义 Word embedding指的是机器从许多文档中非监督学习到词语的含义 表示词语的含义有许多方法,最简单的是1-of-N encoding,但这个方法可以独立表示每个词,但词与词之间的关联并不能表示出来,并且0-1序列过于庞大了。Word class也是一种方法,将词汇分为不同的类,但这种分类太粗糙了。较好的方法即使今天介绍的w...原创 2019-10-18 08:32:46 · 300 阅读 · 0 评论 -
19.Unsupervised Learning-Neighbor Embedding
之前在PCA中介绍了线性降维的方法,今天讲述neighbor embedding,即非线性降维的方法。降维凭借的是data point 和data point之间的关系,在降维前的空间中每一个点和它的邻居之间的关系来做降维,也叫做manifold learning。Manifold Learning 我们要做的是非线性的降维,data是分布在低维空间里面,只是被扭...原创 2019-05-27 08:12:50 · 258 阅读 · 0 评论 -
20.Unsupervised Learning-Auto-encoder
Auto-encoder 自编码器是一种无监督学习方法,可用于数据降维及特征抽取。自编码器由编码器(Encoder)和解码器(Decoder)两部分组成。编码器通常对输入对象进行压缩表示,解码器对经压缩表示后的code进行解码重构。 它的思想是,找一个encoder,比如input一张image,经过encoder,output一个code,它的维度要远比inpu...原创 2019-05-28 15:22:48 · 237 阅读 · 0 评论 -
21.Unsupervised Learning-Deep Generative Medel(1)
引言:在之前介绍的机器学习教程中机器可以做到分类,但不能生成真的模型。费曼曾经说过如果一个东西我没有真正创造它,那么我就没有真正理解它。Machine可以分类猫和狗,但或许并不真的知道猫是什么,狗是什么,未来某一天它可以自己画出猫的时候,猫这个东西的概念或许不一样了。 生成模型(Generative Models):生成模型的想法是希望机器能够自己主动去生成...原创 2019-06-02 09:36:19 · 186 阅读 · 0 评论 -
22.Unsupervised Learning-Deep Generative Medel(2)
(接上一条21 Unsupervised Learning-Deep Generative Medel)2. Variational Autoencoder(变分自编码) 上一节笔记我们讲到了VAE,VAE结构如下 为什么要用VAE?一个intuitive的解释是,auto-encoder的encoder与decoder都是非线性的,很难预测问号处是一...原创 2019-06-03 19:25:19 · 185 阅读 · 0 评论 -
23.Transfer Learning
概念 迁移学习是什么? 假设手上有一些和现在要进行的学习任务不相关的数据,那么能不能用这些数据帮助完成学习任务。 如下图,比如我们想做一个猫狗分类器,但是我们没有猫狗的图片数据,而只有以下数据: a、大象和老虎图片(都是动物图片,所以属于相似的域(domain),但是与猫狗分类相比是完全不同的学习任务) ...原创 2019-06-04 18:17:40 · 207 阅读 · 0 评论 -
24.Support Vector Machine
一、简介 支持向量机(support vector machines)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,最终转化为一个凸二次规划问题来求解。由简至繁的模型包括: &当训练样本线性可分时,通过硬间隔最大化,学习一个线性可分支持向量机; &当训练样本近似线性可分时,通过软间隔最大化,学习一...原创 2019-06-04 18:17:54 · 255 阅读 · 0 评论 -
25.Structured Learning-introduction
1.结构化学习(Structured Learning) 在之前的学习中,输入和输出都是向量vector。然而在现实生活中,有时我们希望输入输出是带有结构的,比如sequence, list, tree, bounding box……因此我们需要一个更加强大的函数。2.应用 Structured learning应用十分广泛3.通用框架(Un...原创 2019-06-09 15:13:35 · 228 阅读 · 0 评论 -
26.Structured Learning-Linear Model
上节讨论了Structured learning的简介,本节我们讨论Structured learning最简单的模型Structured linear model。 上节课说到,Structured Learning的Unified Framework有三个问题: 如果F(x,y)长成特定形式的话,那么Problem 3就不是问题。1...原创 2019-06-16 09:33:41 · 208 阅读 · 0 评论 -
28.Structured Learning - Sequence Labeling
Sequence Labeling(序列标注问题),可以用RNN解决,也可以用Structured Learning(two steps,three problems)解决 词性标注(part-of-speech tagging,POS tagging),对应输入是序列输出也是序列的结构化学习问题,词性标注属于其中。词性标注指的是在一串的字词中标注每一个词所属的...原创 2019-06-19 08:21:10 · 308 阅读 · 0 评论 -
29.RNN-Recurrent Neural Network
1、从一个例子说起 假设要做一个智能客服系统或者智能订票系统之类的,需要用到一个叫做Slot Filling(添槽)的技术,举个例子,如果做一个人对智能订票系统说 ”I would like to arriveTaipeionNovember 2nd“。那么你的系统会有一些Slot,在这里应该是Destination和time of arrival,然后根据对方...原创 2019-06-23 16:27:29 · 232 阅读 · 0 评论 -
30.RNN应用
应用 循环神经网络有很多种应用情景。1.Many to one ①语义分析里面,输入是一个vector序列,输出为一个vector ②关键词提取2.Many to many ①语音辨识里面会有一个问题,比如你说好棒,它可能识别很多“好”和“棒” 所以我们需要用CTC的方法来解决...原创 2019-06-24 21:50:52 · 2532 阅读 · 1 评论 -
31.集成学习Ensemble
集成学习(ensemble learning)可以说是现在非常火爆的机器学习方法了。它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域都可以看到集成学习的身影。本文就对集成学习的原理做一个总结。1.集成学习概述...原创 2019-06-24 21:51:05 · 345 阅读 · 0 评论 -
17.Unsupervised Learning-Linear Methods
Unsupervised learning指训练集都没有label 无监督学习主要分为两类,一种是聚类(Clustering)&维数约减(Dimension Reduction),能够使复杂变简单,化繁为简;另一种是生成(Generation),无中生有。本章主要讲解前者。1.聚类(Clustering) Clustering分为:1) K-m...原创 2019-05-26 09:15:56 · 211 阅读 · 0 评论 -
16.Semi-supervised
了解半监督学习之前需要首先知道监督学习(Supervised Learning)的概念,监督学习指训练样本都是带标签的。然而在现实中,数据收集是容易的,但是收集到带标签的数据却是非常昂贵的。 半监督学习指的是既包含部分带标签的数据也有不带标签的数据,通过这些数据来进行学习。 直推学习(Transductive Learning):不带...原创 2019-05-26 09:15:39 · 418 阅读 · 0 评论 -
15.Why Deep
本章讲述了为什么要是深度学习,选择“高瘦”型的深网络,而不是“矮胖”型的宽网络。1.矮胖还是高瘦? 我们知道在神经单元足够多、参数够多的情况下,只需要一个隐藏层,就可以表示任意的函数。既然如此为什么不选择用这种宽网络,而是选择深度网络呢? 神经网络是越深越好吗?答案是肯定的,因为更深的网络代表着更多的参数,实验结果当然更好。倘若让它们参数一样...原创 2019-05-24 08:21:47 · 580 阅读 · 0 评论 -
2.Regression-Case Study
回归问题: The output of the target functionfis “scalar”.课程用例说明: 针对的问题:估计pokemon进化之后的CP值(战斗力),来讲解什么是Regression 如上面图中所示,我们的目标是在函数‘f’中,input一只宝可梦,output他进化后的cp值。 那么寻找这个函数...原创 2019-05-20 10:45:58 · 210 阅读 · 0 评论 -
3.误差分析
理解 Bias 与 Variance 有监督学习中,预测误差的来源主要有两部分,分别为 bias 与 variance,模型的性能取决于 bias 与 variance 的 tradeoff ,理解 bias 与 variance 有助于我们诊断模型的错误,避免 over-fitting 或者 under-fitting. 我们知道,不同的model对同一testi...原创 2019-05-20 11:57:48 · 4725 阅读 · 0 评论 -
4.梯度下降Gradient Descent
Review: 梯度下降法 在回归问题的第三步中,需要解决下面的最优化问题: θ∗=arg minθ L(θ) L:lossfunct...原创 2019-05-20 17:51:06 · 280 阅读 · 0 评论 -
5.分类Classification
分类问题可以应用在很多领域,例如信用评分,医疗诊断,手写数字辨识,面部识别等领域。 本节还是以pokemon的类型辨识作为例子解释分类问题,pokemon有很多类型,比如火系,水系,电系等。 我们可以根据pokemon一系列特征,来解决分类问题分类问题当作回归问题 如果分类问题当作一个回归问题解决,以二分类作...原创 2019-05-20 17:51:17 · 508 阅读 · 0 评论 -
6.逻辑回归Logistic Regression
引言: 从上一节classification最后的部分中,我们最终得到分类问题可以用sigmoid函数和一个线性函数表示。既然我们知道分类问题最终表示为一个sigmoid加一个线性函数,线性函数的w和b可以由一系列复杂公式得出,我们能不能直接求出w和b而不用之前那么复杂的假设和公式?这个问题称之为logistic regression。 先看分类问题的step1:F...原创 2019-05-20 20:07:45 · 386 阅读 · 0 评论 -
7.Brief introduction of Deep Learning
深度学习的历史深度学习基本结构 深度学习类似之前的机器学习,也可以分为简单的三步 给定一个神经网络结构,也就是定义了一个函数集,给这个神经网络不同的权重也对应着不同的函数,我们要做的不断调整权重以找到我们想要的最好的函数 神经网络可以分为三部分,输入层,隐藏层,输出层,从字面自已我们大致可以知道,第一个层就是输入层,...原创 2019-05-21 08:12:30 · 175 阅读 · 0 评论 -
8.反向传播Backpropagation
1 前言1.1 为什么要用 Backpropagation 在神经网络中的梯度下降算法和之前求线性回归方程中用的没有太大的区别,都是不断的计算微分,然后更新参数,最终找到一个最优解。 但是在神经网络中,有着大量可能多达上百万个的参数,所以传统的求微分方法行不通,计算量太大无法快速有效的求出微分。1.2 链式求导法则(Chain Rule)...原创 2019-05-21 18:03:34 · 252 阅读 · 0 评论 -
9.Hello world-for deep learning
在我们最开始学习c语言的时候,第一个程序自然是hello world程序,deep learning中也有类似的程序—mnist手写数字辨识。因为deep learning最终是用于工程实现,所以亲自动手实现很重要,在实际操作中,会遇到种种问题,因为deep learning要是做好的话远没有那么简单。1. keras2.手写数字辨识网络设计 手写数字...原创 2019-05-21 22:23:21 · 176 阅读 · 0 评论 -
10.Keras 2.0
深度学习实验: 1. 构建输入空间。如图像等转换为向量,多张图像向量构成一个矩阵。一般图像,将其每一个像素,作为一个维度,如28*28,拉成28*28维度的向量。 2. 确定输出。如输出二分类,多分类,则定义对应个数的维度的输出向量。 3. 确定隐藏层。keras:说明: 声明:model = Sequential()...原创 2019-05-22 14:37:21 · 158 阅读 · 0 评论 -
11.Keras 神经网络框架
IntroductionKeras是一个高级的神经网络API,用Python实现,并可以基于TensorFlow,CNTK与Theano等计算框架运行。 Keras的核心是神经网络,它的意义主要在于使得神经网络的实现更加方便快捷,因此它本质上是在一些知名的计算框架上进行了一层简化的封装,只对Keras使用者暴露出一些简单易用的接口,使用者可以很快了解并上手实现...原创 2019-05-22 14:37:39 · 428 阅读 · 0 评论 -
12.Tips for Training DNN
如下图:了解DL的三步骤;三步做完之后,获得一个NN,接着检查所得到的模型,根据检查的结果执行相应的措施。对于DL来说,过拟合往往不是你首先会碰到的问题,反而是训练过程就很难得到满意的结果,即可能训练集上的准确率就一直很低。如果你在训练集上准确率很高了,但在测试集上准确率低,那才是过拟合。 所以,不要总是第一时间认为测试集上效果不好是因为过拟合!...原创 2019-05-22 21:31:38 · 331 阅读 · 0 评论 -
13.Keras Demo2
针对9.Hello world-for deep learning优化问题 在test set上预测结果不好,那么要先看training set上结果好不好。或者说,在training set上只有overfitting了,在test set上才有优化的空间。 在training set上evaluation效果不好时: ①可以观察每一个epoch...原创 2019-05-23 17:25:24 · 232 阅读 · 0 评论 -
14.CNN---Convolutional Neural Network
1 为什么用 CNN 识别图像 1.1 使用 DNN 的缺陷 当我们用一般的全连接神经网络处理图像时,可能是这样子: 第一层识别一些最基础的线条、特定方向的边界等等之类的最基本的模式。 第二层就开始基于第一层的基础识别一些复杂一些的模式。 往后的层以此类推,直至识别出一个预期中的目标。 ...原创 2019-05-23 17:25:40 · 421 阅读 · 0 评论