一、你会在时间序列数据集上使用什么交叉验证技术?是用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. Linux内核分析——进程的描述和进程的创建

    进程的描述和进程的创建 一. 进程的描述 (一)进程控制块PCB——task_struct 1.操作系统的三大管理功能包括: (1)进程管理 (2)内存管理 (3)文件系统 2.PCB task_st ...

  2. Linux内核分析第五周总结

    系统调用在内核代码中的工作机制和初始化 xyz()与sys_xyz()是通过系统调用号联系在一起的 0x80与system_call是通过中断向量联系起来的 系统调用机制的初始化 用汇编代码编写系统调 ...

  3. 最终版alpha阶段总结

    这是我们组最终的alpha阶段总结,我和陈汝婷虽然最后做的没有想象的好,时间也很紧急,但是真的学到很多,毕竟现在我们两个人做的活是其他组四个人做的活,其实能做到这样,哪怕这样,我们也觉得没有什么遗憾了 ...

  4. 在web.xml中配置监听器来控制ioc容器生命周期

    5.整合关键-在web.xml中配置监听器来控制ioc容器生命周期 原因: 1.配置的组件太多,需保障单实例 2.项目停止后,ioc容器也需要关掉,降低对内存资源的占用. 项目启动创建容器,项目停止销 ...

  5. TitleLayout——一个Android轻松实现通用、标准、支持沉浸式状态栏的标题栏库

    TitleLayout 多功能.通用的.可在布局或者使用Java代码实现标题栏:支持沉浸式状态栏,支持左侧返回按钮(不需要手动实现页面返回),左侧支持图片+文字.图片.文字:右侧支持图片.文字等. 堆 ...

  6. CentOS7 截图

    https://blog.csdn.net/downing114/article/details/51433862 https://blog.csdn.net/lotluck/article/deta ...

  7. Windows系统下PHP使用Redis

    参考链接:https://www.cnblogs.com/lhat/p/6402472.html 环境:windows 10  64位操作系统    php 5.4 redis 3.0 1.redis ...

  8. datetime的小坑

    在做悦运动这个项目时,在创建约运动关系表时,运动开始时间,注意(导入datetime包时,我导入的是class datetime(__datetime.date)这个类,可以调用这个类中的方法,调用当 ...

  9. Delphi下EasyGrid使用体会

    最近在编写软件的时候,非常需要一款支持多表头的StringGrid控件,朋友介绍使用EasyGrid控件,这款控件大概从04年开始就没有再更新,网上有关与它的资料也较少.但是通过其demo,此软件还是 ...

  10. matplotlib之直接保存图片

    自动保存图表:pyplot.savefig('D:\\pic.png'),替代了 pyplot.show(). # 使用matplotlib.pyplot.scatter绘制散点 import mat ...