李宏毅机器学习笔记6:Why deep、Semi-supervised
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube、网易云课堂、B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对这些知识内容的理解与补充。(本笔记配合李宏毅老师的视频一起使用效果更佳!)
Lecture 8:Why deep?
1.Shallow network VS Deep network
在比较浅层网络与深层网络时,要让“矮胖”的网络和“高瘦”的网络的参数数目相等,这样比较才公平,如下图所示
比较结果如下图所示:
从上图可以看出:即便是在深层网络参数较少的情况下,深层网络也会比浅层网络表现好。 这是因为“深层”其实相当于“模组化”,第一个隐层是最基本的分类器,第二个隐层是用第一个隐层建造的分类器,以此类推。
2.模组化(Modularization)
(1)举个图像识别的例子,识别长发男生、长发女生、短发男生和短发女生,如下,由于长发男生样本少,所以模型训练出来的效果对测试集上的长发男生效果会比较差(样本不平衡)
因此接下来让我们使用模组化的思想解决这一问题,我们先考虑识别基础类别(男女、长发短发),即我们先input一张图片,识别这是长发还是短发,这是男还是女,此时样本比例是相当的,由此训练的效果不会变差,且由两个基础类别的组合可以得到最终的四个类别。
深度学习的优势就体现在模组化的处理方式,第二层的神经元把第一层的神经元当作modile,第三层的神经元把第二层的神经元当作module(具体module由算法自动学习)。此时复杂的问题变成简单问题,深度学习需要的数据比较少。
3.浅层网络确实可以表示任意函数,但是使用深层结构更有效率
具体可以通过逻辑门电路例子来解释这个理论:用两层逻辑门就可以实现任何布尔函数,但是用多层结构更简单、需要的逻辑门更少,更少的逻辑门代表着更高的效率
4.最后,在本节课老师采用了语音识别,MNIST数据集识别等例子再次证明和强调了Why Deep?和Deep带来的好处!
Lecture 9:Semi-supervised
1.Introduction
(1)半监督学习的训练数据,有一部分是标注数据,有一部分是无标注数据。
(2)Transductive learning和Inductive learning都可算是半监督学习,区别在于前者的无标注数据是测试数据(除去label),而后者的无标注数据不包括测试数据。实际中用哪种常取决于是否有测试集。
(3)无标注数据的分布会让我们做出一些假设,半监督学习有没有用就取决于假设是否合理。
(4)介绍半监督学习的大纲:如下图所示
2.Semi-supervised Learning for Generative Model
(1)先让我们看看监督学习和半监督学习的生成模型的对比,(Supervised Generative Model VS Semi-supervised Generative Model)
监督学习:
非监督学习:
从上图可以看出,无标注数据有助于重新估计生成模型假设中的参数,从而影响决策边界
(2)求解模型采用的方法
求解该模型采用的是EM算法,EM算法也是机器学习十大算法之一,求解步骤如下图所示:
3.Low-density Separation Assumption
(1)之前提过半监督学习有没有用很大一部分就取决于假设是否合理,现在让我们了解一下第一个假设“低密度分离”--------非黑即白。
(2)该假设的应用过程如下:
- 给你一堆初始数据,该数据包括有标记和无标记的
- 从有标记的数据中训练出一个模型f*.
- 从数据中选出一些无标记的数据,将这些数据扔入模型f*中,将得到的结果赋予这些无标记的数据的标签,然后将这些数据从无标记数据集中删除并加入有标记的数据集中,重复此过程。
(3)Self-training结果优化:如果神经网络的输出是一个分布,我们希望这个分布要集中
4.Smoothness Assumption(第二个假设)
(1)核心思想:假设特征的部分是不均匀的(在某些地方集中,某些地方分散),如果两个特征在高密度区域是相近的,那么二者的标签是相同的。
就拿上图数字辨识的例子来看,可以通过一条high density path完成------->
的转变
(2)如果数据量很大,如何做到确定这条high density path呢?
Cluster(群集):
这种方法有明显的缺点:它只适用于每个class的分类较为清晰。所以引入另外一种办法
Graph-based Approach
1)如何构建这个图呢?
2)如何在图中定量的表示平滑度呢?
其中,smoothness不一定要放在output上,放到任何一层都可以。
5.Better Representation
该部分的学习放到无监督学习中!!
课件pdf参考: https://blog.csdn.net/soulmeetliang/article/details/73251790
以上就是本次学习的内容,欢迎交流与讨论
李宏毅机器学习笔记6:Why deep、Semi-supervised的更多相关文章
- 李宏毅机器学习笔记4:Brief Introduction of Deep Learning、Backpropagation(后向传播算法)
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- 李宏毅机器学习笔记5:CNN卷积神经网络
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- 李宏毅机器学习笔记3:Classification、Logistic Regression
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- 李宏毅机器学习笔记2:Gradient Descent(附带详细的原理推导过程)
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- 李宏毅机器学习笔记1:Regression、Error
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- 【ML入门】李宏毅机器学习笔记01-Learning Map
版权声明:小博主水平有限,希望大家多多指导.本文仅代表作者本人观点,转载请联系知乎原作者——BG大龍. 目录 1 什么是机器学习? 2 机器学习的3个步骤 3 李宏毅老师的机器学习课程 4 按“模型的 ...
- 李宏毅机器学习笔记——新手感悟——PM2.5作业
python也不会,计算机也不会,啥都不会,只带了个脑子考了计算机研究生.研究生选了人工智能方向.看来注定是漫长的学习之旅. PM2.5作业,我是一个字都看不懂.所以我采用了直接看答案的方案.把答案看 ...
- 李宏毅机器学习课程笔记-2.5线性回归Python实战
本文为作者学习李宏毅机器学习课程时参照样例完成homework1的记录. 任务描述(Task Description) 现在有某地空气质量的观测数据,请使用线性回归拟合数据,预测PM2.5. 数据集描 ...
- <Machine Learning - 李宏毅> 学习笔记
<Machine Learning - 李宏毅> 学习笔记 b站视频地址:李宏毅2019国语 第一章 机器学习介绍 Hand crafted rules Machine learning ...
随机推荐
- Confluence 6 通过 SSL 或 HTTPS 运行 - 修改你 Confluence 的 server.xml 文件
下一步你需要配置 Confluence 来使用 HTTPS: 编辑 <install-directory>/conf/server.xml 文件. 取消注释下面的行: <Connec ...
- Confluence 6 数据库表和参考
扩展下面的链接来显示主要的表格和每一个表格的外键. 单击这里来显示/隐藏表格... AO_9412A1_AOUSER ID AO_9412A1_USER_APP_LINK USER_ID fk_ao ...
- Confluence 6 H2 数据库连接与合并整合
使用 H2 console 连接到你嵌入的 H2 数据库 可以选的,你可以使用 H2 console 来连接到你的 H2 数据库.最简单的访问 Console 的方法是双击 H2 数据库的 jar 文 ...
- JS控制文本框内键盘上下左右键的焦点
avaScript键盘上下左右控制文本框焦点的方法有很多,这里简单说两种方法: 方法一: 创建一个table的dom元素,包含5行4列的文本框 <!DOCTYPE HTML PUBLIC &qu ...
- matalb 产生信号源 AM调制解调 FM调制解调
%%%%%%%%%%%%%%%%%%%%%%%%%%% %AM调制解调系统 %%%%%%%%%%%%%%%%%%%%%%%%%%% clear; clf; close all Fs=800000;%采 ...
- Metasploit渗透测试模块(一)
1.Metasploit模块加载 初始化界面,成功要加载数据库 查看 Metasploit中已近存在的漏洞模块使用 show payloads
- java多线程机制中的Thread和Runnable()区别
1.java语言使用Thread类及其子类对象来表示线程,新建的一个线程声明周期中经历 新建.(声明一个线程,此时他已经有了相应的内存空间和其他资源),运行(线程创建之久就据用了运行的条件,一旦轮到使 ...
- 原码、补码、反码的概念和java数的存储方式
原码:用符号位和数值位表示一个带符号数,整数符号->0,负数符号->1,数值一般用二进制形式表示 [+10011]原=00010011 [-10011]原=10010011 反码:正 ...
- php模拟数据请求
php:模拟后台接受数据的步骤<?php> 1.连接数据库 $host="localhost"; $uname="root"; $upwd=&quo ...
- const 和 const_cast
对于const变量,我们不能修改它的值,这是这个限定符最直接的表现.但是我们就是想违背它的限定希望修改其内容怎么办呢?下边的代码显然是达不到目的的: ; int modifier = constant ...