算法 algorithm vs. 模型 Model vs. 框架 Framework

概念

算法: 固定的步骤或规则的集合

模型: 参数和算法的组合

框架: 整合模型和算法的存在

关系:

框架包含模型和算法
模型包含算法

举例理解:

算法:

比如你尝试对一组数列排序
第一步是找出这组数列中的最大( 最小) 的值
……
第 N 步是将最大( 最小) 的值 放置于数列的首端(尾端)
排序结束

这一套固定的步骤的组合就是算法

模型:

我理解的参数就是可以变化的存在

比如 计算两个人的年龄和这个问题,就可以用一个模型来解决
这个模型包含 人 a 的年龄 $a$, 人 b 的年龄 $b$
输出为 $a+b$
其中 a 和 b 就是两个可变的参数,随着输入的不同而不同。
而 $a+b$ 这个公式也可以被视作算法,因此我将模型理解为算法和参数的组合。

框架:

比如现在你遇到的问题是从一组随意排列的年龄数列里计算出最大的两个人的年龄和

此时你首先使用排序算法对数列排序
之后再使用 计算两个人年龄和的模型来取得结果

这样一个规定先用什么再用什么,什么和什么之间进行怎样交互的存在就是框架

参考