华为机器学习工程师招聘内容
1、负责统计机器学习、深度学习、强化学习等模型的研发工作,包括但不限于基础的算法或模型,如CNN、RNN、DNN、DQN等;
2、支撑以上模型的基础算法或算子优化,如模型压缩、卷积算法加速等,实现极致的性能;
3、负责大规模分布式凸优化和非凸优化算法、高性能通信技术的研发,充分挖掘软、硬件的优势,实现业界领先的AI框架和平台;
4、负责一站式的端到端AI平台,包括智能标注、特征工程、模型开发、自动学习和训练、推理等。职
必备技能
- 算法功底
- 大规模数据挖掘相关技术,掌握Hadoop/Spark技术(鱼佬)
- 机器学习理论基础
- 熟练掌握一个深度学习框架(Tensorflow、keras、Pytorch)
- 熟悉数据挖掘算法的原理、实现与应用
- 熟悉机器学习常用算法,包括LR、GBDT、Xgboost、DNN等
- LSTM
- Bert
- 推荐中的召回算法等
- 对以下某个领域有深度研究的优先
- 文本数据挖掘
- 知识表示及推理、问答系统
-
1 机器学习理论
1.1 基础理论
网课《Learning from Data》机器学习基石
网课《机器学习-吴恩达》
所谓基础理论,指的是不涉及任何具体模型,而只关注“学习”这件事本身的一些理论。以下是一些比较有用的基础概念:
(1)VC维
学习资料
VC维是一个很有趣的概念,它的主体是一类函数,描述的是这类函数能够把多少个样本的所有组合都划分开来。VC维的意义在哪里呢?它在于当你选定了一个模型以及它对应的特征之后,你是大概可以知道这组模型和特征的选择能够对多大的数据集进行分类的。此外,一类函数的VC维的大小,还可以反应出这类函数过拟合的可能性。
(2)信息论
从某种角度来讲,机器学习和信息论是同一个问题的两个侧面,机器学习模型的优化过程同时也可以看作是最小化数据集中信息量的过程。对信息论中基本概念的了解,对于机器学习理论的学习是大有裨益的。例如决策树中用来做分裂决策依据的信息增益,衡量数据信息量的信息熵等等,这些概念的理解对于机器学习问题神本的理解都很有帮助。这部分内容可参考《Elements of Information Theory》这本书。
(3)正则化和bias-variance tradeoff
如果说现阶段我国的主要矛盾是“人民日益增长的美好生活需要和不平衡不充分的发展之间的矛盾”,那么机器学习中的主要矛盾就是模型要尽量拟合数据和模型不能过度拟合数据之间的矛盾。而化解这一矛盾的核心技术之一就是正则化。正则化的具体方法不在此讨论,但需要理解的,是各种正则化方法背后透露出的思想:bias-variance tradoff。在不同利益点之间的平衡与取舍是各种算法之间的重要差异,理解这一点对于理解不同算法之间的核心差异有着非常重要的作用。
(4)最优化理论
绝大多数机器学习问题的解决,都可以划分为两个阶段:建模和优化。所谓建模就是后面我们会提到的各种用模型来描述问题的方法,而优化就是建模完成之后求得模型的最优参数的过程。机器学习中常用的模型有很多,但背后用到的优化方法却并没有那么多。换句话说,很多模型都是用的同一套优化方法,而同一个优化方法也可以用来优化很多不同模型。对各种常用优化方法的和思想有所有了解非常有必要,对于理解模型训练的过程,以及解释各种情况下模型训练的效果都很有帮助。这里面包括最大似然、最大后验、梯度下降、拟牛顿法、L-BFGS等。1.2 有监督学习
KNN朴素贝叶斯算法 - 参考: Naive Bayes 算法实现
http://blog.csdn.net/dream_angel_z/article/details/46120867
http://www.cs.cmu.edu/~tom/mlbook/NBayesLogReg.pdf
- 决策树 - 参考: decision Tree(Python 实现)
http://blog.csdn.net/dream_angel_z/article/details/45965463
- 逻辑回归Logistic 回归 - 参考:逻辑回归
http://blog.csdn.net/wangran51/article/details/8892923
http://www.cs.cmu.edu/~tom/mlbook/NBayesLogReg.pdf
- boosting组
- GDBT梯度树提升 GTB 算法 - 参考: Gradient Tree Boosting(或 GBRT)
http://blog.csdn.net/dream_angel_z/article/details/48085889
- Adaboost - 参考: 组合算法 - Adaboost
http://blog.csdn.net/huruzun/article/details/41323065
- 组合算法总结 - 参考:Ensemble 算法总结
http://www.csuldw.com/2015/07/22/2015-07-22%20%20ensemble/
- bagging组合
- Random Forest - 参考: 随机森林算法
http://www.cnblogs.com/wentingtu/archive/2011/12/22/2297405.html
- 人工神经网络 - 参考:
http://www.cnblogs.com/luxiaoxun/archive/2012/12/10/2811309.html
- SVM 支持向量机 - 参考:pluskid 支持向量机三重境界
http://blog.pluskid.org/?page_id=683
- Apriori 算法 - 参考地址: Apriori 关联分析
http://www.csuldw.com/2015/06/04/2015-06-04-Apriori/
- K 最近邻算法 - 参考:KNN 从原理到实现
http://blog.csdn.net/dream_angel_z/article/details/45896449
- K-means 聚类 - 参考:K-means cluster
http://blog.csdn.net/dream_angel_z/article/details/46343597
- EM 期望最大算法 - 参考:EM 算法
http://blog.csdn.net/zouxy09/article/details/8537620
- 条件随机场,参考:CRF
http://www.tanghuangwhu.com/archives/162
- 随机森林和 GBDT,参考:决策树模型组合之随机森林与 GBDT
http://www.cnblogs.com/LeftNotEasy/archive/2011/03/07/1976562.html
- 线性回归
- 分类树
- FM算法
- 和决策回归
1.3 无监督学习
- 聚类方法
- kmeans
- DBSCAN
- 层次聚类
- 混合高斯模型
- LSI
- pLSA
- LDA
- PCA
- SVD
- NMF
- word2vc
- 嵌入表示(embedding representation)
- HMM 隐马尔可夫模型,参考:HMM
http://blog.csdn.net/likelet/article/details/7056068
2 数学基础
(1)概率论
- 大数定理&中心极限定理
- 常用概率分布
- 假设检验理论
(2)参数估计方法
- 最大似然理论
- 最大后验理论
- EM算法
(3)理论
- 贝叶斯理论
- 贝叶斯分类错误率
(4)离散数据分布
- 伯努利分布、二项分布、多项分布、Beta分布、狄里克莱分布以及泊松分布
- 高斯分布和指数分布族
3 特征处理和工程
- 特征选择和特征提取,参考:特征提取与特征选择
http://blog.csdn.net/lanbing510/article/details/40488787
- 特征规范化
- 特征离散化
-
4 必备工具
4.1 单机开发工具
numpy
- sklearn
- pandas
- matplotlib’
- libsvm
- liblinear
- xgboost
-
4.2 大数据开发工具
Spark
- hadoop
- Hive
- Storm
- 。。。
5 ML算法补充资料
梯度下降法,参考:gradient descent
http://blog.csdn.net/woxincd/article/details/7040944
牛顿法,参考:牛顿法
http://blog.csdn.net/luoleicn/article/details/6527049
线性判别分析,参考:线性判别
http://www.cnblogs.com/jerrylead/archive/2011/04/21/2024384.html
深度学习 - 深度学习概述:从感知机到深度网络
http://www.cnblogs.com/xiaowanyer/p/3701944.html
6 面试题目
6.1 机器学习公共知识
- 过拟合欠拟合(举几个例子让判断下,顺便问问交叉验证的目的、超参数搜索方法、EarlyStopping)、
- L1正则和L2正则的做法、正则化背后的思想(顺便问问BatchNorm、Covariance Shift)、L1正则产生稀疏解原理、
- 逻辑回归为何线性模型(顺便问问LR如何解决低维不可分、从图模型角度看LR和朴素贝叶斯和无监督)
- 几种参数估计方法MLE/MAP/贝叶斯的联系和区别
- 简单说下SVM的支持向量(顺便问问KKT条件、为何对偶、核的通俗理解)
- GBDT随机森林能否并行(顺便问问bagging boosting)
- 生成模型判别模型举个例子
- 聚类方法的掌握(顺便问问Kmeans的EM推导思路、谱聚类和Graph-cut的理解)
- 梯度下降类方法和牛顿类方法的区别(顺便问问Adam、L-BFGS的思路)
- 半监督的思想(顺便问问一些特定半监督算法是如何利用无标签数据的、从MAP角度看半监督)
- 常见的分类模型的评价指标(顺便问问交叉熵、ROC如何绘制、AUC的物理含义、类别不均衡样本)
- CNN中卷积操作和卷积核作用
- maxpooling作用
- 卷积层与全连接层的联系
- 梯度爆炸和消失的概念(顺便问问神经网络权值初始化的方法、为何能减缓梯度爆炸消失、CNN中有哪些解决办法、LSTM如何解决的、如何梯度裁剪、dropout如何用在RNN系列网络中、dropout防止过拟合)
为何卷积可以用在图像/语音/语句上(顺便问问channel在不同类型数据源中的含义)
6.2 NLP+推荐系统
CRF跟逻辑回归 最大熵模型的关系
- CRF的优化方法
- CRF和MRF的联系
- HMM和CRF的关系(顺便问问 朴素贝叶斯和HMM的联系、LSTM+CRF 用于序列标注的原理、CRF的点函数和边函数、CRF的经验分布)
- WordEmbedding的几种常用方法和原理(顺便问问language model、perplexity评价指标、word2vec跟Glove的异同)
- topic model说一说
- 为何CNN能用在文本分类
- syntactic和semantic问题举例
- 常见Sentence embedding方法
- 注意力机制(顺便问问注意力机制的几种不同情形、为何引入、seq2seq原理)
- 序列标注的评价指标
- 语义消歧的做法
- 常见的跟word有关的特征
- factorization machine
- 常见矩阵分解模型
- 如何把分类模型用于商品推荐(包括数据集划分、模型验证等)
- 序列学习、wide&deep model(顺便问问为何wide和deep)