误区
机器学习已经不再仅限于科幻电影——从Siri与Alexa语音识别到Facebook的照片自动标记,再到Amazon与Spotify商品推荐,机器学习技术开始越来越多地融入日常生活。目前,众多企业渴望着利用机器学习算法以改进自身网络效率。
与任何技术一样,机器学习如果未经正确实施,同样有可能对网络造成严重危害。因此在采取这项技术之前,企业应当了解机器学习可能引发的问题,同时尽量加以避免。在今天的文章中,瞻博网络公司安全智能软件得Roman Sinayev列举了以下六种机器学习领域的认识误区。
忽视意料外的变量行为
有些事物计算机认为很重要,而人类却会瞬间将其判断为毫无价值。正因为如此,部署机器学习算法之前,必须尽可能考虑更多相关变量与潜在结果。
以模型训练为例,我们假定需要帮助算法区图片中的两类载具——卡车与轿车。如果所有卡车图片皆拍摄于夜间,而全部轿车图片皆拍摄于白天,那么这套模型就会认为夜间出现的一定是卡车。
处理关键性变量及结果将有助于降低解决方案出现不必要及意外行为的可能性。
忽略数据作业
为了构建起一套训练有素的统计模型,我们必须了解被分析数据的来源与集合。这部分信息很可能给算法性能、变量以及潜在结果带来至关重要的影响。
另外,如果模型对数据进行了错误分类,很可能是因为其没有利用具备理想解的最佳代表性数据进行训练。
开发、测试,而后发布模型
模型的实用性来源于训练数据的结构与质量。在将机器学习方案在企业内发布之前,数据科学家会利用数据集进行算法模型测试,从而确保其性能及结果符合要求。这部分数据必须认真加以可视化处理,同时监控整个新数据训练流程。如果数据科学家急于完成测试,或者未能为模型提供充足的数据作为变量加权素材,那么这些数据集恐怕无法表达算法在现实世界中可能遇到的情况。
最重要的是提供充足的数据作为变量加权。在测试阶段当中,提供更多数据有助于大幅提升模型质量,并确保其在生产环境中能够真正发挥作用。
忽略潜在失误
项目的最终目标很可能会带来新的障碍,并引发潜在失误。某家大型企业就曾经推出一款社交媒体机器人,旨在利用其模仿青少年的语言模式,从而实现顺畅交互。然而,用户向机器人提出大量有争议性的话题,导致其因此调整自身学习方式——最终,该公司在不到24个小时内就撤回了这套聊天机器人。
并非每个机器学习项目都应进行公开或者允许用户访问并操纵其数据,意识到算法所处的环境将有效避免此类失误。
选择更多数据
当测试模型的性能与预期结果不符时,我们拥有两种选择——设计一套更出色的学习算法,或者收集更多数据。添加更多数据有助于工程师们了解当前模型的性能限制。如果收集更多数据的作法更易于实现,那么请继续将其馈送至算法当中,看看能否得出更具实际意义的结果。
不要忽略整体性的意义
最近在实际应用当中获得普遍成功的算法类型为集合学习——即通过多套模型组合以解决计算智能问题。集合学习的典型示例包括堆叠简单分类器,例如逻辑回归。这些集合学习方法相较于其中各类独立分类器能够显著改善预测性能。
本文作者:核子可乐
来源:51CTO