李宏毅机器学习笔记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 ...
随机推荐
- ionic3 极光推送
参考网站:http://www.jianshu.com/p/eb8ab29329d9 遇到的问题是 执行以下命令一直报错 cordova plugin add https://github.com/ ...
- ionic3 点击input 弹出白色遮罩 遮挡上部内容
在Manifest中的activity里设置android:windowSoftInputMode为adjustPan,默认为adjustResize,当前窗口的内容将自动移动以便当前焦点从不被键盘覆 ...
- MySQL数据库之安装
一.基础部分 1.数据库是什么 之前所学,数据要永久保存,比如用户注册的用户信息,都是保存于文件中,而文件只能存在于某一台机器上. 如果我们不考虑从文件中读取数据的效率问题,并且假设我们的程序所有的组 ...
- Laravel 中通过自定义分页器分页方法实现伪静态分页链接以利于 SEO
我们知道,Laravel 自带的分页器方法包含 simplePaginate 和 paginate 方法,一个返回不带页码的分页链接,另一个返回带页码的分页链接,但是这两种分页链接页码都是以带问号的动 ...
- Pychram IDE链接MySQL下更新数据的问题总结
一.今天下午的数据库更新问题做个总结,数据更新的时候出现如下报错: Failed to retrieve routines in mysite_db.[42S02][1146] Table 'mysq ...
- 小学生都看得懂的C语言入门(5): 指针
现在已经学到C语言的后面了, 快学完咯.... (一)取地址运算 先来看一下sizeof 计算所占字节 #include<stdio.h> int main() { int a; a=; ...
- 在anaconda中安装tensorflow
打开Anaconda Prompt, step1: 输入清华仓库镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/ ...
- JS实现继承的几种方式(转)
转自:幻天芒的博客 前言 JS作为面向对象的弱类型语言,继承也是其非常强大的特性之一.那么如何在JS中实现继承呢?让我们拭目以待. JS继承的实现方式 既然要实现继承,那么首先我们得有一个父类,代码如 ...
- shell 按序删除文件
一.按时间排序 cd /data/wosbak/hrs/pre/ && ls -A -t | awk '{if(NR>15){print $9}}' | xargs rm -rf ...
- Python+selenium自动化测试中Windows窗口跳转方法
Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 drive ...