首页 产业智能 正文

回复

工业大数据建模应慎用机器学习

产业智能 浏览:63 回复:0 收藏

gchui  2024-12-13 08:36

多年来,用机器学习方法(特别是神经网络方法)给工业对象建模一直是一种时髦的做法。但我主张慎用这种做法,认为这种方法时髦但不实用。有人或许会举出很多的例子和报道,说这类方法多好。在我看来,这类观点往往是被“幸存者偏差”蒙蔽,各种报道不一定靠谱。由于这个方法时髦,就适合写文章、适合做技术包装,故而相关的报道很多。但现实中用得多好就难说了。其次是:报道说机器学习得到的模型好用。但如果在传统方法上花足够的功夫,或许更好用。“名”和“实”的问题,值得思考。


很多人选用这类方法的一个原因,是传统的建模解决不了问题,只能试试它了,把机器学习当成了一根“救命稻草”。但在我看来:传统建模无法解决的问题,都可以归结为“数据质量”问题,包括数据的完整性、精度、频度、关联关系、分布区域等等。不从这些基础入手,很难解决问题。反之,把基础问题解决了,问题就不一定难了。


我主张慎用的一个重要原因,是工业对象建模的关键不仅仅是精度,还有稳定性、适用范围(所谓的可泛化性)等。对现实问题来说,稳定性往往比精度更重要。一股脑地把数据交给机器去学习一个复杂的函数,就很难保证稳定性和适用性。机器学习得到的模型或许在精度上会稍有提高,但很可能同时会出现过拟合问题。


不用机器学习用什么呢?我推荐用与“近邻方法”相关的方法。如黄金批次方法、CBR方法、KNN等。我把这类方法统称为“跟着学”的算法。这类方法也有许多技巧。比如:跟着谁学?再如,跟着学时需要根据实际情况进行矫正、补偿差异。矫正的方法,也有很多技巧。比如,矫正的时候需要一些矫正系数。这些矫正系数可能会随着时间发生变化。这些变化最好能用数据进行矫正。这种矫正,其实也可以理解为“机器学习”:不过,这样的机器学习往往非常简单。相比把整个模型进行机器学习,实践中要有效得多。


我有个经验:老方法往往难以解决老问题——除非有新的技术条件。在我的脑子里,“机器学习”其实已经是老方法了。所以,机器学习很难有好的效果。但“跟着学”这类方法往往更老,为什么会有效呢?因为这类方法的应用,往往伴随新的技术条件:工业大数据。容易理解:历史数据足够多的时候,才能找到合适的、“跟着学”的数据。过去,这个条件并不容易具备。现在,条件不一样了。


今天和朋友聊天时,谈到一个观点:大数据往往来自于多个对象的数据。模型本质是可以看成是对这些数据和信息的压缩。在压缩过程中,难免有信息的丢失。要把模型做得更好,可以考虑直接利用特定对象的(未经压缩的)历史数据,以便于对模型计算进行修正。


我打了个比方:模型就像一个掌握知识的大夫,他的知识来源于很多的病人。他可以利用知识,结合病人的检查、检测报告看病。但是,如果大夫了解病人的病史、个人的工作、营养和健康情况,应该能做出更好的判断。这就是利用特定对象的历史数据。这类算法也应该是依赖于大数据的,但现实中的应用似乎不多。


来源:微信号 蝈蝈创新随笔

作者:郭朝晖

该作品已获作者授权,未经许可,禁止任何个人及第三方转载。



我知道了