当前位置: 首页 > 科技观察

何时使用机器学习

时间:2023-03-13 06:16:37 科技观察

作者|杜家平为什么要讨论这个话题?,但实际上它充满了风险,所以什么时候用机器学习,什么时候不用就成了思考的对象。机器学习起源于学术界,但它永远不会是学术界的东西了。我们在日常生活中听到了很多机器学习的应用,很多商业产品和业务流程也开始使用机器学习。虽然机器学习得到了广泛的应用,但并不是所有看起来机器学习可以解决的事情都可以通过机器学习来解决,或者在很多情况下,机器学习并不是最优解。一旦在问题求解之初选择了错误的解法,那么机器学习解法持续运行的MLOps就会变得毫无意义。在开始机器学习项目之前,我们必须反复对业务价值、业务流程、数据可行性、数据完整性等几个维度进行研究,以确定使用机器学习的必要性。因为只要一个公司决定使用机器学习,前期没有回报的投资成本会非常巨大,而投资回报会非常小。图片来源:https://venturebeat.com/2018/11/24/before-you-launch-your-machine-learning-model-start-with-an-mvp/你什么时候应该使用机器学习?机器学习的目的:更准确地替代经验,更大范围地重用劳动力。在本文中,要回答何时使用机器学习,我们需要回答一个更本质的问题,什么是机器学习?在这里我将这个答案拆分成一个由几个元素组成的句子:通过(1)重复(2)学习(3)(5)复杂(4)历史数据的规律特征,将学习结果(6)应用到(7))未来大范围的数据得到(8)预测结果,并反转所有元素的条件都满足,所有元素都满足条件,那么就该用机器学习了。1.重复:如果用比较大的训练集数据,教一个没见过猫狗的孩子区分猫狗,我想他只要给他10张左右的猫和狗的图片就可以很好的认出来了小狗。辨别猫狗的特征来区分猫狗。但是如果只提供10张图片给机器学习模型学习,学习效果肯定很差。因此,我们需要使用具有相同特征和规则的重复数据来训练模型,因此机器学习的使用必须在拥有大量训练集数据的前提下进行。如果我们现有的历史数据不能满足模型的学习效果,那么我们可能需要等待,积累更多的数据。图片来源:https://ypw.io/dogs-vs-cats/2。学习:机器学习应该有足够的学习能力。在我的一些咨询项目中,很多业务人员会用Excel对一两列数据进行规则计算,得到第三列数据(前提不是时序数据)。这是一个很常见的Excel应用场景,因为整个过程并没有很强的“学习”过程。当他们提出希望通过机器学习智能的得到结果的时候,我是绝对不会推荐客户使用机器学习的,因为这点小事机器学习是不够的。对于机器学习的学习过程,首先要有足够的知识供模型学习,而这些知识就是数据。通过对大量数据的学习,生成相应的结果,是机器学习的一个常见过程。例如,在预测Airbnb的租金价格时,模型需要学习大量的房屋特征、房屋地理属性和历史租金价格。对于“数据->结果”关系Learning,当新数据输入模型时,可以通过学习结果预测出相应的租金价格。当然,模型和学生是一样的。有好学生也有坏学生。如何判断自己学得好还是差?需要用一个目标函数来区分。举个简单的例子:MAE(MeanAbsoluteError)。该函数在验证时会被写入验证方法中,从而对模型的学习效果做出最终的客观评价。总而言之,机器学习不要用太多的天赋。应用场景要有学习能力,有学习潜力,有数据学习。只有这样才能满足“学习”要素的要求。3、复杂性:数据的规律性应该是复杂的A、B、C1、1、2;2,2,4;2,3,5;给定以上这组数据,你能看出其中的规律性吗?大胆说白了,只要上过小学二年级的人,一眼就能看出这就是C=1A+1B的简单定律。可以使用机器学习来学习这些数据吗?没错,就是最简单的线性回归模型(Linerregressionmodel)。但是应该使用机器学习模型吗?当然不是。再比如简单的应用,比如通过邮箱代码识别区域,或者通过身份证号识别你的账户位置,这些也是简单的规则,规则引擎可以实现这样的预测。但是,通过学习房屋的特性(地板材质、墙体材质、面积大小、房屋年限、房屋结构)、地理属性(是否临街、所在区域、是否是地铁,周边设施),历史二手房交易价格,我们可以得到二手房交易价格预测模型,是一个典型的机器学习应用场景。因为虽然我们知道房屋特征、地理属性等多维变量与二手房成交价格之间存在规律性特征,但这种规律性特征足够复杂,需要借助机器学习来探索规律性特征.4、历史资料:要有可以收集的历史资料。之所以强调这一点,是因为过去在一些世界500强企业的数字化战略咨询中,有一些非常普遍的需求,领导者想要预测一些目标值,而且预测的场景确实有足够的商业价值,但是问题是所有的历史数据都是人工收集,每天通过Excel人工记录。客户希望我们可以通过智能模型来满足领导对目标值预测的需求。当我收到这样的需求和问题时,我会自动将其识别为“数字化需求”,而不是“智能化”需求。该解决方案还将帮助客户梳理业务流程和系统联系人,并帮助他们收集模型所需的数据。数据资产。只有数据的数字化采集才能形成大量的历史数据,才能为未来的MLOps提供相应的运行依据和模型优化条件。所以在这一点上,历史数据的存在和收集是满足应用机器学习的“历史数据”要素的条件。5.规则特征:规则特征是可学习的机器学习模型的应用,当存在可学习的规则时必须起作用。一个智商正常的人肯定不会投入大量资金去构建一个机器学习系统来预测掷骰子的结果,因为掷骰子的结果是无规律产生的。当然,正则特征的存在有时并不是那么明显,所以有必要引入MLMVP的概念。我们无法通过经验来判断是否有规律的特征。我们需要通过模型的结果快速验证并得到更合理的模型。判断规则特征是否存在,是否可以学习的客观结果。6、可大面积使用。在我的建模之后,策略先行的文章中,我提到了机器学习的两大功能,1)超越人类经验,2)重用替代人工。所以机器学习的可重用性非常重要。投资者投资建立模型,他们不想使用模型一次或两次然后丢弃它。因此,一个可以复用机器学习的应用场景非常重要。7.未来数据:未来数据的特征与模型训练数据的特征相匹配。机器学习的核心是经验的复用。因此,只有在训练模型时,未来数据的特征与训练集数据的特征相匹配,机器学习模型才能重用经验,否则就白搭了。如果用2010年用房地产数据训练的二手房交易价格预测模型来预测2021年的二手房交易价格,显然模型预测的结果不会准确,因为整个训练集数据描述房屋和价格应该被视为今天的而不是过去的样子。这也进一步说明了更新机器学习模型的重要性,因为数据会一步步迭代,所以模型的训练也要一步步迭代,才能保证保质期的延长。但是有个问题,你怎么知道你以后的数据能匹配模型训练时数据的特征呢?问得好,我们无从知晓,所以我们需要做出假设。我们一般认为,如果业务没有大的变化,只要时间跨度不长,那么新旧数据具有相同的特征。当然这个不用太担心,因为MLOps数据监控和模型监控可以很好的识别数据特征的变化。一旦识别出数据特征的变化,整个系统会立即触发PipelineTrigger来重启模型。培训机制。pipelinetrigger的内容可以参考之前写的文章:不要让机器学习模型成为孤儿。8.预测:要解决的问题是预测性问题。机器学习算法是用来做预测的,所以机器学习能解决的问题就是预测问题。回归算法预测值,分类算法预测分类值,聚类算法预测聚类组。虽然预测的结果维度不同,但是他们最终得到的结果是我们在使用模型之前想要得到的预测结果。什么时候不应该使用机器学习?首先,一旦上述8项不能满足,那么我们就要警惕是否要进行机器学习了。那里还有什么?我将在快速回答中进行解释:1.我不相信机器学习(nobelieve)。如果你的客户老板、领导或机器学习用户不信任机器学习,即使机器学习能产生再大的价值,也很难推广。2.解决简单的问题。如果要解决的问题很简单,通过一些规则就可以达到预测的效果,那就不要用。您可以使用更具成本效益的“规则引擎”来替代机器学习。3.一个微不足道的预测错误会导致大灾难。虽然在部署之前机器学习模型的整体质量会得到保证,但这并不意味着它可以对每个个体产生相同的预测效果,因此在某些个体的预测中可能会出现较大的误差。如果这个错误会导致巨大的损失和灾难性的后果,那么就不要使用它。4.性价比不高。机器学习的建立和后期的运行都需要成本。如果在这件事情上的投入无法获得相应的投资,那就慎用机器学习模型。5.业务流程中人工经验过多前面提到机器学习模型策略建立的本质是通过对人类经验的预测和量化,以模型判断代替经验判断。但如果人工判断需要大量的多维度经验才能做出,那么这就不是一个很好的应用场景。因为即使我们通过机器学习模型给出一个经验判断的预测值,最终的决策仍然会被其他人类经验所权衡。最理想的结果是,当这个预测值给你的时候,你可以直接执行一个行为。这是1对1的结果,即1个经验或1个指标决定1个行为,不是多对1。即使机器学习解决了“多”中一两个经验的预测,人工经验还是有很多影响最终行为策略的最终决定。因此,如果人类的经验过多,即使机器学习给出了其中一种经验的预测结果,也无法直接实现业务使用,做出相应的判断。写在最后,以上是经过研究和个人总结后对使用机器学习的条件的小总结。在开始考虑使用机器学习之前,请从这些方面仔细思考机器学习的必要性。如果机器学习用在不合适的场景中,后面还是有很多风险要面对的。