算法葫芦书(笔试面试)

一、特征工程

1.特征归一化:所有特征统一到一个区间内

线性函数归一化(0到1区间)、零均值归一化(均值0,标准差1)

2.类比型特征->数值性特征

序号编码、独热编码、二进制编码(010,110)

3.高维数组组合特征处理:为了提高拟合能力

降维:用k维向量表示,再运算

4.组合特征:找到哪些特征应该组合,决策树

5.文本数据表示:词袋模型(只记录出现频率、TF-IDF、n-gram)、主题词、词嵌入

6.Word2Vec(两种网络结构:CBOW-上下文预测当前、skip-gram当前预测上下文)、LDA(隐狄利克雷-主题变概率分布)

7.图像数据不足处理方法:随机旋转、平移、缩放等、添加噪声、颜色变化、改变清晰度

二、模型评估

1.混淆矩阵:T对不对、P是不是

1.分类问题:准确率(TP/总样本)、精确率(查准率-TP/TP+FP)、召回率(查全率TP/TP+FN)、F1、PR曲线(精确率和召回率-两难全,平衡点即F1)、ROC(越陡越好-遍历所有阈值如>0.9,0.8来绘制-FP率和TP率)、AUC(曲线下的面积-越高越好)

2.回归问题:MAE(L1损失函数,绝对值)、MSE(L2损失函数,平方,对异常更敏感,但丢失部分正常)

3.余弦相似度(方向上的一致性)、欧氏距离(具体数值的一致性)

4.过拟合(更多数据、降低模型复杂度、正则化约束-对模型参数进行约束L1L2、drop)和欠拟合(添加新特征、加模型参数、多训练轮数)

三、经典算法

1.支持向量机:一种二类分类模型,在特征空间中寻找间隔最大的分离超平面,泛化性更好。

感知机是找到一个平面使误差点最小。

核函数:当样本在原始空间线性不可分时,可将样本从原始空间映射到一个更高维的特征空间,使得样本在这个特征空间内线性可分

对偶问题:最小化一个包含正则化项的损失函数--->为一个无约束的求最大值的凸二次优化。

k分类:1-训k个,取最高。2-训Ck2个。

2.逻辑回归(输出概率值、预测二分类是否患病)、线性回归(输出实数值、预测房价、温度等)

3.决策树:ID3、C4.5、CART等算信息增益和选择

四、降维

1.PCA(主成分分析、无监督):投影新坐标系、最大程度保留方差。根据特征值大小选前k个

2.LDA(线性判别分析、有监督):投到一条直线上,同类的尽可能近。最大化类间最小化类内。

五、无监督学习

1.k均值。调优:数据归一化和离群点处理,合理选择k值(手肘法),欧氏距离变核函数

kmeans++:越远的点越可能成为下一个聚类中心

自底向上层次聚类:指每次找质心之间距离最小的类。最后是多个{}

2.高斯混合模型:比kemans可以给出样本属于类的概率,一个复杂的事务分为几个高斯函数模型,均值、方差和权重来合成总的

3.自组织映射神经网络,二维网格,将输入数据样本聚类到不同的网格单元。

和kmeans区别:不用定义k值,k只更新本类,网格更新相邻的

4.聚类算法评估:聚类的数量、紧凑情况等、模型复杂度

六、概率图模型

1.贝叶斯公式

P(A|B)=P(AB)|P(B)

先验概率:直接的概率。后验概率:观察到某些数据后更新

2.生成式模型(如何生成)和判别式模型(如何区分)

生成式:朴素贝叶斯、贝叶斯网络、pLSA、LDA、隐马尔可夫

判别式:最大熵模型、条件随机场(CRF)

3.模型详解:

朴素贝叶斯(特征独立):先验概率、后验概率来预测

贝叶斯网络(有向无环图):推断算法查询

pLSA(概率潜在语义分析):主题词和文档概率分布、EM算法迭代(E期望,M最大似然函数。计算在当前参数下隐变量的期望值,最大化参数的似然函数)

LDA(每个文档多个主题词):pLSA扩展

隐马尔可夫(观测序列来推测):隐层状态转移,寻找最可能的状态序列

最大熵模型(最大化熵来避免过拟合):通过梯度上升法

条件随机场(CRF-直接建模条件概率预测)

七、优化算法

1.损失函数

适用回归:适用输出连续,最后一层无sigmoid

均方误差:对大误差敏感

绝对误差:更加稳健

适用分类:

交叉熵损失:计算预测概率分布与实际标签分布之间的差异,对错误分类的惩罚较大

对数似然损失:常用于概率模型

KL散度:衡量两个概率分布之间的差异

2.梯度下降

通过计算损失函数相对于参数的梯度,调整参数使损失函数最小

随机梯度下降:每次只使用一个样本来计算梯度

mini-batch梯度下降:每次使用小批量样本计算梯度

动量方法:纸球下落和铁球下落不一样

自适应调整(Adam):结合动量和加权平均更新学习率

八、采样

1.MCMC(马尔可夫链蒙特卡洛采样法)

通过构建一个马尔科夫链来逼近目标概率分布(p(x)),并从中生成样本。

马尔科夫链-蒙特卡洛抽样-接收拒绝采样(Metropolis-Hastings-根据正态分布生成一个新的候选状态,并计算接受概率是否大于某个数进而是否接收)

马尔科夫链是一个随机过程,其中每个状态仅依赖于前一个状态,即具有无记忆性。

九、前向神经网络

1.多层感知机(MLP)

输入层,隐藏层,输出层

每个神经元接收前一层的输出,进行加权和和激活函数运算

2.激活函数

常用:sigmoid(0,1)、Tanh-sigmoid的平移,减轻偏向,在两头会梯度消失(-1,1)、ReLu(在正区间内输出等于输入,负区间内输出为零,神经元可能死亡)、Leaky ReLU(负区间有较小输出,防止死亡)、softmax-通过对原始分数进行指数化和归一化处理,确保所有类别的概率之和为1

1-引入非线性变换,否则退化成简单线性模型

2-缓解梯度消失,如ReLu在正区间上导数为常数1

3-正规化输出信号,将神经元的输出信号映射到特定的范围内,如sigmoid(0,1)

4-激活神经元,通过比较神经元的输入和阈值,来确定要激活哪个神经元

3.梯度消失和梯度爆炸

1-梯度消失解决

使用合适的激活函数ReLu等

批归一化,对每一层输入进行归一化处理,使分布稳定

残差连接:直接跳过连接,梯度能更快反向传播

学习率调整

2-梯度爆炸解决

梯度裁剪:梯度的模大到一定阈值时,裁剪到较小范围

权重衰减:L1或L2范数的正则化项来限制参数的取值范围

使用自适应学习率调整能力的优化器

4.CNN(深度卷积神经网络)

稀疏交互(卷积核尺度远小于输入维度,优化时间复杂度和过拟合,只提取重要特征)和参数共享(同模型不同模块卷积核参数相同,只需要学习一组参数,降低存储需求)

池化:均值池化mean pooling、最大池化max pooling等,区域内选最大的,降低参数量

cnn用于文本分类:类似于一个滑动窗口来卷积

5.RNN(循环神经网络)

循环结构,不是前馈,能够捕捉序列信息。参数共享(隐藏层在不同时间步的参数是相同的)

有梯度消失和梯度爆炸,LSTM和GRU通过加入门控机制可以解决

6.LSTM(一种特殊的RNN)

输入门、输出门、遗忘门和记忆细胞(是LSTM的核心,用于保存长期记忆)组成

门控机制选择性记忆和遗忘,具有处理长序列数据的能力,并能够有效记住长期依赖关系

7.Seq2Seq

解决问题:传统方法编码时基于规则,泛化性很差。于是出现seq2seq

向量长度知道时补零,不知道时可以用这个

历史信息-->大纲-->考试时作答

从一个输入序列到另一个输出序列的映射任务。编码器和解码器,两个RNN

改进:

注意力机制:允许解码器在生成每个输出元素时动态地关注输入序列的不同位置,并根据这些位置的重要性分配权重。

Transformer模型:放弃了循环结构,实现了并行化训练和更高效的序列建模。

Copy机制:用于解决生成文本时的OOV(Out-of-Vocabulary)问题。Copy机制允许模型在生成单词时从原文本中直接拷贝单词而非仅从预定义的词汇表中生成单词。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Squaretest单元测试辅助工具使用

1、idea安装插件 Squaretest 然后关掉idea 2、安装字节码软件(jclasslib) 3、找到idea里面的Squaretest安装目录 找到包含TestStarter的jar包 4、打开 com.squaretest.c.f 打开后选择常量池 5、找到第16个修改 Long value值,修改的数字即为使…

C语言系列4——指针与数组(1)

我们开始C语言的指针与数组 这部分开始进阶了,得反复学习 在开始正题之前,写说一下我们都知道当写一个函数的时候需要进行传参,当实参传递给形参的时候,形参是有独立空间的,那么数组传参又是怎么样的呢,我…

基于Spring Boot+Vue的减肥健康管理系统设计和实现【原创】(BMI算法,协同过滤算法、图形化分析)

🎈系统亮点:图形化分析、BMI算法,协同过滤算法; 一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端&#xff1a…

TI DSP TMS320F280025 Note17:CMPSS原理与使用

TMS320F280025 模数转换器(ADC) ` 文章目录 TMS320F280025 模数转换器(ADC)CMPSS框图比较器参考斜坡发生器滤波器比较器应用CMPSSDriver.cCMPSSDriver.hEPWM与CMPSS配合使用信号流程EPWMDriver.cEPWMDriver.hCMPSS框图 所谓比较器,正端输入大于负端输入时,输出高;正端输入小…

启动 Ntopng 服务前需先启动 redis 服务及 Ntopng 常用参数介绍

启动Ntopng服务之前需要先启动redis服务,因为Ntopng服务依赖于redis服务的键值存储。 服务重启 服务启动 Ntopng常用参数: -d 将 Ntopng 进程放入后台执行。默认情况下,Ntop 在前台运行。 -u 指定启动Ntopng执行的用户,默认为…

基于Hadoop的NBA球员大数据分析及可视化系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏:Java精选实战项目…

Mysql 删除表的所有数据

在 MySQL 中,如果你想要删除一个表中的所有数据,可以使用 TRUNCATE TABLE 命令或者 DELETE 语句。下面是两种方法的对比以及如何使用它们: 使用 TRUNCATE TABLE TRUNCATE TABLE 是一个非常快速的方法来删除表中的所有记录,并且它…

MFU简介

1、缩写 MFU - Mask Field Utilization(光刻掩膜版有效利用比例) GDPW - Gross Die Per Wafer,每张wafer上die的数量 2、什么是MASK 在光刻机中,光源(紫外光、极紫外光)透过mask曝光在晶圆上形成图…

汽车总线之---- LIN总线

Introduction LIN总线的简介,对于传统的这种点对点的连接方式,我们可以看到ECU相关的传感器和执行器是直接连接到ECU的,当传感器和执行器的数量较少时,这样的连接方式是能满足要求的,但是随着汽车电控功能数量的不断增…

Ubuntu开机进入紧急模式处理

文章目录 Ubuntu开机进入紧急模式处理一、问题描述二、解决办法参考 Ubuntu开机进入紧急模式处理 一、问题描述 Ubuntu开机不能够正常启动,自动进入紧急模式(You are in emergency mode)。具体如下所示: 二、解决办法 按CtrlD进…

Ks渲染做汽车动画吗?汽车本地渲染与云渲染成本分析

Keyshot是一款强大的实时光线追踪和全域光渲染软件,它确实可以用于制作汽车动画,包括汽车模型的渲染和动画展示。Keyshot的动画功能允许用户创建相机移动、物体变化等动态效果,非常适合用于汽车动画的制作。 至于汽车动画的渲染成本&#xff…

golang小项目1-家庭收支记账系统

项目地址:golang小项目 参考资料:尚硅谷golang教程P229 家庭收支记账系统 1. 系统简介 1.1 项目背景 在现代社会中,家庭的财务管理显得尤为重要。随着生活成本的不断上升,家庭需要有效地记录和分析收支情况,以确保…

【C++打怪之路Lv4】-- 类和对象(中)

🌈 个人主页:白子寰 🔥 分类专栏:C打怪之路,python从入门到精通,数据结构,C语言,C语言题集👈 希望得到您的订阅和支持~ 💡 坚持创作博文(平均质量分82)&#…

权威人工智能行业认证证书——计算机视觉工程师(中级)

随着人工智能技术的快速发展,越来越多的人开始关注并学习人工智能。然而,由于人工智能领域知识的复杂性和多样性,许多人往往会感到困惑,不知道该从何入手。这时,一份权威的人工智能行业证书可以帮助学习者更好地了解人…

利用Puppeteer-Har记录与分析网页抓取中的性能数据

引言 在现代网页抓取中,性能数据的记录与分析是优化抓取效率和质量的重要环节。本文将介绍如何利用Puppeteer-Har工具记录与分析网页抓取中的性能数据,并通过实例展示如何实现这一过程。 Puppeteer-Har简介 Puppeteer是一个Node.js库,提供…

AI大模型技术已是中小企业数字化转型的战略资源

中小企业数字化转型面临资金、技术、数据隐私和安全等多重挑战,大模型技术的崛起为其提供了新的机遇。 大模型技术凭借庞大的参数和数据处理能力,推动行业创新,展现AI技术的巨大潜力。它提供成本效益高的AI服务,降低技术门槛&…

CMake教程(八):添加定制命令和生成的文件

本篇继续 CMake 官网教程的第八篇教程,所用材料是 Step8 目录下的源代码。 本篇教程主要讲解如何通过 CMake 生成一个头文件,该头文件当中包含了 1 到 10 的平方根表格,然后在程序的其它部分包含这个生成的头文件。 出于教学的目的&#xf…

OpenStack Yoga版安装笔记(十四)启动一个实例

1、官方文档 OpenStack Installation Guidehttps://docs.openstack.org/install-guide/ 本次安装是在Ubuntu 22.04上进行,基本按照OpenStack Installation Guide顺序执行,主要内容包括: 环境安装 (已完成)OpenStack…

三款专业的英文文献翻译工具,翻译论文不在话下

阅读英文论文文献时免不了要借用一些翻译软件来帮助理解,但因为论文文献的特殊性,普通的翻译软件不能很好的翻译一些专业名词和术语,所以这里给大家分享三款可以胜任文献翻译的专业翻译工具,可以快速准确的完成英文文献翻译工作。…

CSS选择器的全面解析与实战应用

CSS选择器的全面解析与实战应用 一、基本选择器1.1 通配符选择器(*)2.标签选择器(div)1.3 类名选择器(.class)4. id选择器(#id) 二、 属性选择器(attr)三、伪…