一、你会在时间序列数据集上使用什么交叉验证技术?是用k倍?

 答:都不是。对于时间序列问题,k倍可能会很麻烦,因为第4年或第5年的一些模式有可能跟第3年的不同,而我们最终可能只是需要对过去几年的进行验证,这就不能用这种方法了。相反,我们可以采用如下所示的5倍正向链接策略:

  fold 1 : training [1], test [2]

  fold 2 : training [1 2], test [3]

  fold 3 : training [1 2 3], test [4]

  fold 4 : training [1 2 3 4], test [5]

  fold 5 : training [1 2 3 4 5], test [6]

  1,2,3,4,5,6代表的是年份

二、如何理解机器学习中的偏差与方差

 学习算法的预测误差可以分解为三个部分: 偏差(bias), 方差(variance) 和噪声(noise). 在估计学习算法性能的过程中, 我们主要关注偏差与方差. 因为噪声属于不可约减的误差 (irreducible error).

 首先抛开机器学习的范畴, 从字面上来看待这两个词:

  • 偏差

    这里的偏指的是偏离 , 那么它偏离了什么到导致了误差? 潜意识上, 当谈到这个词时, 我们可能会认为它是偏离了某个潜在的 “标准”, 而这里这个 “标准” 也就是真实情况 (ground truth). 在分类任务中, 这个 “标准” 就是真实标签 (label)

  • 方差

    一个随机变量的方差描述的是它的离散程度, 也就是该随机变量在其期望值附近的波动程度

 

三、给你一个数据集,这个数据集有缺失值,且这些缺失值分布在离中值有1个标准偏差的范围内。百分之多少的数据不会受到影响?为什么?

 答:假设数据服从正态分布,学过大学高数的同学应该还记得,正态分布的一个背景知识点是,约95%的数据分布在均值周围2个标准差的范围内,约有68%的数据分布在均值周围1个标准差范围内,那么剩下的约32%的数据是不受影响的。因此,约有32%的数据将不受缺失值的影响

四、在k-means或kNN,我们是用欧氏距离来计算最近的邻居之间的距离。为什么不用曼哈顿距离?

 答:我们不用曼哈顿距离,因为它只计算水平或垂直距离,有维度的限制。另一方面,欧氏距离可用于任何空间的距离计算问题。因为,数据点可以存在于任何空间,欧氏距离是更可行的选择。例如:想象一下国际象棋棋盘,象或车所做的移动是由曼哈顿距离计算的,因为它们是在各自的水平和垂直方向做的运动。

五、花了几个小时后,现在你急于建一个高精度的模型。结果,你建了5 个GBM(Gradient Boosted Models),想着boosting算法会展现“魔力”。不幸的是,没有一个模型比基准模型表现得更好。最后,你决定将这些模型结合到一起。尽管众所周知,结合模型通常精度高,但你就很不幸运。你到底错在哪里?

 答:据我们所知,组合的学习模型是基于合并弱的学习模型来创造一个强大的学习模型的想法。但是,只有当各模型之间没有相关性的时候组合起来后才比较强大。由于我们已经试了5个GBM也没有提高精度,表明这些模型是相关的。具有相关性的模型的问题是,所有的模型提供相同的信息。例如:如果模型1把某一样本归类为1,模型2和模型3很有可能会做同样的分类,即使它的实际值应该是0,因此,只有弱相关的模型结合起来才会表现更好。

六、如何评价线性回归模型?

 我们知道,线性回归模型即找到一条直线,这条直线使得“误差平方和”最小(模型预测的值与实际值差值的平方),但是这可以作为评价模型的标准吗?先来看看下面一张表:

 从上表可以看出,同样的模型,只是样本数量不同,误差平方和却差好多,显然这个指标不能作为评价线性模型的标准,因为误差平方和随着样本量的增加而增加。

 R平方是最常用的评价线性回归模型好坏的指标

 但实际上,很少研究可以获得这么高的R方。社会学研究,R方超过0.1就算靠谱啦。医学研究,有个0.3,也是相当不错的!真若实现了R2 = 1.000,拒稿!

七、关于二分类问题的精确率和召回率

 评价分类器性能的指标一般是准确率,定义是:对于给定的测试集,分类器正确分类的样本数与总样本数之比。

 对于二分类问题常用的指标是精确率和召回率:

  TP-将正类预测为正类数

  FN-将正类预测为负类数

  FP-将负类预测为正类数

  TN-将负类预测为负类数

 精确率:P = TP/(TP + FP)

 召回率:R = TP/(TP + FN)

 此外,还有F1值,是精确率和召回率的调和均值,即:2/F1 = 1/P + 1/R

八、对于树形结构为什么不需要归一化?

 数值缩放,不影响分裂点位置。因为第一步都是按照特征值进行排序的,排序的顺序不变,那么所属的分支以及分裂点就不会有不同。对于线性模型,比如说LR,我有两个特征,一个是(0,1)的,一个是(0,10000)的,这样运用梯度下降时候,损失等高线是一个椭圆的形状,这样我想迭代到最优点,就需要很多次迭代,但是如果进行了归一化,那么等高线就是圆形的,那么SGD就会往原点迭代,需要的迭代次数较少。
 另外,注意树模型是不能进行梯度下降的,因为树模型是阶跃的,阶跃点是不可导的,并且求导没意义,所以树模型(回归树)寻找最优点是通过寻找最优分裂点完成的。

Simple Question的更多相关文章

  1. zoj 1763 A Simple Question of Chemistry

    A Simple Question of Chemistry Time Limit: 2 Seconds      Memory Limit: 65536 KB Your chemistry lab ...

  2. YTU 2900: F-A Simple Question

    2900: F-A Simple Question 时间限制: 1 Sec  内存限制: 128 MB 提交: 66  解决: 24 题目描述 今天,pasher打算在一个浪漫的花园和他的搭档们聚餐, ...

  3. A Simple Question of Chemistry

    #include<stdio.h> int main() { int i, l; ]; ]; l = ; ) { l++; } ; a[i]!= && i<l; i+ ...

  4. K Simple question (第十届山东理工大学ACM网络编程擂台赛 正式赛)

    题解:素数筛+唯一分解定理 可以把素数筛那部分放到while之外,减小时间复杂度. #include <stdio.h> #include <stdlib.h> #includ ...

  5. Functional Programming without Lambda - Part 1 Functional Composition

    Functions in Java Prior to the introduction of Lambda Expressions feature in version 8, Java had lon ...

  6. How to read a scientific paper

    How to read a scientific paper Nothing makes you feel stupid quite like reading a scientific journal ...

  7. POJ----(3974 )Palindrome [最长回文串]

    Time Limit: 15000MS   Memory Limit: 65536K Total Submissions: 5121   Accepted: 1834 Description Andy ...

  8. 如何给input[file]定义cursor

    来源:http://stackoverflow.com/questions/1537223/change-cursor-type-on-input-type-file Simple question. ...

  9. 回文串---Palindrome

    POJ   3974 Description Andy the smart computer science student was attending an algorithms class whe ...

随机推荐

  1. github链接地址及

    http://www.github.com/houyanan1/test.git git 在本地创建分支,并且已经在该分支中开发了一段时间,那么commit到本地后,代码会做一个提交快照,在本地分支保 ...

  2. 广商博客沖刺第一天(new ver):

    項目名稱:廣商博客 沖刺二天傳送門 此次Sprint的目标:全部sprint任務完成 时间:1星期左右 每日立会 Daily Standup Meeting: 1#A3008 晚上8点开始,大概1小时 ...

  3. Doors Breaking and Repairing CodeForces - 1102C (思维)

    You are policeman and you are playing a game with Slavik. The game is turn-based and each turn consi ...

  4. 传参在mybatis的sql映射文件中正确获取

    1.单个参数: 非自定义对象 传参:getStuById(Integer id): 取值:#{id} 单个基本类型参数,随便取值都行:#{ok} 对象: 传参:saveStudent(Student ...

  5. Linux列举所有隐藏文件

    ll 命令是 ls -l的缩写 ls -a是列举所有(all)文件,包含隐藏文件,以.开头的文件. ls -l是以列表(list)方式列举文件. http://bbs.chinaunix.net/th ...

  6. Java 修饰符顺序问题

    What is a reasonable order of Java modifiers (abstract, final, public, static, etc.)? http://stackov ...

  7. TCP 三次握手理解和过程

    1:TCP为什么要三次握手,不是两次四次? 2:TCP协议三次握手过程分析

  8. Docker 网络部分的简单学习以及转帖别人的blog

    1. 感谢一下 大神: http://www.cnblogs.com/sparkdev/ 最近有时间的话 就会读一下他的博客.学习了解docker相关的知识 今天简单做了下 测试 在这里面记录一下. ...

  9. python自动化运维笔记2 —— IP地址处理模块IPy

    1.2 实用的IP地址处理模块IPy ip地址规划是网络设计中非常重要的一个环节,规划的好坏会直接影响路由协议算法的效率,包括网络性能.可扩展性等方面,在这个过程当中,免不了要计算大量的IP地址,包括 ...

  10. jmeter 参数化测试

    变量的值可以不改变,可以被定义一次,如果不使用,不会改变值. 在测试计划中,变量可以做为方便的频繁使用的表达式,或都作为在测试运行中的可能会改变的常量,例如 线程组中线程的数量.主机名称 在确定一个测 ...