算法葫芦书(笔试面试)

news2024/9/27 9:07:10

一、特征工程

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.多层感知机(MLP)

输入层,隐藏层,输出层

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

2.激活函数

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

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

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

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

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

3.反向传播算法

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

prd文档编写(to b)

如何编写产品需求文档(PRD) | 人人都是产品经理 (woshipm.com) 一.prd文档编写得目的 PRD文档最为重要的目的就是:协调各个相关角色 PRD就是提高效率的,把各个角色的共识全部写出来,大家都已PRD为最终的工作指导文档…

2:数据结构:列表与元组

目录 2.1 列表的创建与操作 2.1.1 列表的创建 2.1.2 列表的常用操作 2.1.3 列表切片操作 2.2 元组的特点与用法 2.2.1 元组的创建 2.2.2 元组与列表的区别 2.2.3 元组的常用操作 2.3 示例代码与练习 2.3.1 示例代码:列表与元组的基本操作 2.3.2 练习题 文…

ICM20948 DMP代码详解(46)

接前一篇文章:ICM20948 DMP代码详解(45) 上一回讲到了inv_icm20948_setup_compass_akm函数中的以下代码片段: /* Set compass in power down through I2C SLV for compass */result inv_icm20948_execute_write_secondary(s, COM…

网口为什么叫RJ45接口,名字的由来?

大家有没有注意到很多地方“网口”都被称作“RJ45”接口。但是,您是否曾经好奇过,这个小小的插孔为何被称为“RJ-45”?这个名字背后又有着怎样的故事呢? RJ-45的全称与定义 首先,我们需要了解“RJ-45”的全称是“Regi…

jetlinks物联网平台学习3:mqtt协议及物模型

mqtt协议及物模型 1、创建产品2、配备设备接入方式3、上传消息协议4、填写网关信息5、配置mqtt认证信息6、配置物模型7、创建设备8、使用MQTT X模拟设备接入9、mqttx实现设备->平台 平台->设备 消息发送9.1、属性上报9.2、获取最新属性值(读取属性&#xff09…

EEPROM手册笔记

目录 一、特征描述二、功能描述三、总线特性四、设备寻址五、写入操作1.字节写入2.页写入 六、读取操作1.当前地址读取2.随机读取3.顺序读取 一、特征描述 1.Microchip Technology Inc. 24AA04/24LC04B (24XX04*) 是一款 4 Kbit 电气可擦除 PROM。该器件…

ChatDev:基于对话的多智能体协同软件开发框架

相关代码资源见文末 论文地址:ChatDev: Communicative Agents for Software Development - ACL Anthologyhttps://aclanthology.org/2024.acl-long.810/ 1. 概述 1.1. 当前的挑战 软件开发是一个复杂且多层次的过程,要求具备不同技能的团队成员之间密切合作。例如,架构师…

老人跌倒扶不扶?涪城三职工给出响亮答案

一、关键时刻的选择 于绵阳市三江湖湿地公园,平凡午后,三名环卫人员刘后刚、严荣礼及杨树坤正紧张作业。突闻呼救声,一位老人在石阶上跌倒需援手。在紧急关头,他们果断抛却工具,疾速赶至老人身边。此举不仅展现了他们…

了解网络的相关信息

文章目录 前言了解网络的相关信息1. ip是什么?1.1. 公网IP:1.2. 私有IP:1.2.1. 示例 2. 子网掩码3. 子网掩码的划分网段是什么4. 特殊的回路IP网段(127.0.0.1)5. 端口 前言 如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊&#x…

学习C++的第七天!

1.虚函数是在基类中用 virtual 关键字声明的函数,可以在派生类中被重写。纯虚函数是在虚函数的基础上,在基类中被初始化为 0 的函数,含有纯虚函数的类是抽象类,不能被实例化。 2.如果基类的析构函数不是虚函数,当通过…

(done TODO:从频谱到时域要考虑负频波和余弦波?) 傅里叶变换知识补充

参考:https://www.bilibili.com/video/BV1rC4y1E7FD/?vd_source7a1a0bc74158c6993c7355c5490fc600 sinx 和 sin2x sin3x 等整数倍频率的正弦波都是正交的 cosx 和 cos2x cos3x 等整数倍频率的余弦波都是正交的 这成为三角函数系的正交性 up主从分解出来的波恢复成…

buuctf [ACTF2020 新生赛]Include

学习笔记。 开启靶机。 进入靶场: 我们跟进 tips瞅瞅: 额,纯小白,能想到的就是先F12看看,在CTRLu、以及抓包。 得,不会了,看wp呗,不会死磕没脑子0,0? 参考:…

解决 Adobe 盗版弹窗

在这个文件夹下删除 Adobe CCXProcess 然后重装。 Adobe Premiere Pro 2024 (v24.6.1) Multilingual :: Варез от m0nkrusa [Warez by m0nkrus] (monkrus.ws) Adobe Photoshop 2024 (v25.12) Multilingual :: Варез от m0nkrusa [Warez by m0nkrus] (monkrus.…

FastAPI 第五课 -- 基本路由

目录 一. 前言 二. 根路径路由 三. 路径参数 四. 启动应用和测试路由 一. 前言 在 FastAPI 中,基本路由是定义 API 端点的关键。每个路由都映射到应用程序中的一个函数,用于处理特定的 HTTP 请求,并返回相应的响应。 二. 根路径路由 创…

矩阵求逆的几种方法

1. 定义 对于矩阵的运算中定义了加减法、乘法(包含数乘)但未定义矩阵除法,可以简单认为矩阵的逆即为矩阵除法。矩阵求逆是线性代数中的一个重要概念,在很多应用领域都有广泛的应用。对于一个给定的方阵 ( A ),如果存在…

全志A133开发板安卓系统调试串口复用成普通串口方法-触觉智能EVB1309

本文介绍了在开发板/主板串口接口不够的情况下,可将调试串口改为普通串口使用,下面为大家分享修改方法。基于触觉智能EVB1309开发板演示,搭载全志A133芯片,具有高性能超低功耗优势,待机功耗低至15mW。 1、内核配置 源…

FortiGate 无线组网

无线管理与配置 FortiAP 连接 internal 接口之后自动获得 ip 地址:192.168.1.xxx/24在 FortiGate 中创建 SSIDFortiGate 自动发现 FortiAP,将 FortiAP 添加到 FortiGate将 SSID 和 FortiAP 关联创建防火墙策略 下面我们就来一起看看在 FortiGate 中该如…

【HTTP 和 HTTPS详解】3

HTTP 状态代码 HTTP 状态代码是服务器发送给客户端的三位数字,用于指示客户端请求的结果。它们分为五类:信息性(100-199)、成功(200-299)、重定向(300-399)、客户端错误&#xff08…

【java笔记】 5 接口使用举例

// 导入Swing库中的消息对话框组件 import javax.swing.*; // 定义一个Circle类,该类实现了ShapeInterface接口 public class Circle implements ShapeInterface { // 定义一个私有变量radius来保存圆的半径 private double radius; // 默认构造函数,初…

第十一章 Java多线程--阻塞队列--PriorityBlockingQueue

目录 一、PriorityBlockingQueue基础概念 主要特点 常用方法 使用示例 二、PriorityBlockingQueue深入了解 1 PriorityBlockingQueue介绍 2 二叉堆结构介绍 3 PriorityBlockingQueue核心属性 4 PriorityBlockingQueue的写入操作 4.1 offer基本流程 4.2 offer扩容操作…