【AI概念】模型(Model)与算法(Algorithm)有什麽差别?他们在机器学习中各自担任什么样的角色?
你知道机器学习里的“算法”和“模型”到底有什么不同吗?不少AI初学者甚至颇有研究的同学,都会把这两个词混淆。其实,它们的区别比你想象的还要大!这篇文章,我会用最简单的比喻和例子,带你轻松分清算法和模型的本质差异,以及他们在一般流程中各自担任的角色。如果你也曾疑惑过这两个概念,千万别错过接下来的内容!
转载至:
【AI概念】模型(Model)与算法(Algorithm)有什麽差别?他们在机器学习中各自担任什么样的角色?-CSDN博客
背景:
昨天跟一个大四的师弟聊天的时候才发现,他好像对模型跟算法的概念有点模糊。他成绩算是不错的,也是打算专攻AI,我就在想,应该不少人会混淆这两个在机器学习中非常重要的概念吧。这期,我就为大家精简地釐清一下他们的区别吧。
一、定义与本质
算法(Algorithm)
算法是一组明确的步骤或规则,用来解决问题或完成某个特定任务。在机器学习中,算法就是用来「学习」的工具,指导如何从数据中寻找规律、调整参数,最终生成模型。
模型(Model)
模型则是算法运行在数据上后产生的「成品」。模型包含了已经学到的知识,如参数(Parameter)、结构(Structure)等,可以用来对新数据进行预测或分类。
定义一向都是偏抽象的,以下我会用例子进一步阐述。
二、比喻说明
在举例前,容许我先做一个简单的比喻。
- 算法 = 食谱
- 模型 = 按照食谱和食材做好的菜
注:模型是带有独特性的(uniqueness),意思就是:虽然我跟着食谱做菜,但实际情况,比如我想因应爱好多添加辣椒,少放盐等等,这些是会根据每个不同模型而拥有不同结构的。
所以我们实际上是根据【算法】来烹调自己专属的【模型】。
三、举例说明
算法:
相信对机器学习有一定认知的同学,应该都听过线性回归(Linear Regression)吧,比如 y = B * X + C。没听过也没关系,因为悟性较高的同学应该都能发现,他就是我们初高中学过的直线方程式(Equation Of Straight Line)。线性回归算法是一组公式,这个算法本身还没有具体的参数值,就是一条没有灵魂的公式罢了。
模型:
当你用数据去训练这个算法,得到一组具体的参数(比如 y = 0.24 * X + 10),这时你就得到了线性回归模型。这个模型可以用来预测新的X时对应的y。
例如当X是5,y就会是11.2。当X是3,y就会是10.72。由于y的数值是根据不同X而有变化的,所以y就是依赖变数(Dependent Variable),X相反就是独立变数(Independent Varibale)。
很多人把「算法」和「模型」混用,其实两者是不同层次的概念。算法是方法,模型是结果。
一种算法可以产生无数个模型(针对不同数据),但一个模型只对应一种算法和一组训练数据。
四、关系与实际流程
先声明,实际流程当然更加复杂,例如单单是准备阶段就要做数据收集,资料探勘,数据过滤等。这里我就只专注在包含算法和模型步骤上。其他部分我们可以以后再探讨。
1. 选择算法:根据问题类型(分类、回归、聚类等)选择合适的算法。至于如何选择不同类型的算法来处理对于的任务,如果大家感兴趣,我可以额外发布文章介绍。
2. 用数据训练算法:将数据餵给算法,算法学习数据中的模式。
3. 生成模型:算法根据学习结果产生模型。符合以上所述 - 先选择算法,再产生模型。
4. 模型预测:用训练好的模型对新数据做预测、分类或其他任务。模型在训练好后可以投入相关工作,例如上面提及的线性回归模型(Linear Regression Model)可以用于预测,逻辑回归模型(Logistic Regression Model)可以用于分类,比如分辨猫跟狗。
五、进阶补充
我们现在了解到:算法是动态的学习过程,模型是静态的知识载体。
但在实际应用中,模型并不一定是终点。为保持模型的稳健性(Robustness)以及实时性(Real-time)。模型还可以根据新数据持续调整(如线上学习、迁移学习),这时会再次用到算法来更新模型。
六、总结
算法是训练模型的方法和规则,模型是算法加上数据训练后的产物。
算法决定怎麽学,模型则是学会后用来预测和决策的工具。两者相辅相成,缺一不可。
如果大家有其他感兴趣的AI议题,不妨告诉我,我会尽可能更新为大家排忧解惑!
我是爱酱,我们下次再见,谢谢收看!

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)