机器学习面试八股准备

Logistic regression  LR的完整内容

1. 为什么用sigmoid函数?

  • Sigmoid函数能够把原本的函数压缩在0~1之间,适合作为概率,进而可以分类
  • 写成指数族分布的形式后,有sigmoid函数的形式
  • logistic regression服从伯努利分布,根据伯努利分布的性质,再利用最大熵学习的过程,可以推导出sigmod函数。

2. 交叉熵

3. MLP和MAE 答案参考

  • MLP对应频率学派,认为存在唯一真值\theta, MAP对应贝叶斯学派,认为\theta有一定的概率分布
  • 最大后验等于最大似然后面加关于先验分布的(log)项
  • 在MAP中使用一个高斯分布的先验等价于在MLE中采用L2的regularizaton!
  • 交叉熵损失函数本质上是最大似然估计MLE,正则化等价于MLE+先验概率。所以,从贝叶斯的角度看,损失函数+正则化就是贝叶斯最大后验估计MAP。

 4. 反向传播

见ipad笔记

5. BN和LN 资料1  资料2

BN:为什么?因为Internal Covariate Shift;即在训练过程中,中间层数据分布发生改变的情况。非线性变换前的激活输入值随着网络深度加深,分布逐渐发生偏移或者变动,逐渐往非线性函数的取值区间的上下限两端靠近,导致反向传播时低层神经网络的梯度消失,从而收敛速度慢。

灵感可能来源于对输入数据做白化,深层神经网络每个隐层神经元的激活值做简化版本的白化。把刚刚所说的输入分布强制拉回到均值为0方差为1的比较标准的正态分布。

怎么做?标准化+scale and shift.在正态分布限制下,网络的表达能力下降,所以加入一定的反操作。

好处:①提升收敛速度,加快训练过程。②使模型具有正则化效果,采用BN算法后可以选择更小的L2正则约束参数,因为BN本身具有提高网络泛化能力的特性。③使得梯度变平缓,从而可以使用大的学习率。④增强优化器,例如sigmoid函数,在没有使用BN之前它的迭代是震荡的,不稳定的,在使用了BN之后有了非常明显的提升。

LN:LN是根据一个样本的特征数进行归一化;BN是根据不同样本的同一特征归一化,其余都很类似 参考1

1、BN是在batch size样本上各个维度做标准化的,所以size越大肯定越能得出合理的μ和σ来做标准化,因此BN比较依赖size的大小。
2、在训练的时候,是分批量进行填入模型的,但是在预测的时候,如果只有一个样本或者很少量的样本来做inference,这个时候用BN显然偏差很大,例如在线学习场景。
3、RNN是一个动态的网络,也就是size是变化的,可大可小,造成多样本维度都没法对齐,所以不适合用BN。

LN带来的优势:

1、Layer Normalization是每个样本内部做标准化,跟size没关系,不受其影响。
2、RNN中LN也不受影响,内部自己做标准化,所以LN的应用面更广。

BN放在激活前后?

一般是卷积-BN-Relu. Sigmoid:如果先BN再Sigmoid,由于BN后方差接近于1,均值接近于0,使得BN后的数据接近于Sigmoid的线性区域,降低了激活函数的非线性能力,这种情况下建议Sigmoid+BN。 Relu:如果先Relu再BN,Relu后部分神经元已经失活,失活的神经元将对BN的归一化产生影响,这种情况下建议BN+Relu。

6. 正则化

如何选择L1和L2

如果特征是高维稀疏的,则使用L1正则;如果特征是低维稠密的,则使用L2正则

从解空间的形状来看,L1范数是以原点为中心的菱形,而L2范数是以原点为中心的目标函数的解,是原目标函数和正则化项的切点。对于L1范数而言,随着正则化项的权重逐渐增大,它与原目标函数的交点会不断接近坐标轴,最终落在坐标轴上,这时候就会有权重w为0的情况;而对于L2范数而言,无论正则化项的权重如何改变,它和目标函数的交点也都会落在象限上。因此,L1正则化比L2正则化更容易得到稀疏解的原因。

应用场景:

L1使模型中尽可能多的参数值为0,因此适用于:模型剪枝,模型压缩,特征选择。是一种从改变模型结构的角度(减少模型参数的数量)解决过拟合的方式。

L2使模型中的所有参数值尽可能小,使得模型尽量不依赖于某几个特殊的特征,而是使每个特征都能得到尽量均衡的权重,因此适合解决普通的过拟合问题,即从参数分布(使分布尽可能的均匀)的角度解决过拟合问题。

L1和L2的区别:

  1. L1正则化对应L1范式(Lasso); L2正则化对应L2范式(岭回归)
  2. L1正则化得到稀疏矩阵,自动进行特征选择;L2正则化让参数尽可能小,防止过拟合;
  3. L1正则化趋于选择少量特征,其他特征都是0;L2正则化趋于选择更多的特征,这些特征都会接近与0
  4. L1对应拉普拉斯分布先验;L2对应于高斯分布先验。



降维

PCA:无监督,适用于普通的降维;找到线性平面,最大化投影方差;方法:①对样本数据进行中心化处理。②求样本协方差矩阵。③对样本协方差矩阵特征值分解;④取前几个最大特征值和对应的特征向量,然后特征向量乘以原来的数据,实现降维(即映射到低维空间)

通过核映射扩展到核PCA,从而非线性降维。

最大方差=最小平方误差

LDA:有监督,适用于分类;投影,最大化类间距离和最小化类内距离;也可以用核扩展

集成学习

1. Boosting与Bagging

Boosting:训练基分类器时采用串行的方式,对前一层基分类器分错的的样本,给予更高的权重;测试时,根据各层分类器的结果的加权得到最终结果。减小bias

Bagging:并行训练基分类器,例如随机森林:基于决策树基分类器的Bagging。减小variance(为什么?百面page315)

GBDT:根据当前模型损失函数的负梯度信息来训练新加入的弱分类器, 然后将训练好的弱分类器以累加的形式结合到现有模型中

EM算法

含隐变量的概率模型极大似然估计或极大后验概率估计的迭代算法。E-step:计算联合分布的条件概率期望。M-step:极大以上期望,得到参数新的估计值

过拟合

正则化,增加训练数据,数据增强,标签平滑,BatchNorm,early-stop,交叉验证,Dropout,pre-trained引入先验知识

数据增强:旋转、缩放、平移、裁剪、改变视角、遮挡某局部区域,添加噪声,条件生成对抗网络(Conditional GAN, CGAN)可以生成带标签的样本数据

标签平滑:目标变量通常是一个one-hot向量,即当处于正确分类时结果为1,否则结果是0。标签平滑改变了目标向量的最小值,使它为ε。因此,当模型进行分类时,其结果不再仅是1或0,而是我们所要求的1-εε,标记平滑限制了正确类的logit值,并使得它更接近于其他类的logit值。

BN:使模型具有正则化效果,采用BN算法后可以选择更小的L2正则约束参数,因为BN本身具有提高网络泛化能力的特性。

Dropout以一定的概率随机地 “临时丟弃” 一部分神经元节点,Dropout作用于每份小批量训 练数据,由于其随机丢弃部分神经元的机制相当于每次迭代都在训练不同结构的神经网络。类比于 Bagging方法。

训练阶段:每个神经元节点需要增加一个概率系数

测试阶段:在前向传播的计算时,每个神经元的参数要预先乘以概率系数p。

损失函数 参考

0-1损失函数,绝对值,平方损失函数(MSE),指数损失函数,hinge损失函数,感知损失(perceptron loss)函数,交叉熵损失函数

交叉熵损失函数:本质上也是一种对数似然函数,可用于二分类和多分类任务中

当使用sigmoid作为激活函数的时候,常用交叉熵损失函数而不用均方误差损失函数,因为它可以完美解决平方损失函数权重更新过慢的问题,具有“误差大的时候,权重更新快;误差小的时候,权重更新慢”的良好性质。

而交叉熵中 

区别:交叉熵函数使用来描述模型预测值和真实值的差距大小,越大代表越不相近;似然函数的本质就是衡量在某个参数下,整体的估计和真实的情况一样的概率,越大代表越相近。

联系:交叉熵函数可以由最大似然函数在伯努利分布的条件下推导出来,或者说最小化交叉熵函数的本质就是对数似然函数的最大化

概率图模型

两类:贝叶斯网络(有向图)和马尔科夫网络(无向图),包括朴素贝叶斯模型、最大熵模型、隐马尔科夫模型、条件随机场、主题模型等。

ChatGPT演进史

GPT1-GPT2-GPT3-InstructorGPT-ChatGPT

初代GPT:

采用了12层的Transformer Decoder结构,用了大约5GB的无监督文本数据进行语言模型任务的训练;生成式的预训练,具体来说是无监督预训练+下游任务微调

GPT-2:

48层Transformer结构

GPT-3:

1750亿参数量;发现小样本(few-shot)学习的能力。后来的研究表明,这种能力是巨型模型所特有的,被业内叫做「在上下文中学习」(in context learning)的能力。GTP-3并不是采用对话的形式交互的模型,而是一个文本的续写模型(也就是在你输入的文字后面接着往下写)

CodeX,让计算机自己写代码

InstructGPT:解决胡说八道的问题。生成模型的输出内容是自然语言本身,而不是一个分类的标签或一个实体名词这种有明确的、客观对错的内容。没有明确的对错,就导致无法像训练经典的NLP模型那样直接针对目标设计训练任务。

两个阶段:第一阶段-有监督学习(Step 1)。第二阶段-强化学习。根据不同的Prompt生成多个不同的回答,并由人来给这些回答按照好与差的标准来排序。然后用这些标注了优劣之分的数据训练一个打分模型,让它可以自动给更多的数据进行排序打分。强化学习阶段的第二步(对应上图中右边的Step 3)就是利用这个打分模型作为强化学习中的环境反馈,以策略梯度(Policy Gradient,准确地说是PPO算法)的方式对已经「规训」过后的GPT模型进行训练。

GPT-3.5:ChatGPT的诞生的前奏

ChatGPT:

第 1 步:有监督微调(SFT)模型。模型会对用户提示生成出更一致的响应。

第 2 步:奖励模型。输入是一系列提示和响应,输出是一个标量值,叫做奖励(reward)

第 3 步:强化学习模型

(BERT:特征提取式预训练)

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习面试题pdf是一份包含机器学习相关问题的文档,通常用于准备机器学习职位的面试。这类面试题包括理论和实践两方面的内容。 在理论方面,机器学习面试题可能会涉及基本概念、模型选择与评估、特征工程、模型调参等方面的问题。例如,常见的问题包括机器学习的基本定义、监督学习与无监督学习的区别、过拟合与欠拟合问题的解决方法等等。这些问题考察了应聘者对于机器学习算法和模型的理解程度。 在实践方面,机器学习面试题可能会要求应聘者运用机器学习算法来解决实际问题。这种类型的问题可能涉及数据预处理、特征选择与提取、建模、模型评估等多个步骤。应聘者需要运用所学的机器学习知识,选择适当的算法和工具,处理和分析给定的数据,并给出合理的解决方案。 对于准备机器学习面试的应聘者来说,机器学习面试题pdf是一个宝贵的资源。应聘者可以通过研究和解答这些问题,巩固和扩展自己的机器学习知识,并了解常见的面试考点和答题思路。此外,应聘者还可以利用机器学习面试题pdf进行自我评估和练习,提高应对面试问题的能力。 总的来说,机器学习面试题pdf对于机器学习职位的应聘者来说是一份重要的学习和准备资料。通过认真研究和解答这些问题,应聘者可以提高自己的机器学习理论水平和实践能力,增加面试成功的机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值