该问题容易过拟合等
使用决策树进行组合,onehot编码。
CBOW的目标是根据上下文出现的词语来预测当前词的生成概率。
结构:
知识点:准确率(Accuracy),精确率(Precision),召回率(Recall),均方根误差
当不同类别的样本比例非常不均衡时,占比大的类别往往成为影响准
确率的最主要因素。存在模型过拟合或欠拟合、测试集和训练集划分不合理、线下评估与线上测试的样本分布存在差异等一系列问题。
精确率是指分类正确的正样本个数占分类器判定为正样本的样本个数的比例。召回率是指分类正确的正样本个数占真正的正样本个数的比例。
RMSE经常被用来衡量回归模型的好坏,如果存在个别偏离程度非常大的离群点(Outlier)时,即使离群点数量非常少,也会让RMSE指标变得很差。
方法:
ROC曲线则有很多优点,经常作为评估二值分类器最重要的指标之一。
AUC指的是ROC曲线下的面积大小,该值能够量化地反映基于ROC曲线衡量出的模型性能。AUC越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。
同样被经常用来评估分类和排序模型的P-R曲线。相比P-R曲线,ROC曲线有一个特点,当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。
如何评估样本距离也是定义优化目标和训练方法的基础
其取值范围是[−1,1]。当一对文本相似度的长度差距很大、但内容相近时,如果使用词频或词向量作为特征,它们在特征空间中的的欧氏距离通常很大;而如果使用余弦相似度的话,它们之间的夹角可能很小,因而相似度高。在文本、图像、视频等领域,研究的对象的特征维度往往很高,余弦相似度在高维情况下依然保持“相同时为1,正交时为0,相反时为−1”的性质,而欧氏距离的数值则受维度的影响,范围不固定,并且含义也比较模糊。
欧氏距离体现数值上的绝对差异,而余弦距离体现方向上的相对差异。
余弦距离满足正定性和对称性,但是不满足三角不等式,因此它并不是严格
定义的距离。
在机器学习领域中,A/B 测试是验证模型最终效果的主要手段。
进行A/B测试的主要手段是进行用户分桶,即将用户分成实验组和对照组,对
实验组的用户施以新模型,对对照组的用户施以旧模型。在分桶的过程中,要注意样本的独立性和采样方式的无偏性,确保同一个用户每次只能分到同一个桶中,在分桶过程中所选取的user_id需要是一个随机数,这样才能保证桶中的样本是无偏的。
在机器学习中,我们通常把样本分为训练集和测试集,训练集用于训练模
型,测试集用于评估模型。
答: 当样本数很大时,大约有36.8%的样本从未被选择过,可作为验证集
为了进行超参数调优,我们一般会采用网格搜索、随机搜索、贝叶斯优化等
算法。
过拟合是指模型对于训练数据拟合呈过当的情况,反映到评估指标上,就是
模型在训练集上的表现很好,但在测试集和新数据上的表现较差。欠拟合指的是模型在训练和预测时表现都不好的情况。
防止过拟合”的方法:
防止“欠拟合”的方法:
支持向量机的原理是什么?
在空间上线性可分的两类点,分别向SVM分类的超平面上做投影,这些点在超平面上的投影仍然是线性可分的吗?
是否存在一组参数使SVM训练误差为0?
训练误差为0的SVM分类器一定存在吗?
工作原理是什么?
逻辑回归相比于线性回归,有何异同?
答:逻辑回归处理的是分类问题,线性回归处理的是回归问题,这是两者
的最本质的区别。逻辑回归中,因变量取值是一个二元分布,即给定自变量和超参数后,得到因变量的期望,并基于此期望来处理预测分类问题。而线性回归中实际上求解的是y=ax ,是对我们假设的真实关系的一个近似,其中 代表误差项.
当使用逻辑回归处理多标签的分类问题时,有哪些常见做法,分别应用于哪些场景,它们之间又有怎样的关系?
答:当存在样本可能属于多个标签的情况时,我们可以训练k个二分类的逻辑回归分类器。第i个分类器用以区分每个样本是否可以归为第i类,训练该分类器时,需要把标签重新整理为“第i类标签”与“非第i类标签”两类。通过这样的办法,我们就解决了每个样本可能拥有多个标签的情况。
决策树是一种自上而下,对样本数据进行树形分类的过程,由结点和有向边
组成。决策树的生成包含了特征选择、树的构造、树的剪枝三个过程。
决策树有哪些常用的启发函数?
如何对决策树进行剪枝?
决策树的剪枝通常有两种方法,目的是为了防止过拟合,预剪枝和后剪枝。那么这两种方法是如何进行的呢?它们又各有什么优缺点。
在机器学习领域中,我们对原始数据进行特征提取,有时会得到比较高维的
特征向量。在这些向量所处的高维空间中,包含很多的冗余和噪声。我们希望通过降维的方式来寻找数据内部的特性,从而提升特征表达能力,降低训练复杂度.
如何定义主成分?从这种定义出发,如何设计目标函数使得降维达到提取主成分的目的?针对这个目标函数,如何对PCA问题进行求解?
PCA旨在找到数据中的主成分,并利用这些主成分表征原始数据,从而达到
降维的目的。
PCA的求解方法:
线性判别分析(LDA)是一种有监督学习算法,同时经常被用来对数据进行降维。
相比于PCA,LDA可以作为一种有监督的降维算法。在PCA中,算法没有考
虑数据的标签(类别),只是把原数据映射到一些方差比较大的方向上而已。
对于具有类别标签的数据,应当如何设计目标函数使得降维的过程中不损失类别信息?在这种目标下,应当如何进行求解?
LDA首先是为了分类服务的,因此只要找到一个投影方向ω,使得投影后的样本尽可能按照原始类别分开。LDA相比PCA更善于对有类别信息的数据进行降维处理,但它对数据的分布做了一些很强的假设。
给机器输入大量的特征数据,并期望机器通过学习找到数据中存在的某种共性特征或者结构,亦或是数据之间存在的某种关联。例如,视频网站根据用户的观看行为对用户进行分组从而建立不同的推荐策略,或是寻找视频播放是否流畅与用户是否退订之间的关系等。这类问题被称作“非监督学习”问题,它并不是像监督学习那样希望预测某种输出结果。
非监督学习主要包含两大类学习方法:数据聚类和特征变量关联。其中,聚类算法往往是通过多次迭代来找到数据的最优分割,而特征变量关联则是利用各种相关性分析方法来找到变量之间的关系
简述K均值算法的具体步骤?
K均值聚类的核心目标是将给定的数据集划分成K个簇,并给出每个数据对应
的簇中心点。算法的具体步骤描述如下:
K均值算法的优缺点是什么?如何对其进行调优?
K均值算法有一些缺点,例如受初值和离群点的影响每次的结果不稳定、结果
通常不是全局最优而是局部最优解、无法很好地解决数据簇分布差别比较大的情况(比如一类是另一类样本数量的100倍)、不太适用于离散分类等。但是瑕不掩瑜,K均值聚类的优点也是很明显和突出的,主要体现在:对于大数据集,K均值聚类算法相对是可伸缩和高效的,它的计算复杂度是O(NKt)接近于线性,其中N是数据对象的数目,K是聚类的簇数,t是迭代的轮数。尽管算法经常以局部最优结束,但一般情况下达到的局部最优已经可以满足聚类的需求。
K均值算法的调优:
针对K均值算法的缺点,有哪些改进的模型?
K均值算法的主要缺点如下:
改进的算法有:
自组织映射神经网络与K均值算法的区别如下:
具体可能会根据你的项目经历来。
项目经理或者PD把项目需求文档提前下发给相关的研发人员,研发人员抽出一定的时间记录文档内需求不明确或者遗漏的点为后面的评审做准备;在需求评审会议上,各研发人员提出自己的疑问并解决,需求评审最终通过之后会出一份最终的需求规格说明书;(需求评审阶段)
需求规格说明书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,计划评审通过后开发人员开始进行程序的开发,测试人员开始测试用例的编写,等程序的第一个版本出来后,开发人员进行第二个版本的迭代,这时测试人员对程序进行测试并记录追踪管理缺陷,直到程序迭代完毕。(产品研发阶段)
程序迭代完毕并修复大部分缺陷后,测试人员开始进行工作的总结,并最终输出一份测试报告书,记录此次的测试工作共,程序存在的相关问题。(产品发布阶段)
查看文件(cat、tail、more、grep),查看进程(ps),查看内存(top、free)、cpu(top)以及杀掉进程(kill),自动部署crontab 命令,find等。
自我介绍
STAR法则:情境(situation)、任务(task)、行动(action)、结果(result);
Selenium
unittest
id、name、class_name、tag_name、link_text、partial_link_text、xpath、css_selector。id是唯一的。
Python中,主要通过引用计数(Reference Counting)进行垃圾回收。在Python中每一个对象的核心就是一个结构体PyObject,它的内部有一个引用计数器(ob_refcnt)。程序在运行的过程中会实时的更新ob_refcnt的值,来反映引用当前对象的名称数量。当某对象的引用计数值为0,那么它的内存就会被立即释放掉。
抓包工具的使用,比如fiddler
第一种是面试官对你满意,自己也感觉不错的情况下,先表示感谢,然后积极主动的问题,比如,非常感谢您给的这次机会,但是我还是想问,如果我有下一轮面试,我想知道知道是什么时候,我应该再做哪些方面的准备。
第二种情况是面试官和自己感觉都一般般,感觉自己是鸡肋,这个时候说不说很重要,基本的套路是,非常感谢面试官给的这个机会,坦白地说我对自己今天的面试表现不是非常满意,还可以表现得更好,但是如果我还是非常想得到这个机会,您能否给我一些建议。
第三种情况是面试情况非常糟糕,这种情况下,很少有人能说出感谢,但这恰恰体现一个人的风度。
熟悉产品/项目,需求评审,测试需求,测试计划,测试方案,测试用例,预测试,第一轮正式测试、第二轮回归测试、第三轮测试,测试报告,测试总结,测试指南。
做了什么事?用了什么方法?遇到什么困难?怎么解决的?
SQL的优化从4个方面入手:1.尽量避免返回不必要的数据;2.SQL语句的优化;3.SQL结构的优化;4.读写分离、分库分表。
具体的优化动作包括: 1.尽量使用select 具体字段代替select *; 2.如果知道查询结果只有一条记录或者查询最大值、最小值,建议使用limit 1限定返回结果; 3.尽量不要在where字句中使用or来连接条件; 4.尽量不要在where字句中对null值尽量判断; 5.尽量不要对索引列使用not in、<>、!=; 6.不要对索引列使用数据库内置函数; 7.不要对索引列进行运算; 8.不要有超过5个及以上的join操作; 9.索引不宜过多,一般不超过5个; 10.查询语句中使用where条件限定返回的结果,避免返回冗余数据; 11. 多表连接建议使用表别名,并将别名前缀于每个列上; 12.group by之前先过滤掉不需要的数据; 13.字段尽量使用数值类型,如果字段值只有数值,就不要使用字符串类型; 14.使用explain分析SQL语句; 15.避免隐式转换,where条件中字符串字段一定要使用引号括起来等。
xgboost就是一堆CART树的集合,将每棵树的预测值加在一起得到最后的预测值。xgboost利用了损失函数二阶的导数信息,并且在目标函数之外加入了正则项,避免过拟合。
思想: 通过线性变化将特征组合到各个正交的坐标轴,并根据信息量(方差)进行排序,选取信息量最大的前几个线性组合变量作为新特征 作用: PCA主要用于降维与评价(有些文章说不可以用与评价)与指标权重
步骤: 1,计算协方差矩阵 2,计算协方差矩阵的特征值(方差)与特征向量(线性组合变量的数据) 3,根据特征值进行排序,选取前K个(通过累积贡献率或碎石图确定) 4,完成降维
网格搜索是一款超级模型参数优化,用于优化三个集技术探索的超常参数。然后,得到这些超参数笛卡尔乘以作为最好的一组超参数。网格搜索使用每个超参数模型,挑选集精度超强的超参数参数
随着网络深度增加,会出现一种退化问题,也就是当网络变得越来越深的时候,训练的准确率会趋于平缓,但是训练误差会变大,这明显不是过拟合造成的,因为过拟合是指网络的训练误差会不断变小,但是测试误差会变大。为了解决这种退化现象,ResNet被提出。
主要区别是:内连接仅选出两张表中互相匹配的记录,即满足后面where条件的记录。 而外连接会选出其它不匹配的记录,即即使不满足后面的条件也可以显示出记录。