写在前面
本文作为入门讲解,适合于首次接触机器学习/深度学习的新人以及从事相关人工智能行业的初级从业人员,对深度学习和机器学习已经有相当了解的朋友请绕行。:)本文简单,仅需要掌握初中数学即可,请放心阅读。
基本概念一箩筐
什么是样本? 什么是训练?什么是预测?什么是算法?
什么是特征?什么是标签?什么是模型文件?什么是模型参数?
一下子跑出来这么多问题,你当我是十万个为什么么。。接下来我们依次来解答。
什么是数据,样本、特征、标签
在机器学习和深度学习中通常会提到数据的概念。数据在计算机中通常以为文件的方式存在,训练数据按照文件类型可以分成文本文件、图像文件、视频文件、音频文件等。这里举一个文本类型数据以及图像类型数据的例子.
- 机器学习中大家熟知的一个是鸢尾花卉数据,训练数据是文本类型的,每行是一条样本,以逗号分隔,前4列是特征(feature),第5列是花类别分类标签(label),表示这个花的种类;
- 深度学习中常见的图像分类数据如下图,每一张小图片都是一个训练样本,左边第一列是对应的标签(label)。以第一行为例,airplane对应了一行飞机的图片。
什么是训练、预测、模型参数、模型文件
机器学习和深度学习中训练可以看成是一个函数求解的过程,举一个例子来进行说明:
- 问题描述: 已知函数
F(x1, x2) = a * x1 + b * x2 + c
,其中x1
、x2
和F(x1, x2)
的值是已知的,已知数据如下所示:
x1, x2, F(x1, x2)
8, 9, 1
12, 32, 0
78, 13, 1
目标:求解a、b、c
- 求解过程:代入函数可以得到三元一次方程组,最终计算就能解出来a/b/c
F(8, 9) = a * 8 + b * 9 + c = 1
F(12, 32) = a * 12 + b * 32 + c = 0
F(78, 13) = a * 78 + b * 13 + c = 1
- 新数据计算:当求解完a/b/c三个值以后,再给一组(x1,x2), 就可以求得F(x1, x2)的值
x1, x2, F(x1, x2)
78, 19, ????
对应上述内容,来解释下训练、模型参数、预测等概念 :
- 已知数据对应深度学习中的训练数据,每一行是一条样本数据
- x1, x2对应样本中的特征,F(x1, x2)对应样本中的标签,F(x1, x2)是关于x1和x2的一个函数。
- a/b/c对应模型参数, 把模型参数以文件的形式保存就是模型文件。
- 模型训练的过程可以对应看成解方程求解未知变量(这里的未知变量就是a/b/c)的过程,在实际中深度学习过程中的参数求解(也可以叫做学习)比方程求解复杂一些, 会采用随机梯度下降的方法逐步迭代更新参数(随机梯度下降是一种方法,这里可以先跳过)
- 最后已知a/b/c参数和(x1, x2),计算求解F(x1, x2)的过程就是预测, 预测也叫做推理, 英文名是predict。
什么是算法?
实际训练过程中,我们手里只有训练样本数据, 并不知道函数F(x1, x2)具体长什么样子,我们通常都会先预先定义好一个F(x1, x2)函数形式,再开始求(xun)解(lian)得到函数里的参数。这里预先定义的函数形式存在很多可能性,一个好的函数形式可以帮助我们简化求解的过程,比如:
F(x1, x2)
有可能定义是
F(x1, x2) = a * x1 + b * x2 + c
也有可能是
F(x1, x2) = a * x1 * x1 + b * x2 * x2 + c
F(x1, x2)函数其实就可以看成是算法。比如分类场景中机器学习的算法有逻辑回归(LR)等多种算法,深度学习算法是有着不同的网络结构,如下图:
至此所有概念介绍完毕。
人工智能/深度学习/机器学习是万能的银弹?
很容易想到天网(Skynet), 大家都很熟悉在电影《终结者》中天网是一个以计算机为基础的人工智能防御系统,当人工智能系统的自我意识觉醒以后无所不能,几乎导致了整个人类的灭绝。随着深度学习和机器学习技术上得到了大幅的发展,人工智能在现实场景下也同样取得了比较好的效果,比如人脸识别、自动驾驶等。那么深度学习和机器学习是否是万能的?
答案是否定的,很多人会高估深度学习的能力。深度学习跟人脑的学习机制是有本质的区别,更多的是数学空间维度变换、映射、求解的过程,在现实中深度学习能解决的问题还是属于很小的一部分。想了解更多关于深度学习的瓶颈的内容,这里推荐阅读: The limitations of deep learning
文章声明: 本文属于个人原创,欢迎转载,请注明出处,谢谢