谁说可视化就是echarts图表-可视化在机器学习中的应用

我们日常交流中指的机器学习建模过程大体包含如下步骤。

 

即:

  1. 定义一个需求(解决一个问题)
  2. 需求所需数据的收集和处理
  3. 特征工程
  4. 模型的训练、验证和选择
  5. 使用模型去预测

注:为了简单,暂不考虑过程中的迭代和循环。

所以在训练前数据集洞察,模型训练中,模型实例化后的预测探索等阶段,可视化都有存在的价值。

一、训练前,可视化帮助用户快速理解数据集。比如了解单列数值的分布特征;是否有特大/特小的异常值;某些列有很高比例的空值;以及由于以上原因导致的单列数值偏态分布。

 

二、模型训练过程中,可视化帮助用户诊断模型参数设置是否合理。协助完成参数调优。

 

目前技术实力雄厚的IT公司,大多在这一块有布局。新颖的如谷歌公司基于TensorFlow的TensorBoard。

 

三、在模型实例化后,a.帮助用户理解模型的决策过程和结构; b. 帮助用户从多个模型中通过比较做出选择。

 

  1. 理解模型的决策过程。它对模型有局限性,对于多层神经网络目前还没有办法。不过对于线性回归,决策树等非神经网络模型,能很好的帮助到用户。比如网站 www.r2d3.us/图解机器学习/

 

        2.帮助用户通过比较,选择更合适的模型。其实就是模型的验证。

比如区分一杯饮料是啤酒还是红酒的分类问题。我既可以用逻辑回归,也可以用贝叶斯方程,也可以用神经网络,还可以用随机森林,又或可以用向量机模型来预测。从计算机工程的角度去思考,应该所有模型都训练,都实例化,然后用验证数据集看匹配结果。

目前在这个领域还没有哪家公司公开发布产品。但是在量化投资中,针对结果指定指标,然后通过观察指标分布,决定使用哪个模型有很现实的意义。

四、当模型在生产系统的应用阶段,a可视化帮助用户洞察输入数据是否符合模型的要求;b可视化帮助用户二次探索模型预测结果。

 

a可视化帮助用户确认需要预测的数据是否符合模型的要求。这一点其实和模型训练前观察训练数据集质量相似。因为模型是被训练出来的。输入数据特征差距太大,必然导致模型预测失败。

举个例子,如果谷歌汽车永远都是在没有其他车辆的废弃空军基地训练,上真实公路实际应用的时候,大家肯定不敢乘坐。

 

b可视化帮助用户二次探索模型预测结果。这个领域的公司很多。比如,Tableau。

重点给大家推荐一家公司https://www.piinpoint.com/。这家公司主业是零售店面的选址前策。提供了较为新颖的基于模型预测结果的二次探索。

五、对解决某一问题整个过程的可视化。

这方面大家可以参考http://algorithms-tour.stitchfix.com。stitchfix是一家为高端职业女性搭配时尚服饰的公司。在解决服饰搭配,仓储物流等问题上大量使用机器学习建模。

 

它和r2d3.us网站完全使用D3.js驱动,SVG来产生绘图和动画,加上视差滚动的原理,将抽象的算法可视化呈现出来。

个人认为基于SVG的动画不能用于标准产品,只能作为企业网站上传播成功案例的一种定制方案。

总结起来,可视化在机器学习过程中,有五处应用。可视化的价值在于帮助用户理解,诊断,优化模型或者数据。

猜你喜欢

转载自www.cnblogs.com/pengjia/p/8881436.html