Lec-1 Introduction - Machine learning (台大李宏毅)
本文为台大李宏毅的机器学习入门课程笔记。
第一章:机器学习入门
重点:
- 机器学习分类
- 各个类别总结
机器学习,不同于以往的hand-crafted rule learning, 不是由人给定规则,而是由机器去真实地通过输入的数据,去总结出一些规律。这些规律可能人类已知,也可能未知;可能理解,也可能不理解。但是没关系,人类还是机器的主宰。
下面先来看这张图:
可以看到,机器学习总共可以分为三个步骤:
- 有一系列的model / function (红色)
- 有训练数据(黄色)
- 能够评估function好坏的标准(蓝色)
以监督学习为例,则:
学习过程:
- 从function set 中拿出一个,来作为你认为比较适合这个任务的学习模型$f_1,f_2,…$(带参, 如$y = b + wx$)
- 定义如何衡量学习模型的好坏,即设定一个打分标准(如 mean square erro)
- 把训练数据喂给不同参数的学习模型,从中选出一个最好的,作为学习出来的最终模型$f^*$(参数已确定,如$y = 5 + 3x$)
预测过程
- 用$f^*$来预测测试数据集的结果
- 把得到的结果与测试集的真实结果相比较,计算出准确率
机器学习分类
(ref)
可以看到,在machine learning这个分类下,可以分为5类学习。下面我们一一介绍一下这五类学习方法。
1. Supervised Learning 监督学习
所谓监督学习,就是我们告诉机器说,当看到input1,就输出ouput2;看到input2,就输出ouput2
1.1 Regression 回归问题
The output of the target founction f is ‘scalar’.
如果我们在机器学习中要找的function输出是数值,这样的问题就是回归问题
举个例子: 预测PM2.5进行天气预报。
核心思想:连续函数下的预测
1.2 Classification 分类问题
分类问题,顾名思义,就是对输入的数据进行分类。按照输出结果的个数和中间过程,可以将分类问题各自分为两类
按照输出结果分类
- Binary-Classification 二分类(输出两种结果)
- Multi-class Classification 多分类(输出多个结果)
举例:
- Binary Classification: Spam filtering(垃圾邮件过滤):判断是垃圾邮件,不是垃圾邮件。
- Multi-classification: Document Classification(文件分类):将文件分为政治、经济、体育等多个大类。
按照中间过程分类
- linear model 线性模型:能做的事有限,一些简单的模型可以用它来做,但遇到复杂问题就力不从心了
- non-linear model 非线形模型: 不仅仅是线形分类,可以是经过复杂组合、有层级的分类过程,如现在的深度学习就是一个Non-linear Model,能完成一些很复杂的工作,比如图像分类、下围棋等
1.3 Structured Learning 结构化学习
beyond classification
希望输出是有结构性的数据,比如输入声音讯号,输出文字,而文字有结构;或者做机器翻译,输出的文字也有先后顺序,有结构。
2. Semi-supervised learning 半监督学习
如果数据集中,只有少部分Labelled data(已经标记好的数据),和较大一部分Unlabeled data(未做过标记的数据),那么就称这样的学习过程为Semi-supervised learning。
它利用Unlabeled data来优化function。常用于数据不足时进行学习
3 Transfer learning 迁移学习
如果数据集中,有目标所需的labeled的data,但是有更大一部分的与目标数据无关的labeled 或unlabled data,这种学习就叫迁移学习
4 Unsupervised learning 无监督学习
我们希望机器能够无师自通。在这个数据集中,只有输入input data,没有输出(label),希望机器能够自己学着输出
假设我们今天带机器去动物园让它看一大堆动物,它能不能在看了一大堆动物之后,自己创造一些动物出来😁
5 Reinforcement Learning 增强学习
在监督学习中,是直接告诉输出结果应该是什么;而在增强学习中,我们不直接告诉机器应该输出什么,而是在最后给出一个分数。
比如我们要训练一个增强学习的对话机器人,就把它放到网上,然后让它去跟网友直接对话。最后网友勃然大怒,机器就知道,哦我不能这样做。但它不知道哪里做错了,只知道不能这样。它会自己反省,就像在自学一样。
总结
通常,学习场景(蓝色部分)是我们无法控制。选择哪个学习模型,是由场景来控制的。所以手上有什么样的data,就决定用什么样的模型。如果没有lable,就只能考虑除了监督学习之外的learning。换句话说,如果有label的话,就不要强求用增强学习。而学习目标(红色部分)是我们选择模型的一个依据,是根据问题来决定的。如果是一个分类问题,就用classification来做,就不用regression来做。具体的方法选择(绿色部分)就可以换了,比如同样是non-linear的分类问题,就可以选择不同模型(如SVM,DT,KNN..)来做学习模型。
参考链接:
https://blog.csdn.net/soulmeetliang/article/details/72591054
视频链接: