依我之见,我们常说的模型和算法的区别
在人工智能的学习中,一定避不开的就是算法和模型的学习与使用。对于刚刚接触的小白来说来说,不太能分清这两个的区别。
因为在人工智能中“算法”与“模型”这两个词很多时候交替使用,可近似等价。那么问题来了,二者是一个东西吗?
如果你学习过C++或C语言编程,如果你对基本的排序算法有一定了解,将有助于你厘清这个困惑。下面,简单介绍一下人工智能中“算法”和“模型”之间的区别。
人工智能领域中所说的的“算法”,是指在已知的大量数据的基础上,按照预先设定的架构,由计算机运行,以创建学习“模型”的过程。简单来讲,就是对于获得的海量数据,你是按照什么方法去分析处理,获取信息的。这个方法就是“算法”哦。
常见的算法有很多。比如,非常基础和入门的算法:
K- 近邻算法;
线性回归;
K- 均值算法;
决策树。
事实上,我们可以把任何使计算机能够按照我们预定目标运行的方法称为“算法”,不仅仅包括上面的举例,在计算机领域常见的“冒泡排序”等基础算法都可以算作“算法”的范畴。其实,现在算法处在
百花齐放、百家争鸣的繁荣时期,各种算法层出不穷,不断刷新着新的记录。
为了更快更好地实现自己的算法,很多时候,人们喜欢把已经实现的、效果良好的算法做一些封装,这样,下次编写算法的时候就可以直接拿来用了。我们常用的TensorFlow、PyTorch、MindSpore都是
因此诞生的。
人工智能领域的“模型”是指基于已有数据集,运行机器学习算法,所得到的输出。可以简单理解为,就是通过算法,我们学到的东西。模型是我们最终得到的东西,也是后期用于推理预测的基础,是一套
推理“规则”。
比如说前面提到的线性回归算法的结果是一个由具有特定值的稀疏向量组成的模型。
但是,这里要强调的是,一般,我们认为排序算法的排序列表输出并不是真正的模型。
结语
好了,到这里,我们已经熟悉了人工智能领域中的“算法”和“模型”。
具体来说,模型由数据和如何使用数据对新数据进行预测的过程组成。当然,你也可以将这一过程视为一种预测算法。即
模型 == 模型数据 + 预测算法
通常意义下,算法是某种优化程序,其目的是在训练数据集上使模型(数据 + 预测算法)的误差最小化。
线性回归算法就是一个很好的例子。
它执行一个优化过程(或用线性代数进行分析求解),找到一组权重,使训练数据集上的误差之和平方最小化。
如果我们更多关注的是部署,比如部署应用到Atlas 200 DK上,那么事实上,我们只是想要一个“模型”,而“算法”是我们获得“模型”的路径或途径。从这个意义上来说,模型是一个由算法自动实现程序,用来解决我们遇到的问题。
- 点赞
- 收藏
- 关注作者
评论(0)