Yandex访谈中的机器学习部分如何

每个Yandex服务主要基于数据分析和机器学习方法。 它们是对Web搜索结果进行排名,搜索图像以及形成推荐块所必需的。 机器学习使我们能够制造无人驾驶车辆和语音助手,减少出租车司机的无用停机时间,并减少其客户的等待时间。 所有应用程序而不是列表!


因此,我们始终感到需要数据分析和机器学习专家。 对Yandex而言,采访中最重要的阶段之一是机器学习的一般部分,我将在本文中进行讨论。 我在最近在YouTube上可用的视频中给出了本节模型任务的示例以及答案的可能内容。 在本文中,我将更多地讨论在这一部分中我们对优秀候选人的期望以及为什么我们要精确制定这样的标准。


图片


1. Yandex机器学习面试


Yandex的高级和领导员工能够独立地将以业务术语制定的任务转换为正确摆放的机器学习任务; 选择适当的解决方法,形成特征描述,建立模型更新过程以及对模型质量的正确控制; 最后,验证所得解决方案是否满足原始业务要求。


这些人在很大程度上影响//业务需求的形成:直接与数据打交道的人可以在世界上最清楚地知道服务的哪些特征会影响其受欢迎程度和有用性,用户需要解决哪些问题以及在哪些指标上它会影响。


通常,我们最好的员工还具有特定领域的专业知识-例如,计算机视觉,构建语言模型或用于咨询或搜索服务的模型。


我们非常感谢我们的员工及其专业知识,并希望外部候选人也达到这一水平。 为了对此进行测试,可以将一个或多个部分专门讨论特殊主题,例如计算机视觉或排名训练方法。 其中一部分专门介绍“一般”问题:问题说明,目标功能的形成和训练样本,模型的接受。 现在关于她,将进行讨论。


当然,全部要求仅适用于申请高级或领先专家职位的候选人。 依靠中级或初级职位的候选人不需要具备以上所有条件,但他们应该知道相关的技能对于Yandex和其他公司的职业发展极为有用。


根据单元的要求,可能还需要带有编写代码算法部分,甚至是体系结构部分。


2.问题陈述


因此,本节的主要任务是检查应聘者能够独立完成全部任务的数量,从其表述开始到用户实验中的接受问题结束。


本节从业务方面开始陈述问题。 假设您可能需要创建一种服务,以提示附近的场所,推荐某些产品或对用户感兴趣的电影或音乐进行排名。


您可以从确定有关任务的可能应用程序开始。 最终的解决方案将有多少用户,他们是谁,为什么需要此功能,如何找到此功能? 候选人可以提出所有这些问题,也可以提出自己对答案的看法(当然,后者是可取的)。


根据任务的原因,制定业务指标,然后指标适合在学习过程或模型选择中进行优化。 候选人级别很高的一个指标是,优化指标的选择是否由所解决问题的物理意义决定。 这种类型的最简单示例是使用DCG类度量来对任务进行排名,或使用AUC类度量来解决某些特定的分类问题。


在这里也有必要涉及形成训练样本的问题。 形成数据需要什么数据,如何获取? 我们的培训活动是什么? 需要采样吗? 如果是这样,该怎么办?


3.机器学习方法


任务完成后,您可以开始讨论解决问题的方法。


在这里,您需要选择一个可以构建解决方案的模型,并证明您的选择合理。 值得讨论的是在构建模型的过程中优化了哪些损失函数,以及为什么它是优化上一段中讨论的度量的理想选择。 考虑使用的优化方法也很有用。


接下来要讨论的是要素空间。 班级专家可以立即在一项新任务中拿出几十个甚至数百个标志,之前已根据所使用的数据类型将它们分成几类(例如,标志只能取决于用户,也可以取决于“用户-对象”对)。


另外一个好处是考虑了冷启动问题。 创建完Yandex.Taxi服务后,我们可以使用有关真实旅程的信息来优化城市周围的路线选择方法; 如果已有Yandex搜索引擎,则可以使用用户操作来接收有关哪些文档与您的查询相关的信号。 但是,如果尚未创建该服务,并且所解决的问题对其功能至关重要,该怎么办? 在这种情况下,我们需要提供某种方式来构建合理的解决方案。


4.质量控制


最后,当解决方案准备就绪时,您需要确保它足够好。 如果先前的决定先于先前的决定,则有必要了解新的解决方案是否更好。


在这一点上,候选人需要证明自己有能力进行实验以检验相关假设。 在这里,您需要选择一个实验模型和一种测试变化的统计意义的方法。 假设它可以是对服务用户的常规A / B实验,也可以是对工作结果的专家评估。 应该监控哪些指标? 应该监视什么,以及如何确保实验的正确性?


5.如何成功完成本节


候选人的水平完全取决于他如何独立和深入地陈述任务的解决方案。 进行良好的机器学习部分与西方同事称为ML系统设计的部分无法区分,而较弱的部分可能看起来像是对一个特殊问题的讨论,例如,通过线性除法规则进行的LLH优化。


同时,我们很好地理解,在机器学习问题中,通常不清楚哪种方法可行,是否至少有一种可行。 因此,请随时与对话者讨论问题,就好像是您决定与之讨论常规工作中出现的问题的可能解决方案的同事一样。 我们不要求保证本节中描述的解决方案是好的-我们只希望它有合理的理由,让我们相信您将在实际条件下应对此类任务。


例如,我们不需要全面了解各种统计标准,但我们希望您会认识到正确检验假设的重要性,并在必要时有资格使用这些方法。 同样,本部分不需要对机器学习方法的操作进行详细描述,但是我们希望您能够为自己的任务合理地选择某些模型。


同时,您可以自由探索您所熟悉的领域。 花更多的时间在答案上,而不必谈论您的知识没有那么深入的地方。 我们了解,不可能在所有领域成为专家,同时我们重视知识的诚实。 如果候选人很好地理解了自己的长处和短处,并且能够公开谈论这一点,那么这是一个很好的信号。 此外,这使您可以有效地花费部分时间:它将更多地用于确定候选人的优势。




最后,我将提供一些资源,这将有助于研究,以便在与机器学习相关的项目上更成功地工作,以及为机器学习部分做准备。



好吧,我们的YouTube视频:


Source: https://habr.com/ru/post/zh-CN475584/


All Articles