机器学习之路--常用面试题目

该内容大部分来自<<百面机器学习算法工程师>>

1.特征工程

1.1为什么需要对数值类型进行归一化?

使各个指标处于同一数值量级,消除数据之间的量纲影响。

比如分析一个人的身高和体重对健康的影响。

1.2补充知识点

结构化数据:关系数据库的一张表,每列都有清晰的定义,包含了数值型和类别型

非结构化数据:文本,图像,音频,无法使用简单的数值表示,也没有清晰的类别定义,并且每条数据的大小各不相同

1.3方法

线性归一化(Min-Max Scaling)

它对原始数据进行线性变换,使结果映射到[0,1]的范围,实现对原始数据的等比缩放。

零均值归一化(Z-Score Normalization)

它使原始数据映射到均值为0,标准差为1的正太分布

1.4注意

通过梯度下降算法通常需要归一化,包括线性回归,逻辑回归,SVM,神经网络等模型但是决策树模型不需要归一化

1.2在对数据进行预处理时,应该怎样处理类别型特征?

序号编码(Ordinal Encoding)

通常用于处理类别间具有大小关系的数据。

比如成绩可以分为低中高三个档那么高表示为3,中表示2,低表示为1

独热编码(One-hot Encoding)

处理类别间不具有大小关系的特征。

例如血型(A型血,B型血,AB型血,O型血)

A型血(1,0,0,0),B型血(0,1,0,0),AB型血(0,0,1,0),O型血(0,0,0,1)

注意对于类别取值较多的情况下

1.使用稀疏向量类节省空间

2.配合特征选择来降低维度

二进制编码(Binary Encoding)

先用序号编码给每个类别赋予一个类别ID,然后将类别ID对应的二进制

编码作为结果。

1.3什么是组合特征?如何处理高维组合特征?

为了提高复杂关系的拟合能力,在特征工程中经常会把一阶离散特征两两组合,构成高阶组合特征。

注意

当引入ID类型的特征时,问题就出现了。

解决办法矩阵分解

1.4怎么有效的找到组合特征?

一种方法是基于决策树的方法

1.5有哪些文本表示模型? 它们各有什么优缺点?

文本表示模型

词袋模型(Bag of Words)

TF-IDF

主题模型 (Topic Mode)

词嵌入模型(Word Embedding)

词袋模型(Bag of Words)和N-gram模型

就是将每篇文章看成一袋子词,忽略每个词出现的顺序。

权重计算公式

IDF如果一个单词在非常多的文章里面都出现那么它可能是一个比较通用的词汇,对于区分谋篇文章特殊语义的贡献较小,因此对权重做一定惩罚

N-gram

将文章用单次级别进行划分不好,所以可以通过词组来划分。一般会对单词进行词干抽取(Word Steamming)处理,即将不同词性的单词统一成为同一词干的形式

主题模型

从文本库中发现有代表性的主题(得到每个主题上面词的分布特效),并且能够计算

出每篇文章的主题分布

词嵌入与深度学习模型

词嵌入就是将词向量化的模型的统称,核心思想是将每个词都映射成低纬空间(通常

k=50~300维)上的一个稠密向量(Dense Vector),K维空间的每一维度都可以看作一个

隐含的主题,只不过不像主题模型中的主题那样直观。

Word2Vec

CBOW SKip-gram

1.6图像数据不足时的处理方法

迁移学习(Transfer Learning),GNN,图像处理,上采样技术,数据扩充

1.6在图像分类任务中,训练数据不足会带来什么问题?如何缓解数据量不足带来的问题?

带来过拟合问题

解决方法

一是基于模型的方法,

简化模型(如将非线性模型简化为线性模型)

添加约束项以缩小假设空间(L1/L2正则项)

集成学习

Dropout超参数等

二是基于数据的方法

数据扩充(Data Augmentation)

除了直接在图像空间进行变换,还可以先对图像进行特征提取,然后

在图像的特征空间内进行变换,利用一些通用的数据扩充或上采样技术。

例如SMOTE

迁移学习进行微调(fine-tune)

原文地址:https://www.cnblogs.com/ggnbnb/p/12210805.html

时间: 2024-08-30 13:10:01

机器学习之路--常用面试题目的相关文章

linux面试题目--1

Linux面试题目 填空题1. 在Linux系统中,以 (文件)方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用i节点来标识.4. 全部磁盘块由四个部分组成,分别为引导块 .专用块 . i节点表块 和数据存储块.5. 链接分为:硬链接 和 符号链接.6. 超级块包含了i节点表 和 空闲块表等重要的文件系统信息.7. 某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为: 644,该文件属性是

linux面试题目—2

linux面试题目—2 linux面试题目—2 二 选择题 1.关闭linux系统(不重新启动)可使用命令 B . A Ctrl+Alt+Del B halt C shutdown -r now D reboot 2.实现从IP地址到以太网MAC地址转换的命令为: C . A ping B ifconfig C arp D traceroute 3.在vi编辑器中的命令模式下,键入 B 可在光标当前所在行下添加一新行. A <a>; B <o>; C <I>; D A

Java面试题目整理

一.引言:本文主要整理遇到的面试题目,以及提供自己的见解,将会持续更新,如有问题,可评论交流,一起进步. 二.问题及我的见解: 1. n个结点可以组合成多少棵不同的二叉树? 答:2^n-n棵 2. 什么是bean? 答: bean本质上就是可复用的类,比如在spring中的bean就是表示组件的意思. 3. String.StringBuffer.StringBuilder的有什么区别? 答:String是内容和长度固定的类 StringBuffer是内容和长度可变的类,并且线程安全 Strin

C/C++面试题目一

C/C++开发工程师面试题目(一)(附答案分析) 推荐:自己根据在面试中碰到做过的一些题目以及总结的题目,希望对面试的同学有所帮助. 一. 选择题 1. 下列类中(  )不是输入输出流类iostream的派生类. A. fstream      B. ofstream     C. strstream    D. ostrstream 答案:BD 解析:ofstream和ostrstream派生自ostream,而不是iostream.                              

android面试题目

最近才开的博客,希望大家多多关注,andorid开发也做了3年有余了,也面试多家企业,借此机会分享一下,我们中遇到过的问题以及解决方案吧,希望能够对正在找工作的andoird程序员有一定的帮助.学完<andorid从零开始教程>+面试题目全理解,年薪20w以上绝对没问题. 特别献上整理过的50道面试题目 1.listView的优化方式 重用convertView viewHolder static class viewHolder 在列表里面有图片的情况下,监听滑动不加载图片 多个不同布局,可

PHP面试题目搜集

搜集这些题目是想在学习PHP方面知识有更感性的认识,单纯看书的话会很容易看后就忘记. 曾经看过数据结构.设计模式.HTTP等方面的书籍,但是基本看完后就是看完了,没有然后了,随着时间的推移,也就渐渐忘记了. 所以通过这次搜集题目,可以复习复习一些知识点.而且自己动手写写,动脑思考,能更好的记住这些知识点. 留份记录也方便以后自己查看.题目基本都来自网络,如果有不正确的地方欢迎指出或补充. 一.理论知识 1.1.PHP里面是区分大小写的吗? PHP对于系统函数.用户自定义函数.类名称等是不区分大小

C语言经典面试题目(转的,不过写的的确好!)

第一部分:基本概念及其它问答题 1.关键字static的作用是什么? 这个简单的问题很少有人能回答完全.在C语言中,关键字static有三个明显的作用: 1). 在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变. 2). 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问.它是一个本地的全局变量. 3). 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用.那就是,这个函数被限制在声明它的模块的本地范围内使用. 大多

HTML/CS3相关面试题目

一.HTML/CS3基本面试题目. 1. 常用那几种浏览器测试? 1.1浏览器:IE,Chrome(谷歌),FireFox(火狐),Safari(苹果计算机的最新操作系统Mac OS X中的浏览器,使用了KDE的KHTML作为浏览器的运算核心). 2. 说下行内元素和块级元素的区别?行内块元素的兼容性使用? 行内元素:会在水平方向排列,不能包含块级元素,设置width无效,height无效(可以设置line-height),margin上下无效,padding上下无效.如:img.span.in

Android面试题目整理与讲解(二)

1.Dalvik和标准Java虚拟机之间的主要差别? Dalvik和标准Java虚拟机(JVM)之间的首要差别之一,就是Dalvik基于寄存器,而JVM基于栈. Dalvik和Java之间的另外一大区别就是运行环境--Dalvik经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个 Dalvik应用作为一个独立的Linux进程执行. (1)虚拟机很小,使用的空间也小: (2)Dalvik没有JIT编译器: (3)常量池已被修改为只使用32位的索引,以简化解释器: (4)它使用自己的字