机器学习面试八股准备

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:特征提取式预训练)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/11349.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ChatGpt对Android面试题总结

前言 在去年大浪潮中,成了失业人员之一,于是各种准备面试,发现面试题网上很多,但是都是很凌乱的,而且一个地方一点,没有一个系统的面试题库,有题库有的没有答案或者是答案很简洁,没有…

chatgpt赋能python:Python到底是免费的吗?

Python到底是免费的吗? Python是一种流行的编程语言,它有可靠性高,易于学习和使用的特点,受到了广泛的欢迎和支持。许多人对Python的使用的最基本问题之一是:“Python是免费的吗?” 在这篇文章中&#xff…

做外贸如何借助WhatsApp实现获客引流和高效转化

01 利用WhatsApp做外贸的五大优势 ①用户量大,全球用户25亿; ②使用手机号码注册使用,也就是说WA账号和手机号天然绑定,有利于外贸人获取和保留客户信息; ③WhatsApp是非常轻便的IM工具,功能和界面非常简…

Android判断世界各国手机号码合法性

之前公司项目只接收国内手机号码注册,所以只用正则表达式判断是否满足即可,后来香港同事、台湾同事想使用我们产品,发现根本没法注册,所以后台添加香港、台湾、澳门手机用户注册支持,所以APP也得添加这些地区手机号码合…

国外手机短信验证码接收神器(转自美国华人网FuninUSA)

【美国华人网综合报道】有时候,在某些平台上,我们可能需要注册一个临时账号。而注册过程中又需要输入手机号进行短信验证,但是我们又不想泄露隐私,所以这时候一些临时短信接收服务便派上了用场,主要是因为申请Email 电…

如何用LLMs来赚钱?基于ChatGPT的商业模式指南

# 背景知识 什么是 LLM ? Large Language Model 大规模语言模型,是利用海量文本数据训练出来能够理解自然语言并生成文本内容的深度学习模型。 大模型的经典代表 GPT-3有多大? GPT-3 有1750亿个参数,人脑的神经元数量估计在 1000 …

ChatGPT4高分通过数据库系统工程师(DBA)认证

ChatGPT 已经通过了美国MBA、法律和医学考试,ChatGPT 又通过了数据库系统工程师考试。这次考试使用了2021年的真实试卷,上午的笔试题全部为选择题,总分75分(45分通过)。 ChatGPT3.5 考了49分(勉强通过&…

ChatGPT通过中国数据库系统工程师(DBA)认证?

无论是关注技术的朋友,还是关注A股的朋友们,可能都知道现在ChatGPT流行的程度,可以说势如破竹,很多人都担心,一些重复性非体力劳动的岗位,就快被人工智能替代了。 我的理解是,这个可能性有&…

SQL Chat 更新 - 用户注册,早鸟套餐,GPT-4,新增支持数据库

用户注册和付费套餐 注册用户每月可以问 20 个问题。升级到专业版后,可以提 1000 个问题,目前早鸟尝鲜价 5 美金/月。 支持使用 GPT-4 支持 TiDB Serverless 🌻 来自 Icemap 支持选择指定的表作为上下文传给 OpenAI 并且还能展示每一个 Tab…

PostgreSQL 数据库跨版本升级常用方案

文章目录 升级方案概述通过逻辑备份与还原进行升级利用 pg_upgrade 工具进行升级使用逻辑复制功能进行升级总结 大家好,我是只谈技术不剪发的 Tony 老师。对于企业而言,将数据库系统升级到新版本通常可以获得更好的性能、更多的功能、最新的安全补丁和错…

从dblink谈起,我们在postgresql中跨库更新数据

dblink(Database Link)数据库链接顾名思义就是数据库的链接,就像电话线一样,是一个通道,当我们要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中就必须要创建远程数据库的dblink,通过dblink本地数据库可以…

postgresql 数据库小版本更新

postgresql 数据库小版本更新 记录一次pg小版本更新 文章目录 postgresql 数据库小版本更新前言一.下载最新的pg版本 pg11(11.18)二 pg11.5 升级 pg11.18过程1. 查看当前数据库版本:2. 关闭pg11.5数据库3. 安装pg11.184.修改 配置文件5. 重新…

15、ChatGPT 会让嵌入式工程师失业吗?

ChatGPT 会让嵌入式工程师失业吗? 如果说陈**不怕失业,那么,你觉得ChatGPT 会让嵌入式工程师失业吗? 我们先来看下ChatGPT给出的答案: ChatGPT 作为一款人工智能聊天机器人,不一定会让嵌入式工程师失业。事…

ChatGPT 会让嵌入式工程师失业吗?

关注、星标公众号,直达精彩内容 作者 | strongerHuang 微信公众号 | strongerHuang 最近两天关于“CETC中电科的事件”闹得沸沸扬扬,为什么这个事能闹得如此之大? 原因很简单,作为打工人(新生代农民工)&…

gmail邮箱怎么收不到邮件

今天发现gmail能发送邮件但是收不到邮件,通过google知道解决通过网页打开GMAIL后台的设置选项,找到"设置POP\IMAP",把转发功能重新开通一下。 我的是如下图 把POP的对所有邮件启用POP,保存更改,就能收到了。

系统分享|教你如何注册Z-library全球最大的数字图书馆,并获取个人独立域名!

目录 什么是Z-Library? 导言 Z-library 的起源与背景 独特的Z-library 特点 Z-Library能做什么? 最新网址 注册教程 1、创建账户 ​编辑2、邮箱创建 3、接受验证码 4、注册成功 5、搜索书籍下载 6、下载资料 7、设置选择 8、设置Z-access 9、你…

复旦团队发布国内首个模型MOSS 类ChatGPT

复旦团队发布国内首个模型MOSS 类ChatGPT 首先看到这个标题,还有这个名字,我是正经(zhen jing)的 (bu shi 流浪地球?550W?不了解的可以把550W倒过来写,就懂了 看到新闻里的一些图…

语言模型 ChatGPT MOSS 使用体验分享

今早起床听闻复旦大学自然语言处理实验室团队发布了国内首个类ChatGPT对话语言模型MOSS。在好奇心的驱使下,我向贵实验室的小伙伴要来内测邀请码试玩了一番,顺便把MOSS与ChatGPT的试玩结果进行了对比,以下是部分对话历史记录: 目录…

textarea输入框监听和输入字数限制以及样式设置

html <p class"describe">分类描述</p><div class"desc"><textarea class"wishContent" placeholder"请输入分类描述&#xff0c;最多255字。" maxlength"255" ></textarea><div class&…

Android开发之EditText限制输入中文以及字数长度限制的标准姿势

老套路先上效果图&#xff1a; 设置输入框的两个筛选器&#xff1a; etGiftName.setFilters(new InputFilter[]{new ZsInputFilter(5,this), new LengthListener(5,this)}); 我们来看下筛选器如何实现的&#xff1a; 先看中文筛选器 package com.yhsh.mobile.giftcomponent;…