机器学习面试题总结(1)

标签: 面试 机器学习
14人阅读 评论(0) 收藏 举报
分类:

机器学习面试题总结(1)

导语:

为了准备暑期实习,从各种面经中总结了一些机器学习的面试题。答案一部分是网上的答案,一部分是自己的心得。这些东西类似“真题”,一来检测自己的知识掌握情况,二来作为之后的学习做一个导向。


Q1:如何处理缺失值,以及各种方法的利弊?

1.用平均值、中值、众数、随机数等替代。优点是简便。缺点是相当于人为增加了噪声

2.用其他变量做一个预测模型来算出缺失值。但是如果其他变量与缺失变量若无关,则计算无意义;若强相关,则不必计算

3.把缺失值当做一个独立的类型,然后把该变量映射到一个高维的空间(类似one-hot)。优点是可以保持样本的所有信息。缺点是计算量巨大,且如果样本数目较少的话,这样映射会使得数据变得非常稀疏。

Q2:如何将描述变量转为连续变量?

描述变量也叫分类变量,一般是离散的。可以用其拟合一个回归方程,然后可当做连续变量处理。

Q3:如何处理有序变量?

有序变量最好做一下one-hot encoding(独热编码),也可以将有序变量直接当做连续变量。

Q4:如何进行特征选择?

从给定的特征集合中选择出相关特征子集的过程,称为特征选择。特征选择和降维是处理高维数据的两大主流技术。其主要涉及两个关键环节:子集搜索子集评价。常见的方法有三大类:

1.过滤式

过滤方式先对数据集进行特征选择,然后再训练学习器。过滤式不考虑后续学习器的最终性能。Relief是一种著名的过滤式特征选择方法,设计了一个“相关统计量”来度量特征的重要性。相关统计量对应于属性 j 的分量为:

σj=idiff(xij,xi,nhj)2+diff(xij,xi,nmj)2

其中xaj表示样本xa在属性j上的取值,diff(xaj,xbj)取决于属性j的类型:若是离散型,则xaj=xbj时取0,否则取1;若是连续型,则其值等于|xajxbj|,注意xaj,xbj已规范化到[0,1]区间内。

Relief算法是针对二分类问题的,而多分类问题要用到Relief-F算法。该算法中,相关变量对于属性 j 的分量为:

σj=idiff(xij,xi,nhj)2+lk(pl×diff(xij,xi,nmj)2)

其中pl为第 l 类样本在数据集 D 中所占的比例。

2.包裹式

包裹式考虑了特征子集选择对学习器效果的影响,选择出一个使学习器效果最佳的特征子集。因为在特征选择中需要多次训练学习器,所以计算开销较大。LVW是一个典型的包裹式特征选择方法。算法描述如下:

输入:数据集D;
特征集A;
学习算法E;
停止条件控制参数T.
过程:

E=oo;
d=|A|;
A*=|A|;
t=0;
while t<T do
    随机产生特征子集A';
    d'=|A'|;
    E'=CrossValidation(E(DA'));
    if (E'<E) || ((E'=E) && (d'<d)) then
        t=0;
        E=E';
        d=d';
        A*=A';
    else
        t=t+1;
    end if
end while       

输出:特征子集A*

其中,d表示特征子集包含的特征数。当特征子集A’上的误差比A小的时候或者误差相当但包含的特征数少的时候,就将A’保留下来。注意,由于设置了停止参数T,所以当A十分庞大但运行时间有限的时候,可能给不出解。

3.嵌入式

与上述两种方法不同,嵌入式选择将特征选择与学习器训练融为一体,让二者在同一个优化过程中完成。在损失函数中引入L1正则化,不仅可以有效降低过拟合的风险,还可以使权重矩阵含有更少的非零分量,即完成了一个特征选择。

查看评论

Python机器学习与数据挖掘1

1scikitlearn安装与配置 2KNN预测男女 3KNN测试自带数据评分对比以及绘图 4KNN用于分类 5KNN用于数据回归预测 6KNN基于历史数据预测未来
  • 2018年04月06日 10:54

机器学习面试常见题总结(持续更新)

1、逻辑回归(LR)损失函数为什么使用最大似然估计而不用最小二乘法?链接:https://www.zhihu.com/question/65350200/answer/266277291首先,机器学习...
  • lanyu_01
  • lanyu_01
  • 2018-03-23 23:03:34
  • 49

BAT机器学习面试1000题系列大集合整理(320)

http://blog.csdn.net/sinat_35512245/article/details/78796328 BAT机器学习面试1000题系列大集合整理(已整理至320题)此博文整合...
  • weixin_40691089
  • weixin_40691089
  • 2018-01-19 13:49:57
  • 307

BAT机器学习面试1000题系列(第1~325题)

BAT机器学习面试1000题系列整理:July、元超、立娜、德伟、贾茹、王剑、AntZ、孟莹等众人。本系列大部分题目来源于公开网络,取之分享,用之分享,且在撰写答案过程中若引用他人解析则必注明原作者及...
  • v_JULY_v
  • v_JULY_v
  • 2017-09-28 11:37:49
  • 41055

BAT机器学习面试1000题系列

几点声明: 1、本文的内容全部来源于七月在线发布的BAT机器学习面试1000题系列; 2、文章中带斜体的文字代表是本人自己增加的内容,如有错误还请批评指正; 3、原文中有部分链接已经失效,故而本...
  • sinat_35512245
  • sinat_35512245
  • 2017-12-14 15:19:15
  • 18164

机器学习面试1000题

  • 2018年01月25日 18:48
  • 14.57MB
  • 下载

BAT题库 | 机器学习面试1000题系列(第246~250题)

246.对于神经网络的说法, 下面正确的是 :  1. 增加神经网络层数, 可能会增加测试数据集的分类错误率 2. 减少神经网络层数, 总是能减小测试数据集的分类错误率 3. 增加神经网络层数,...
  • T7SFOKzorD1JAYMSFk4
  • T7SFOKzorD1JAYMSFk4
  • 2017-12-01 00:00:00
  • 892

机器学习 常见面试题 总结

前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以...
  • vbskj
  • vbskj
  • 2016-08-03 21:21:18
  • 2796

BAT机器学习面试1000题系列(第150~279题)

长文~可先收藏再看哟~150、在感知机中(Perceptron)的任务顺序是什么?深度学习 DL基础 易1 随机初始化感知机的权重2 去到数据集的下一批(batch)3 如果预测值和输出不一致,则调整...
  • leadai
  • leadai
  • 2018-01-08 00:00:00
  • 3325

BAT机器学习面试题1000题(306~310题)

《BAT机器学习面试1000题》系列作为国内首个AI题库,囊括绝大部分机器学习和深度学习的笔试面试题、知识点,可以作为机器学习自测题,也可以当做查漏补缺的资料库。七月在线AI题库(网页版及APP版)见...
  • C_tommy
  • C_tommy
  • 2018-02-09 10:28:46
  • 33
    个人资料
    等级:
    访问量: 13
    积分: 10
    排名: 323万+
    文章分类
    文章存档