微信联系人上面会有一个像耳朵一样的东西:是微信用户开启了“听筒模式”。
为什么有些人可以看出微信正在输入有些不行:微信的正在输入设置是和QQ绑定的,在QQ的设置——权限设置——个人状态里面,取消我的输入状态的勾选,就可以不显示微信的正在输入了。

目标

岗位介绍

  1. 评估项目收益和KPI,利用模型算法改善业务KPI指标;
  2. 优化和改进算法模型,提升precision & recall;
  3. 设计模型数据的检验方案,指导数据检验和异常侦测工作,提高系统防风险能力;
  4. 编写算法说明书、与架构师一起设计模型植入系统的接口。

  5. 有机器学习/人工智能实习或实践经验;

  6. 在以下至少一个领域有深入的研究;
    a) 统计/机器学习(回归(Logistic),聚类,时间序列,分类树,Boosting,SVM,Random Forest,神经网络等);推荐算法 (Collaborative Filtering, SVD++);
    b) 文本挖掘和语义分析(Naive Bayes, LDA, 知识图谱表示,结构化预测,语义解析,信息检索,知识挖掘等)
  7. 熟悉和掌握算法模型训练软件之一(如R, SAS, SPSS,或者matlab等);
  8. 熟练下列数据库查询之一Hive、SQL Server、Oracel、MySQL、或者Teradata等;
  9. 良好的逻辑思维能力,能够从海量数据中发现有价值的规律;
  10. 不惧困难,面临挑战充满激情,面临挫折充满斗志,面临质疑临危不惧;
  11. 具有良好的沟通能力,和良好的团队合作精神。
    有如下经验/能力者优先:
  12. 有数学建模竞赛获奖;
  13. Linux环境/Shell命令;
  14. 分布式计算Hadoop/hive/spark等相关技术;
  15. 基于集群的机器学习Spark ML、Mahout、或者R-Hadoop;
  16. 熟悉一种编程语言(Java、Python,或者Perl)。

    1、算法工程师

    1-1、补充数学知识

  • 正态分布(Normal distribution)
    也称“常态分布”,又名高斯分布(Gaussian distribution),最早由A.棣莫弗在求二项分布的渐近公式中得到。C.F.高斯在研究测量误差时从另一个角度导出了它。P.S.拉普拉斯和高斯研究了它的性质。是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。
    正态曲线呈钟型,两头低,中间高,左右对称因其曲线呈钟形,因此人们又经常称之为钟形曲线。
    若随机变量X服从一个数学期望为μ、方差为σ^2的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。当μ = 0,σ = 1时的正态分布是标准正态分布。

  • 标准正态分布
    标准正态分布是一个在数学、物理及工程等领域都非常重要的概率分布,在统计学的许多方面有着重大的影响力。期望值μ=0,即曲线图象对称轴为Y轴,标准差σ=1条件下的正态分布,记为N(0,1)。

  • 方差
    方差是在概率论和统计方差衡量随机变量或一组数据时离散程度的度量。概率论中方差用来度量随机变量和其数学期望(即均值)之间的偏离程度。统计中的方差(样本方差)是每个样本值与全体样本值的平均数之差的平方值的平均数。在许多实际问题中,研究方差即偏离程度有着重要意义。
    方差是衡量源数据和期望值相差的度量值。

  • 正态分布曲线
    正态分布曲线反映了随机变量的分布规律。理论上的正态分布曲线是一条中间高,两端逐渐下降且完全对称的钟形曲线。

  • 标准差
    标准差(Standard Deviation) ,中文环境中又常称均方差,是离均差平方的算术平均数的平方根,用σ表示。标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。平均数相同的两组数据,标准差未必相同。

  • 闭集
    在拓扑空间中,闭集是指其补集为开集的集合。 由此可以引申在度量空间中,如果一个集合所有的极限点都是这个集合中的点,那么这个集合是闭集。不要混淆于闭流形。

  • 闭包
    闭包就是能够读取其他函数内部变量的函数。例如在javascript中,只有函数内部的子函数才能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。

  • 期望值
    在概率论和统计学中,期望值(或数学期望、或均值,亦简称期望,物理学中称为期待值)是指在一个离散性随机变量试验中每次可能结果的概率乘以其结果的总和。
    换句话说,期望值是随机试验在同样的机会下重复多次的结果计算出的等同“期望”的平均值。需要注意的是,期望值并不一定等同于常识中的“期望”——“期望值”也许与每一个结果都不相等。(换句话说,期望值是该变量输出值的平均数。期望值并不一定包含于变量的输出值集合里。)

1-2、常见的单词

prediction error预测误差
variance方差
bias偏差
residual剩余误差,残差
Series串联、系列

在秒速5厘米间,他们发现了彼此。也在秒速5厘米之间,他们错过了彼此。

正则化的目的是限制参数过多或者过大,避免模型更加复杂。例如,使用多项式模型,如果使用 10 阶多项式,模型可能过于复杂,容易发生过拟合。所以,为了防止过拟合,我们可以将其高阶部分的权重 w 限制为 0,这样,就相当于从高阶的形式转换为低阶。

为了达到这一目的,最直观的方法就是限制 w 的个数,但是这类条件属于 NP-hard 问题,求解非常困难。所以,一般的做法是寻找更宽松的限定条件:∑w^2≤C。
上式是对 w 的平方和做数值上界限定,即所有w 的平方和不超过参数 C。这时候,我们的目标就转换为:最小化训练样本误差 Ein,但是要遵循 w 平方和小于 C 的条件。

1-3、数据挖掘十大算法

图解十大经典的机器学习算法

  机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。

(1)决策树(分类)

每个节点提一个问题,通过判断,将数据分为两类,再继续提问。

(2)随机森林(分类)

在源数据中随机选取数据,组成M个子集(决策树)。将新数据投入到这M个树中,得到M个分类结果,计数看预测成哪一类的数目最多,就将此类别作为最后的预测结果。(少数服从多数原则)

(3)逻辑回归logistic(LR 预测)

sigmod函数

(4)支持向量机svm(分类)

(5)朴素贝叶斯

(6)K近邻算法(分类)

给一个新的数据时,离它最近的 k 个点中,哪个类别多,这个数据就属于哪一类。(少数服从多数)
通常k是不大于20的整数。

(7)K均值算法kmean(聚类)

初始为K类,然后遍历数据看距离哪一类更近就属于哪一类。分好类后,计算每一类的平均值,作为新一轮的中心点。几轮之后,分组不再变化了,就可以停止了。

(8)adaboost(分类)

Adaboost 是 Boosting 的方法之一。Boosting就是把若干个分类效果并不好的分类器综合起来考虑,会得到一个效果比较好的分类器。

(9)神经网络NN(分类)

Neural Networks适合一个input可能落入至少两个类别里:NN由若干层神经元,和它们之间的联系组成。 第一层是input层,最后一层是output层。在hidden层和output层都有自己的classifier。常见forward propagation。

(10)马尔科夫

Markov Chains由state(状态)和transitions(转移)组成。例子,根据这一句话 ‘the quick brown fox jumps over the lazy dog’,要得到markov chains。

1-4、概念理解

快速入门机器学习 图解机器学习10张经典图片

训练误差和测试误差

  • 随着训练数据增多或者模型更加复杂,会使模型过拟合,则训练误差会无限趋于零。因为过拟合,则测试误差就会增大;
  • 训练数据过于少或者模型简单,就会使模型欠拟合,训练误差和测试误差就会增大。

欠拟合和过拟合

拟合参数M,如果M过小,模型不够复杂,欠拟合;M过大,模型曲线复杂度过高,过拟合。

奥卡姆剃刀(Occam’s razor)

没懂

特征结合

无关特征

升维

判别模型和生成模型

损失函数

最小方差的几何图解

稀疏性

1-6、常见的计算

(1)置信度

(2)评分方差

(3)最大使然估计、最大贝叶斯估计、最大后验估计

(4)朴素贝叶斯:选择后验概率最大的类为分类标签

一个简单的场景:一号碗(C1)有30颗水果糖和10颗巧克力糖,二号碗(C2)有水果糖和巧克力糖各20颗。现在随机选择一个碗,从中摸出一颗糖,发现是水果糖。问这颗水果糖(X)最有可能来自哪个碗?

这类问题可以借助贝叶斯公式来计算,不需要针对目标变量建立模型。在分类时,通过计算样本属于各个类别的概率,然后取概率值大的类别作为分类类别。

P(X|C) :条件概率, C中X出现的概率
P(C):先验概率, C出现的概率
P(C|X) :后验概率,X属于C类的概率

假设有 C1 和 C2 两个类,由于 P(X)都是一样的,所以不需要考虑 P(X)

只需考虑如下:

如果 P(X|C1) P(C1) > P(X|C2) P(C2),则 P(C1|X) > P(C2|X),得 X 属于 C1 ;
如果 P(X|C1) P(C1) < P(X|C2) P(C2),则 P(C2|X) < P(C2|X),得 X 属于 C2 。

例如上面的例子中:

P(X):水果糖的概率为5/8
P(X|C1):一号碗中水果糖的概率为3/4
P(X|C2):二号碗中水果糖的概率为2/4
P(C1)= P(C2):两个碗被选中的概率相同,为1/2

则水果糖来自一号碗的概率为:P(C1|X)=P(X|C1)P(C1)/P(X)=(3/4)(1/2)/(5/8)=3/5
水果糖来自二号碗的概率为:P(C2|X)=P(X|C2)P(C2)/P(X)=(2/4)(1/2)/(5/8)=2/5
P(C1|X)>P(C2|X) ,因此这颗糖最有可能来自一号碗。
朴素贝叶斯的主要应用有文本分类、垃圾文本过滤,情感判别,多分类实时预测等。

标准正态分布 均值是为什么是0标准差为什么是1

实例:发报台分别以概率0.6和0.4发出信号“∪”和“—”。由于通信系统受到干扰,当发出信号“∪”时,收报台分别以概率0.8和0.2受到信号“∪”和“—”;又当发出信号“—”时,收报台分别以概率0.9和0.1收到信号“—”和“∪”。求当收报台收到信号“∪”时,发报台确系发出“∪”的概率。

设p(x) = 0.6, p(y) = 0.4. p(A|x) = 0.8, p(B|x)=0.2. p(A|y) = 0.1, p(B|y) = 0.1, 求p(x|A)。
p(x|A) = p(A|x) p(x) / p(A) = (0.60.8)/(0.60.8+0.40.1)=0.923

1-5、补充

二叉树的常用建立,二叉树树高,叶子节点求和,交换左右字数,递归和非递归,二叉树右侧节点。剑指offer刷题

常见的防止过拟合方法,如何理解CNN,谈BN,怎么做,dropout怎么做;

印象:有钱,到处都是广告,质量好,口碑好
二面:

CNN基本知识,smoothln loss的意义与作用,常见的loss function;
有一个生成器,生成0的概率是p,生成1的概率是1-p,问如何生成1/2和1/2的概率

兄贵,重洋,探路者,摸金校尉,摸金符,倒斗,4小鬼,血粽子,尽人事听天命,

memset(vis, 0, sizeof(vis));不能放在全局使用????

C语言问题%f和%lf的区别

%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。
其中:
float,单精度浮点型,对应%f.
double,双精度浮点型,对应%lf.
在用于输出时:
float类型可以使用%lf格式,但不会有任何好处。
double类型如果使用了%f格式可能会导致输出错误。
在用于输入时:
double 类型使用了%f格式,会导致输入值错误。
float类型使用double类型不仅会导致输入错误,还可能引起程序崩溃。
所以在输入输出时,一定要区分好double和float,而使用对应的格式符号。

准确率、精准率和召回率的理解

#

DataHunter首届数据可视化之星大赛
百度大脑行业挑战赛

问题

2、测试开发工程师

3、游戏开发工程师

4、后台研发工程师

5、大数据分析工程师