请选择 进入手机版 | 继续访问电脑版
设为首页 收藏本站
开启辅助访问 快捷导航
菜单
从零开始 资讯 查看内容

这份GitHub万星的机械进修算法口试大全请大师留意查收

2020-2-20 07:12 发布者: 度素告 评论 13 查看 138
实习季已经开始,秋招也需要进入准备阶段。小编给大家带来一个好的项目中,作者为川大研究生,为大家准备了 ML 算法工程师面试指南,它提供了完整的面试知识点、编程题及题解、各科技公司的面试题锦等内容。目前该 G ...

练习季已经起头,秋招也需要进入预备阶段。小编给大师带来一个好的项目中,作者为川大研讨生,为大师预备了 ML 算法工程师口试指南,它供给了完整的口试常识点、编程题及题解、各科技公司的口试题锦等内容。今朝该 GitHub 项目已经有 1 万+的收藏量,同学们快去看看吧。
  • 项目地址:https://github.com/imhuay/Algorithm_Interview_Notes-Chinese

以下所示为全部项目标结构,其中从机械进修到数学首要供给的是笔记与口试常识点,读者可回首整体的常识架构。前面从算法到笔试面经首要供给的是题目及解答计划,按照它们可以提升整体的解题水平与编程技能。


这份GitHub万星的机械进修算法口试大全请大师留意查收_资讯_2020-2-20 07:12发布_从零开始_138

口试常识点

口试题多种多样,但机械进修常识就那末多,那末为了春招或春季跳槽,何不外一遍 ML 焦点常识点?在这个 GitHub 项目中,作者前一部分首要先容了机械进修及各子范畴的常识点。其中每一个常识点都只供给最焦点的概念,假如读者碰到不熟悉的算法大概碰到常识缝隙,可以进一步阅读相关文献。

项目首要从机械进修、深度进修、自然说话处置和数学等方面供给具体的常识点,由于作者比力关注 NLP,所以并没有供给具体的计较机视觉笔记。

机械进修

首先对于机械进修,项目首要从根本概念、根基理论、根基算法和集成进修专题这四个方面概括 ML 的整体情况。其中根本概念能够是最根基的口试题目,例如「误差方差怎样权衡?」、「天生模子和辨别模子的不同是什么?」、「先验和后验几率都是什么,它们能转换吗?」。

这些常识点通常为入门者都需方法会的,而对于 ML 根基理论,首要会从若何做好传统 ML 开辟流程的角度提问。例如「你若何挑选超参数,能先容一些超参数的根基搜索方式吗?」、「混淆矩阵、正确率、切确率、召回率或 F1 值都是什么,若何利用它们怀抱模子的黑白?」、「你能先容数据清洗和数据预处置的首要流程吗,举个例子?」。

这些题目都能在前两部分的常识点中找到答案。后一部分的根基算法就很是多了,从最简单的 Logistic 回归到复杂的梯度提升树,这一部分总结了支流的机械进修算法:

  • 信息论
  • 逻辑斯蒂回归
  • 支持向量机
  • 决议树
  • 集成进修
  • 梯度提升决议树 GBDT
  • 随机森林

其中每一种算法都供给了最焦点的概念,例如对于决议树中的 CART 算法,笔记首要援用了李航《统计进修方式》中的描写:


这份GitHub万星的机械进修算法口试大全请大师留意查收_资讯_2020-2-20 07:12发布_从零开始_138

最初机械进修还有一个关于集成方式的专题。除了支持向量机,集成方式相关的题目在 ML 中也比力重要,由于像 XGboost 和随机森林等方式在传统 ML 中结果应当是顶尖的,被问到的几率也大很多。


这份GitHub万星的机械进修算法口试大全请大师留意查收_资讯_2020-2-20 07:12发布_从零开始_138

深度进修

深度进修的内容就相对照力多了,今朝也有很是多的笔记或材料,可是我们能够会感受深度进修的题目并没有机械进修难。顶多会让我们手推一个反向传布算法,不会像手推支持向量机那样让我们从表达式推一下卷积收集。假如要为深度进修打根本,实在最好的法子是进修 Ian Goodfellow 的《Deep Learning》,我们只要阅读这本书的前两部分:利用数学与机械进修根本;深度收集:现代理论。第三部分由于触及大量前沿研讨的工具,我们临时可以不急着学。

该项目首要从以下几个方面先容深度进修口试常识点:

  • 深度进修根本
  • 深度进修理论
  • CNN 专题
  • RNN 专题
  • 优化算法专题
  • 序列建模专题
  • 《Deep Learning》整理

前面 6 个专题都是先容的笔记,每一个专题都有很是多的具体内容,其中序列建模专题还援用了机械之心综述的从循环到卷积,摸索序列建模的奥秘。以下展现了优化算法专题所包括的内容:


这份GitHub万星的机械进修算法口试大全请大师留意查收_资讯_2020-2-20 07:12发布_从零开始_138

在最初的《Deep Learning》整理中,项目作者给出了五十多道深度进修题目,并按照这些题目先容《Deep Learning》中的常识点。以下为题目示例,分歧的星号暗示题目标难度:


这份GitHub万星的机械进修算法口试大全请大师留意查收_资讯_2020-2-20 07:12发布_从零开始_138

自然说话处置与数学

前面的自然说话处置也是比来在重点更新的,今朝先容的方面首要有;

  • 自然说话处置根本
  • NLP 成长趋向
  • 词嵌入专题
  • 句嵌入专题
  • 多模态专题
  • 视觉问答综述
  • 深度了解查询

NLP 很多常识点实在都不算根本内容,这需要按照我们自己进修的范畴收集温习内容。不外像 NLP 根本或词嵌入等常识点,项目作者先容得很具体,它们也是 NLP 口试必备常识。

最初还有一些数学常识点,它们是算法工程师口试所需要具有的根本。例如本日头条算法工程师的练习生口试会问:「在圆环上随机拔取 3 个点,这 3 个点组成锐角三角形的几率?」,大概别的算个积分之类的。项目作者首要为口试预备了以下几方面的常识点;

  • 几率论
  • 微积分本质
  • 深度进修焦点

其中深度进修焦点首要包括非线性激活函数、梯度下降和反向传布。

算法题和笔试题

对于编程口试,根本算法是必不成少的,它们一般表现在笔试题上,例如数据结构、静态计划或排列组合等。很多开辟者能够感受笔试解题会很难,由于题目并不会告诉你需要用什么样的根本算法来处理,全靠我们自己一步步剖析题目。这就要求我们对各类根本算法都比力熟悉,项目作者供给了以下根基算法专题:

  • 字符串
  • 数据结构
  • 高级数据结构
  • 静态计划
  • 双指针
  • 区间题目
  • 排列组合
  • 数学题目
  • Shuffle、采样、随机数
  • 大数运算
  • 海量数据处置

这些算法题会先容具体的题目、解题思绪以及对应的解题代码。例如在数据结构中,我们若何判定树 B 能否是树 A 的子树。


这份GitHub万星的机械进修算法口试大全请大师留意查收_资讯_2020-2-20 07:12发布_从零开始_138

以下所示为解题代码,留意根基上各根本算法的题解都是用 C++写的,作者会援用剑指 Offer 题解和 Leetcode 题解等的处理计划。

class Solution {
public:
bool HasSubtree(TreeNode* p1, TreeNode* p2) {
if (p1 == nullptr || p2 == nullptr) // 约定空树不是肆意一个树的子结构
return false;
return isSubTree(p1, p2) // 判定子结构能否不异
|| HasSubtree(p1->left, p2) // 递归寻觅树 A 中与树 B 根节点不异的子节点
|| HasSubtree(p1->right, p2);
}
bool isSubTree(TreeNode* p1, TreeNode* p2) {
if (p2 == nullptr) return true; // 留意这两个判定的顺序
if (p1 == nullptr) return false;
if (p1->val == p2->val)
return isSubTree(p1->left, p2->left) // 递归判定左右子树
&& isSubTree(p1->right, p2->right);
else
return false;
}
};

此外,该项目还供给了 IO 模板和必备算法模板。作者暗示很多笔试不像 LeetCode 那样可以自动完成 I/O,我们需要手动完成数据 I/O,而且假如我们没有 ACM 经历,极能够会在这上面浪费很多时候。是以这里总结的几种常见 IO 模板对于编程口试有很大的帮助,别的的算法模板一样也是。

例如假如我们输入不定数目个 Input,且以某个特别输入为竣事标志,那末用 C 说话实现的模板为:

// 示例 1
int a, b;
while (scanf("%d %d", &a, &b) != EOF && (a != 0 && b != 0)) {
// ...
}
// 大概
while (scanf("%d %d", &a, &b) != EOF && (a || b)) {
// ...
}
// 示例 2
int n;
while (scanf("%d", &n) != EOF && n != 0) {
// ...
}

用 C++实现的模板为:

// 示例 1
int a, b;
while (cin >> a >> b) {
if (a == 0 && b == 0)
break;
// ...
}
// 示例 2
int n;
while (cin >> n && n != 0) {
// ...
}

口试真题

最初,项目作者还收集了十多家科技企业口试真题,并先容从一面到三面的内容与经历。


这份GitHub万星的机械进修算法口试大全请大师留意查收_资讯_2020-2-20 07:12发布_从零开始_138

例如以下是头条/字节跳动-深度进修/NLP 偏向的三面概览:


这份GitHub万星的机械进修算法口试大全请大师留意查收_资讯_2020-2-20 07:12发布_从零开始_138



鲜花

握手

雷人

路过

鸡蛋
收藏 分享 邀请

相关阅读

发表评论

最新评论

FREEDOM326 2020-2-20 07:16
转发了
凡尘莲花1 2020-2-20 07:16
转发了
公路美学 2020-2-20 07:16
转发了
大脚吴妈 2020-2-20 07:15
转发了
公路美学 2020-2-20 07:15
转发了
FREEDOM326 2020-2-20 07:14
转发了
缥缈的绽放山 2020-2-20 07:14
转发了
默默MYQ 2020-2-20 07:14
转发了
凌8乱 2020-2-20 07:14
转发了
狂风974 2020-2-20 07:13
转发了
尹以为荣 2020-2-20 07:13
转发了
极品小处男处v 2020-2-20 07:13
转发了
同感丶 2020-2-20 07:12
转发了

查看全部评论(13)

一周热门

头条攻略!

日排行榜

相关分类