李宏毅老师机器学习课程笔记_ML Lecture 0-1: Introduction of Machine Learning
引言:
最近开始学习“机器学习”,早就听说祖国宝岛的李宏毅老师的大名,一直没有时间看他的系列课程。今天听了一课,感觉非常棒,通俗易懂,而又能够抓住重点,中间还能加上一些很有趣的例子加深学生的印象。
视频链接(bilibili):李宏毅机器学习(2017)
另外已经有有心的同学做了速记并更新在github上:李宏毅机器学习笔记(LeeML-Notes)
所以,接下来我的笔记只记录一些我自己的总结和听课当时的困惑,如果有能够帮我解答的朋友也请多多指教。
1、人工智能、机器学习、深度学习的关系

人工智能是目标,机器学习是实现目标的手段,而深度学习是实现机器学习的方法之一。
人类想要创造“智能”,有两种方式:
- hand crafted rules(人工编制的规则):需要大量的
if then,是一种被摒弃的路线 - 让机器可以自己学习:是课程探讨的方向

Yann LeCun曾经在twitter上发过的一则漫画,讽刺的是很多外形酷炫的所谓AI,拆开看源码其实就是很多的hand crafted rules程序而已。这又不得不让人联想到以前有人说过,“用PPT写的往往不是人工智能,用python写的才是”。这么看来,用python写的也不保险啊。
2、机器学习做的是什么事情?

机器学习≈寻求一个函数(function)
这个函数可以在我们输入确定的数据,经过它以后,可以输出我们想要的结果。
3、机器如何学习?


如何找到上面提到的函数?以图像识别为例,想要找到合适的函数,需要先准备一系列的函数,这一系列的函数集被称为模型(Model)。模型里有的函数是我们需要的,比如上图中的f1,因为当你输入猫的图片,它可以给出正确的结果。而f2显然不是我们想要的函数。机器学习的目的就是要找出可以认出所有动物的最优函数f*。当在训练数据中,既给出了输入的数据(图片),又给出了我们想让机器输出的结果(动物的名称),这种机器学习被称为监督学习。在监督学习中给出的输出结果又被称为标签。
4、机器学习的步骤

机器学习的过程往往分为3大步(类似于将大象放进冰箱):
- 定义一个函数集合,或者选择何种模型
- 让机器可以衡量一个函数的好坏
- 让机器可以挑出最好的函数
5、机器学习的学习路线

机器学习分为(按场景,越来越难):
- 监督学习(按任务):
- 回归问题(regression):需要输出的是数字(scalar),比如预测明天PM2.5的数据
- 分类问题(classificasion):
- 二元分类问题:需要输出的是“是”或“否”,比如垃圾邮件的判别
- 多元分类问题:比如新闻内容的自动分类,属于财经、体育、政治……
- 结构化学习(structure learning):就像暗黑大陆,有很多我们还不了解的东西,比较有名的方法——生成对抗网络GAN
- 半监督学习:少量有标签的数据,大量无标签数据
- 迁移学习:除了有一些无标签的数据,还有大量与要做的工作无关的数据
- 无监督学习:无标签的数据学习
- 强化学习:需要通过评价来学习,learning from critics,比较符合人类学习的模式
其中分类问题可以用到的模型有:
- 线性模型:最简单
- 非线性模型:要主要花精力的地方,非线性模型里最耳熟能详的就是深度学习模型(又分为以下方法):
- 深度学习
- 图像识别:吴恩达当年在google用深度学习让计算机识别出了猫
- 围棋:AlphaGo,类似于一个19*19(围棋棋盘)的分类问题
- K-NN
- 决策树
- SVM(支持向量机)
- 深度学习
李宏毅老师机器学习课程笔记_ML Lecture 0-1: Introduction of Machine Learning的更多相关文章
- 李宏毅老师机器学习课程笔记_ML Lecture 3-1: Gradient Descent
引言: 这个系列的笔记是台大李宏毅老师机器学习的课程笔记 视频链接(bilibili):李宏毅机器学习(2017) 另外已经有有心的同学做了速记并更新在github上:李宏毅机器学习笔记(LeeML- ...
- 李宏毅老师机器学习课程笔记_ML Lecture 1: ML Lecture 1: Regression - Demo
引言: 最近开始学习"机器学习",早就听说祖国宝岛的李宏毅老师的大名,一直没有时间看他的系列课程.今天听了一课,感觉非常棒,通俗易懂,而又能够抓住重点,中间还能加上一些很有趣的例子 ...
- 李宏毅老师机器学习课程笔记_ML Lecture 2: Where does the error come from?
引言: 最近开始学习"机器学习",早就听说祖国宝岛的李宏毅老师的大名,一直没有时间看他的系列课程.今天听了一课,感觉非常棒,通俗易懂,而又能够抓住重点,中间还能加上一些很有趣的例子 ...
- 李宏毅老师机器学习课程笔记_ML Lecture 1: 回归案例研究
引言: 最近开始学习"机器学习",早就听说祖国宝岛的李宏毅老师的大名,一直没有时间看他的系列课程.今天听了一课,感觉非常棒,通俗易懂,而又能够抓住重点,中间还能加上一些很有趣的例子 ...
- 李宏毅老师机器学习课程笔记_ML Lecture 0-2: Why we need to learn machine learning?
引言: 最近开始学习"机器学习",早就听说祖国宝岛的李宏毅老师的大名,一直没有时间看他的系列课程.今天听了一课,感觉非常棒,通俗易懂,而又能够抓住重点,中间还能加上一些很有趣的例子 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 10—Advice for applying machine learning 机器学习应用建议
Lecture 10—Advice for applying machine learning 10.1 如何调试一个机器学习算法? 有多种方案: 1.获得更多训练数据:2.尝试更少特征:3.尝试更多 ...
- Andrew 机器学习课程笔记
Andrew 机器学习课程笔记 完成 Andrew 的课程结束至今已有一段时间,课程介绍深入浅出,很好的解释了模型的基本原理以及应用.在我看来这是个很好的入门视频,他老人家现在又出了一门 deep l ...
- Andrew Ng机器学习课程笔记(四)之神经网络
Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ...
- 【读书笔记与思考】Andrew 机器学习课程笔记
Andrew 机器学习课程笔记 完成 Andrew 的课程结束至今已有一段时间,课程介绍深入浅出,很好的解释了模型的基本原理以及应用.在我看来这是个很好的入门视频,他老人家现在又出了一门 deep l ...
随机推荐
- RocketMQ 零拷贝
一.零拷贝原理:Consumer 消费消息过程,使用了零拷贝,零拷贝包含以下两种方式: 1.使用 mmap + write 方式 (RocketMQ选择的方式:因为有小块数据传输的需求,效果会比 s ...
- RocketMQ 单机版安装并测试
一.安装maven 1.下载maven,http://maven.apache.org/download.cgi,并解压: -bin.tar.gz 2.修改系统环境变量,并验证: vim /etc/p ...
- uboot--tftp
一. 概述 U-boot中的TFTP用于发送较小的文件.下层使用UDP协议,发送使用UDP 69端口,每次发送的最大分组为512 Bytes.发送双方采用超时重传机制.数据传输模式为octe ...
- 【转载】(String)、toString、String.valueOf的区别
用于个人参考,查看请前往原地址http://blog.csdn.net/springk/article/details/6414017 问题讨论http://bbs.csdn.net/topics/2 ...
- unittest实战(四):用例编写
import yamlimport unittestfrom selenium import webdriverimport timefrom ddt import ddt, data, unpack ...
- 前端、HTML+CSS+JS编写规范(终极版)
HTMLCSS文档规范 HTML和CSS文档必须采用UTF-8编码格式: HTML文档必须使用HTML5的标准文档格式: HTMLCSS编写规范 HTML和CSS的标签.属性.类名.ID都必须使用小写 ...
- H5多列布局
多列布局 基本概念 1.多列布局类似报纸或杂志中的排版方式,上要用以控制大篇幅文本. 2.跨列属性可以控制横跨列的数量 /*列数*/ -webkit-column-count: 3; /*分割线*/ ...
- PHP5.6.23+Apache2.4.20+Eclipse for PHP 4.5开发环境配置
一.Apache配置(以httpd-2.4.20-x64-vc14.zip为例)(http://www.apachelounge.com/download/) 1.安装运行库vc11和vc14 2.解 ...
- hadoop HDFS扩容
1.纵向扩容(添加硬盘) 1.1 添加硬盘 确定完成添加,运行 lsblk 查看硬盘使用情况 1.2 硬盘分区 fdisk /dev/sdb #对新硬盘sdb进行分区 m 帮助 n 添加一个分区 p ...
- Gorm 预加载及输出处理(一)- 预加载应用
单条关联查询 先创建两个关联模型: // 用户模型 type User struct { gorm.Model Username string `gorm:"type:varchar(20) ...