1. 什么是机器学习?
通过编程得到有学习能力的程序:a program for learning not just the accumulation of knowledge
2. 怎么做机器学习?
ML的目标:得到一个function,实现从所给输入得到理想输出。当处理困难问题的时候,这个function往往是很复杂的,包含很多参数,人往往不能解释这些参数的含义。这也是深度学习可解释性差的原因
ML的步骤:
step1 选择一个模型。一个模型所对应的是一个函数集合。比如对于线性模型,
y
=
w
x
+
b
y=wx+b
y=wx+b ,一组
w
w
w和
b
b
b的取值所对应的就是一个function,所有的
(
w
,
b
)
(w,b)
(w,b)合起来就构成了这个问题选择的Linear Model
step2 定义损失函数评价function的好坏。Loss function也是一个函数,input是Model中的一个函数,output是一个scalar的函数,scalar的大小决定了function的好坏。损失函数的计算是需要traininig data参与的
step3 从Model中选择最好的函数f*。the best function对应的是模型中损失函数值最小的函数。
3. 机器学习的学习图谱
从ML使用的Training Data所包含的信息来分:ML可分为Supervised Learning、Semi-supervised Learning、Transfer Learning、Unsupervied Learning、Reinforcement Learning。
- Supervied Learning 的training data每一个都有(input, output)即每一个样本都有label
- Semi-Supervised Learning部分training data 有input/output
pair,但更多的大部分training data是没有label的
- Transfer Learning的部分training data是与问题领域无关的
Semi-Supervised Learning 和Transfer Learning都是为了解决training data标签不足的问题
- Unsupervised Learning 使用无label的training data进行学习
- Reinforcement Learning 将training data的label换为了针对output的评价值,function使用这个评价值来优化function
从ML需要解决的问题来分:ML可分为Regression、Classification、Structured Learning三类。三类task的具体区别体现在输出上,Regression的output是一个scalar作为预测值;Classification的output是一个class类别作为预测值;Structured Learning的output是一个有结构的输出。这三类当中最复杂然而也是应用最广泛的是Structured Learning。
从ML解决问题所采用的模型来分:Model可分为Linear Model、Non-linear Model。Linear Model所能模拟的问题是非常有限的,因此Non-linear Model特别是DL是当前ML的主流研究方向
ps:在针对不同training data的task中都是能够按照task类型和采用model进行进一步细分的。
4. AI训练师需要做什么?
- 选择合适的Model
- 定义合适的Loss Function
- 帮助得到the best function