机器学习 从机械学习的角度

        数据挖掘是通过分析存在于数据庫里的数据来解决问题在激烈的竞争市场上,客户忠诚度摇摆问题就是一个经常提到的事例一个有关客户商品选择以及客户个人资料嘚数据库是解决这个问题的关键。以前客户的行为模式能够被用来分析并识别哪些喜欢选购不同的商品甄别出那些善变的客户群体,并加以特殊对待须知对整个客户群都加以特殊对待的成本是高昂的。

        数据挖掘被定义为找出数据中的模式的过程这个过程必须是自动的戓半自动的。数据的总量是相当可观的但从中发现的模式必须是有意义的,并能产生出一些效益通常是经济上的效益。

        如何表示数据模式呢有价值的模式能够让我们在新数据上作出非凡的预测。表示一个模式有两种极端方法:一种是内部结构很难被理解的黑匣子;一種是展示模式结构的透明的匣子它的结构揭示了模式的结构。我们假设两种方法都能作出好的预测它们的区别在于被挖掘初的模式能否以结构的形式表现,这个结构是否能够经得起分析理由是否充分,能否用来形成未来的决策如果模式能够以显而易见的方法获得决筞结构,我们就称它们为结构模式换句话说,它们能帮助解释有关数据的一些现象

        在现实中,数据集不可避免地存在一些样本这些樣本中的某些属性值因为一些原因而不可知、例如数据没有被测量、丢失或其他原因。但是在通常情况下因为数据中存在一些错误或者“干扰”,错误的分类的情况会发生在用来训练分类器的数据上

         以前我们是从可操作的角度上定义机器学习:是从大量的数据中自动或半自动地寻找模式的过程,而且这个模式必须有用的我们可以用同样的方法为学习建立一个可操作的定义:

当事物以令其自身在将来表現更好为标准来改变其行为时,它学到了东西

         通常真实的数据集存在一个问题:就是私有的属性。没有人愿意与你共享他们的客户和产品选购的数据库从中让你理解他们的饿数据挖掘的应用和如何工作的细节。公共的数据是非常宝贵的资源它们的价值随着挖掘技术的發展而急剧增加。

         决策列概念:规则按照先后次序判断看第一条是否适用,如果不适用继续下去,如果一组规则按次序判断就是决筞列问题。决策列中不能单独地使用嘴个进行判断

(1)      用于训练的数据极少,有些事件是很少发生的而为了避免这些事件如果人工进荇分类,成本将造成极其昂贵用机器学习成本降低。

(3)      样本自然地组成批每一批都是从一个图像中提取的区域的集合,批与批之间嘚背景是不一样的最后作为一个过滤器来完成筛选的工作,并且必须为用户提供一个可变的简便处理方法

(7)      促销行为的代价是昂贵嘚,但能产生高额利润所以广告推荐,并且是推荐是合适的人将是非常有趣的。

(12)  偏差:包括语言偏差、搜索偏差、过度拟合偏差

(13)  数据挖掘和道德问题。这个话题比较新颖

}

在机器学习中按照Ng的说法,常見的做法是先使用一个简单的模型来进行计算然后找到其中容易出现的问题和样本的一些特征,解决之后再使用较为复杂的模型这样會比较节省时间,下面介绍一些常见对假设进行评价的方法

首先在机器学习中常见的对样本的分类方式是60%的训练集(Training Set),20%的交叉验证集(Cross Validation Set)20%的測试集(Testing Set)。其中的训练集和交叉验证集用于对假设参数进行优化比如λθ等,测试集仅用来求得假设的泛化误差


至于学习曲线的绘制,可以在1~m之间取多个间隔点分别训练模型然后分别求出它们的JCV(θ)Jtrain(θ),这里需要注意的是在训练模型的时候是包含了正则项的,但是茬求误差的时候是没有计算正则项的这个误差被定义为||hθ(X)?y||22?m,也就是线性回归中除去代价函数的部分

举个例子,当我们需要根据肿瘤的大小形状等参数来预测肿瘤是良性还是恶性的时候,由于大多数情况都会是良性所以在假设全为0的时候会出现很高的准确率,但昰这样做很明显是不合理的

于是另外引入两个概念,分别是查准率(precision)和查全率(recall)查准率定义为预测为真,实际也为真的个数与预测为真的個数的比值查全率定义为预测为真,实际也为真的个数与实际为真的个数的比值通常准确与全面这二者不可兼得,我们可以通过调整Logistic函数的阈值来满足我们对这两者的要求例如在需要较高准确性的时候,可以调高阈值从0.5到0.7或者更高这样对于预测为真的条件就更为严格,也就会得到更高的查准率相反的,如果需要预测地更加全面可以调低相应的阈值。

}

在过去的一年里我采访了一些茬Expedia Group担任数据科学职位的人,职位从入门级到高级的都有我想分享我的经验,这些经验适用于对申请数据科学职位的人在这篇文章里,峩还会给出关于你可能在面试中会遇到的问题的一些提示

面试候选人帮助我认识了一些有广泛背景和技能的人。从CS / ECE统计/数学到土木/机械工程,这些领域的人我都接触过所幸我有机会能在这里与这些出色的人交谈。

在我讲更多细节之前我想提一下,近年来业界把“數据科学家”也叫做“机器学习科学家”或“应用科学家”。虽然在一些公司中这些职位有着略有着不同的任务或者需要具备不同的技能但对于大多数公司来说,这三个职位或多或少都指的是同一个东西所以在这篇文章中,我提到的“数据科学”跟上面的“机器学习”“应用科学”是一样的。

虽然每个人都有一套自己解决问题的技能但是大多数公司都会要求数据科学候选人具备一些特定的基本技能。我将这些基本技能大概分为以下几类然后再讨论这些技能具体是什么。根据公司和职位级别的不同你可能会被问到以下提到的一个戓多个相关问题:

1、关于你的简历和之前工作相关的问题

2、通用机器学习(和深度学习)知识

3、通用统计和数学知识

4、编程和软件工程技能

7、面试中沟通和表达能力

9、系统设计技巧(取决于职位级别)

10、管理和领导技能(取决于职位级别)



在面试过程中,重要的是你的思维過程以及你能想到为产品构建ML模型的各个方面的能力你绝对不需要给出最好或最完美的答案; 只要你对问题的高层次理解是合理的,你就昰很棒的

6. 关于CV,NLP和定价策略的问题

根据你申请的团队的重点产品你可能还会被问到有关CV,NLP或产品定价的一些问题因此,在面试之前请确保对你申请的团队进行一些研究,以便更好地了解他们的重点面试官可能会问你关于NLP或视觉中非常高级的概念,一些其他面试官鈳能会提出更具挑战性的问题

以下是你可能获得的一些与  NLP  相关的问题:

什么是词干提取和词形还原?

什么是词袋模型TF-IDF怎么样?

你怎么能找到两个单词之间的距离有哪些有名的字符串距离指标?

什么是命名实体识别你将如何评估NER系统的性能?

CRF模型如何针对词性标注进荇训练

什么是公报特征,什么时候它们有用

你将如何构建神经机器翻译模型?你会如何评价其表现

你会如何建立一个Q&A问答系统?

你洳何检测一系列文档中的主题

你如何找到客户评价的情绪(极性)?

以下是你可能会被问到的一些计算机视觉相关问题:

你如何将网站仩的图像分组为不同的类别(如电子服装等)?

如何构建一个模型来自动地标记一张图像中的不同人脸

如何检测图像/视频的质量并过濾模糊的图像/视频?

什么是超分辨率你如何评估超分辨率模型的性能?

如何检测图像中的不同对象

你如何检测图像中的文本区域?

你將如何创建自动图像标记系统

数据科学职位通常涉及大量的沟通和演示。这可以用于与产品经理讨论新项目或向你的团队展示你的模型。因此能够与其他人(技术人员和非技术人员)交流关于你的工作和想法是非常重要的。

有时你可能需要以非常技术性的方式向同事戓经理传达你的新发现有时你可能需要说服产品经理你的模型对他们有用,不用描述太多的技术细节

面试官通常不需要问你一个具体嘚问题来评估你的沟通和表达能力,他们可以在面试过程中了解面试者的这些能力我的建议是:

尝试首先向面试官提供你的解决方案的高级图片,然后讲解其中的细节通过这样做,如果你的高级方法是正确的你可以获得反馈。

你可以专门询问面试官你的答案是否是他們想要的如果不是他们想要的,你可以请他们给你一些提示

尝试将建模问题分解为几个部分,然后对每个部分分别进行阐述对于许哆ML建模问题,你可以将它们分解为相关的数据提取数据清理,特征提取预测建模,评估和可能的改进

有些人在面试时也可能会问行為问题。这些问题可能包括你过去的工作经历(为了了解你是否具备工作所需的技能)以及你的个人兴趣。这些问题也可以集中在你过詓如何处理各种工作情况上你对这些问题的回答可以展示你的技能,能力和个性以下是你可能会被问到的一些示例问题:

你喜欢什么樣的职位,一个涉及研究和研发的职位还是更倾向于把现有模型应用于公司内部数据并围绕它构建数据驱动的解决方案的职位?

你是喜歡单独工作还是与一群人合作解决一个问题?

举一个你达到的目标的例子告诉我你是如何实现它的,以及你面临的挑战是什么

举一個你没有遇到的目标以及你如何处理它的例子?

如果你需要在deadline交付模型请告诉我你将如何在压力下工作?


9. 系统设计技巧(取决于职位级別)

根据你申请的职位级别你可能还会被闻到一些系统设计面试(SDI)问题,这些问题主要是关于“设计大规模分布式系统”的问题

由於缺乏足够的开发大规模系统的经验,以及没有标准答案的设计问题的开放性这些问题可能具有挑战性。

我不打算在这里谈论SDI问题太多因为它不是这篇文章的重点,但我会提供一些示例问题以及一些有用的资源,如果你想在这方面得到更多的练习

以下是一些示例系統设计问题:

你如何为客户服务设计聊天机器人?

设计像Snapchat这样的应用程序

你将如何为Google或Expedia设计预先输入系统?

以下是面试中关于设计问題的一些有用资源:

10. 管理和领导技能(取决于职位级别)

如果你正在申请数据科学经理职位(有时甚至是高级或主要职位),面试官将需偠评估你的管理和领导技能并了解你之前的管理经验。

这个候选人的理想背景是在机器学习和预测建模等领域具有强大理论背景的人鉯及良好的软件工程技能。要成为有效的领导者候选人还需要具备良好的沟通技巧和良好的规划技能,以便能够以考虑构建数据驱动产品所带来的许多风险的方式进行优先排序和规划

我不会谈到太深入到管理技能的方面,但我将在这里提供一些示例问题:

你所管理的最夶团队是什么你面临的挑战是什么?

假设你的团队已经构建了一个模型可以在测试集上实现90%的准确率。为了确定模型性能是否可靠你需要了解什么?

讨论一个可能影响我们公司的数据驱动产品

当你想为你的团队招聘员工时你会考虑哪些问题?

你如何吸引顶尖人才加入你的团队

你认为对数据科学家至关重要的技能是什么?

什么是大数据你熟悉大数据架构吗?

你如何在工作中保持与时俱进

你如哬判断与其他团队的合作是否成功?

在这篇文章中我尝试提供一些提示,以及你在DS面试期间可能遇到的一些高级问题鉴于数据科学角銫的范围不断扩大,当然有一些主题和问题在此未讨论但我试图涵盖一些对数据科学面试中非常重要的一般性主题。

我的最终建议是对伱申请的团队/公司进行更多研究并更好地了解他们正在处理的问题。然后你可以将主要重点放在为与该团队相关的主题做好准备。

版權声明:本文为博主原创文章转载请附上博文链接!

}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信