解决方案:自动机器学习简述(AutoML)

优采云 发布时间: 2022-11-30 00:30

  解决方案:自动机器学习简述(AutoML)

  为什么需要自动化机器学习

  对于机器学习的新用户来说,使用机器学习算法的一个主要障碍是算法的性能受到许多设计决策的影响。随着深度学习的普及,工程师需要选择相应的神经网络架构、训练过程、正则化方法、超参数等,这些都对算法的性能有很大的影响。因此,深度学习工程师也被戏称为调参工程师。

  自动化机器学习 (AutoML) 的目标是使用自动化的、数据驱动的方法来做出上述决策。用户只需提供数据,自动机器学习系统将自动确定最佳方案。领域专家不再需要为学习各种机器学习算法而烦恼。

  自动机器学习不仅包括众所周知的算法选择、超参数优化和神经网络架构搜索,还涵盖了机器学习工作流程的每一步:

  超参数优化超参数优化

  学习器模型中一般有两类参数,一类可以从数据中学习和估计,另一类参数不能从数据中估计,只能根据人类经验设计和指定,而后者成为超参数。比如支持向量机中的C、Kernal、game;朴素贝叶斯等中的 alpha

  超参数优化有很多方法:

  最常见的类型是黑盒功能优化。所谓黑盒优化,就是将决策网络作为黑盒进行优化,只关心输入输出,而忽略其内部机制。决策网络通常可以参数化。这时候我们在优化的时候首先要考虑的就是收敛性。

  以下几类方法属于黑盒优化:

  在很多情况下,随机搜索比网格搜索效果更好,但是从上图我们可以看出,两者都不能保证找到最优解。

  黑盒优化的一些工具:

  

" />

  由于优化目标的不连续和不可微的数学特性,一些搜索和非梯度优化算法被用来解决这个问题,包括我们上面提到的黑盒算法。此类算法通过抽样和抽样的评价进行搜索,往往需要对抽样进行大量的评价才能获得较好的结果。然而,自动机器学习任务中的评估通常是通过 k 折交叉验证获得的。在具有大数据集的机器学习任务上,获得评估的时间成本是巨大的。这也会影响优化算法在自动机器学习问题上的效果。因此,一些降低评估成本的方法被提出,其中多保真度优化(multi-fidelity methods)就是其中之一。

  此外,一些研究基于梯度下降优化。

  超参数优化面临许多挑战:

  相关参考

  元学习 元学习

  元学习也是“学习如何学习”。通过系统地观察现有学习任务之间的性能差异,进而学习现有的经验和元数据,可以用来更好地执行新的学习任务。这样做可以极大地改进机器学习流水线或神经网络架构的设计,也可以以数据驱动的方式取代手工车间式的算法工程工作。

  从某种意义上说,元学习涵盖了超参数优化,因为元数据学习包括:超参数、管道组成、神经网络架构、模型组成、元特征等。

  机器学习的算法也称为“学习者”。学习者假设一个模型有很多未知参数,使用训练数据和优化算法找到最适合这些训练数据的参数,并生成一个新的算法,或者一个参数已知的模型并使用模型/算法预测新的未知数据。如果世界上只有一个模型,那么问题就简单了。问题是模型很多,不同的模型有不同的超参数。我们经常将模型和算法组装在一起,形成复合模型和机器学习管道。这 时不时地,我需要知道构建哪些不同的模型来解决不同的问题。元学习就在这个时候。我们可以考虑超参数、管道、和神经网络架构作为新模型的未知参数,并将不同学习任务的性能指标作为输入数据,以便我们可以使用优化算法找到性能最佳的参数集。这个模式是可以一直嵌套的,也就是说,你可以有'元-元-元-学习',当然希望你不要走得太远,找不到回头路。

  元学习的方法包括:

  元学习的一大挑战是用很少的训练数据学习一个复杂的模型,这是一个one-shot或few-shot的问题。

  就像人类的学习一样,每次学习,无论成败,都会获得一定的经验,而人类很少从头开始学习。在构建自动学习时,我们还应该充分利用现有的每一个学习经验,并逐步改进它,使新的学习更加有效。

  相关参考:

  神经架构搜索 神经架构搜索

  

" />

  说到 AutoML,大多数人都知道这个故事是因为 Google 的 AutoML 系统。随着深度学习的普及,神经网络的架构变得越来越复杂,随之而来的人工工程也越来越多。神经网络架构搜索就是为了解决这个问题而设计的。

  NAS主要由三部分组成:

  相关参考

  自动化特征工程

  自动化特征工程可以帮助数据科学家根据数据集自动创建用于训练的最佳特征。

  Featuretools 是一个用于自动化特征工程的开源库。这是一个很棒的工具,旨在加快特征生成过程,让您有时间专注于构建机器学习模型的其他方面。换句话说,它将您的数据置于“等待机器学习”状态。

  Featuretools 包中收录

三个主要组件:

  参考:

  其他自动化机器学习工具集

  这里有一些开源的自动化机器学习工具供大家参考和选择。

  参考:

  解决方案:初级电商,如何通过策略快速扩充电商词库以及后续运用

  好久没有更新了,我会一如既往的继续分享一些电商搜索推荐的实用知识。毕竟,纸上谈兵不是长久之计。每个公司对自己电商平台的搜索和推荐需求,以及现状,差异太大。结果,我熟悉的套路无法完美地转移到新的工作操作计划中。这也给了我一些不同的想法,搜索和构建不适用的解决方案。接下来我们就来看看电商新手词库策略如何快速扩充,以及以后如何应用到电商领域。

  按照我之前的想法,如果一个新的电子商务公司刚刚起步,在搜索中缺少特定的词库,如何创建它是一个难题。目前,我正在寻找一些声称在网站上拥有完整电子商务词典的付费供应商。但是评价都是低的,评价不靠谱,不是数量少就是质量很差。如果没有用户的基本搜索词库,可以从自己的产品库中的产品名称进行词频统计进行批量n-gram分词处理,然后通过简单的tf-idf策略进行品类对应筛选. 当然也可以进行人工点检,但是这样会消耗更多的人工成本。

  如果你有用户搜索的基本关键词词库,这些词的搜索数据分布不均,错别字较多。如果能采集

到10000+左右的单词,可以进行如下操作:

  

" />

  可以直接用已有的词库对冲京东/淘宝,可以得到这些词的联想词和热词,还有错别字。只需要开发写一个爬虫,目前估计词库的规模可以立刻扩大30倍。如果没有爬虫人员,可以采用人工标注的方式完成操作,每周需要2个人左右完成,简单的Excel复制粘贴即可。

  以上操作需要注意几个问题:

  初始词典需要限制字符数。一般初始词库只需要有1-7个字数,即最多7个汉字,最多14个数字/英文字符,因为如果字符太长,可能不会能带出联想词。而且用户不会主动输入太长的关键词。爬虫需要注意规避法律风险。目前,京东无需登录即可在其网页上获取关键词,而淘宝则需要登录才能操作。很容易触发反爬虫机制。可以选择几个电商平台进行操作,最后合并去重。

  

" />

  拿到关键词词库后,其实就可以开始筛选数据了。对于相关的关键词对,进行敏感词过滤、黑名单过滤等,不进行结果过滤。然后它可以直接在自己相关的 关键词 推荐和演示中重复使用。也可以重复使用在热词的个性化展示中。关联词也可以使用相同的过滤逻辑。过滤后直接导入词库,战略产品可以根据自己的需要对联想词进行排序。一般左匹配、收录

匹配、相关模糊匹配等都可以作为策略参考。在排序方面,可以用use-usage排序:即哪个词的使用率越高,就越高等(因为比较简单)。

  这些扩展的词库也可以用作用户标签。在前期没有任何用户行为数据的情况下,可以对外推广这些词库:比如热词、联想词、默认词、相关关键词等。吸引用户点击,作为用户行为画像的基础标签,商品推荐模块的素材等。对于前期没有在算法上投入的电商来说,无疑是一种比较划算的操作。如果算法人力不多,也可以把这些关键词和商品信息对冲,获取关键词和商品的向量关系等。

  当然,以上方案仅供参考,并非完美方案。它还收录

许多风险,例如合规风险等,并不适用于所有电子商务场景。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线