【NLP】机器学习中的可能考点

1、推导线性回归的损失函数,最小二乘法
中心极限定理,每个样本误差独立同分布,似然函数

2、正则l1,l2的区别
限制模型参数,减小过拟合
lasso回归 l1 会产生稀疏矩阵(很多0值)
岭回归 l2
弹性网络 l1+l2

3、梯度下降法 计算速度 效果
随机梯度下降法 更新一次参数,只使用一个样本 快 差 可能会跳出局部极小值
小批量梯度下降法 更新一次参数,只使用一个批次(32,64)样本 中 中
批量梯度下降法 更新一次参数,使用所有样本 慢 优 陷入局部极小值
还需要理解的概率:轮次,批次
假设1000样本,批次等于100
那么一轮值1000个样本都训练完
一个批次更新一次参数,1轮更新1000/100=10次参数

4、有监督,无监督,分类回归的概念

5、分类算法模型评价
混淆矩阵
准确率
精准率
召回率
F1
ROC
AUC
包括二分类和多分类的计算

6、回归模型评价
mse
rmse
r2

6、了解哪些损失函数
交叉熵损失函数
mse

7、softmax模型参数的数量是多少
softmax做多分类,输出的是每个类别的概率,长度等于类别数,概率之和等于1
sigmoid做二分类 模型参数特征数 0.7
softmax也可以做二分类 模型参数 2特征数 预测结果[0.7,0.3]
类别数
特征数

8、数据处理有哪些?
数据标准化:0-1标准化 正太分布 消除量纲
假设数据是 m1 1,2,3,4,5
对特征m1做0-1标准化:
最小值是1,最大值是5
(1-1)/(5-1)=0,(2-1)/(5-1)=0.25,(3-1)/(5-1)=0.5,(4-1)/(5-1)=0.74,(5-1)/(5-1)=1
正太分布:平均值:3 标准差:sqrt(10)
(1-3)/sqrt(10),(2-3)/sqrt(10),(3-3)/sqrt(10),(4-3)/sqrt(10),(5-3)/sqrt(10)
哪些模型需要使用数据标注化:树结构模型不需要做数据标注化,一般使用梯度下降法求解的需要使用
空缺值检测,空缺值处理:直接去除、填充(平均值、中位数、线性插值)
非数值型数据处理:文本向量化(tfidf,onehot,word2vec,lstm,transformer),图片向量化(opencv,深度学习(cnn,transformer))
异常值检测:聚类方法、正太分布,分箱等
离散化:对连续的数值离散化
线性相关性分析:1、方差分析,如果特征方差很低,对y分类关系不大。可以去掉
2、相关系数 -1~1之间 为1完全相关 0不相关
特征选择(很依赖人工人工选择):pca,集成算法(gbdt,xgboost等)
x1 x2 x3 y
1 2 3
2 2 5
1 2 8
x1x3 x1+3x3 x1**2+x3

9、决策树算法原理
id3:信息增益划分 只能做分类
c4.5:信息增益率 只能做分类
cart:基尼系数 能做分类和回归(平方误差)
1)、循环特征和候选分裂点
2)、基于评判指标划分数据
3)、递归
4)、跳出递归条件

文档解析任务:
背景:公司做私募基金,需要分析资产包(pdf文档,扫描件,ppt,word),每一份大概有100页左右,人工分析需要大量时间,
才需要做这个项目提高实时性和效率
多少人做:算法就1-2两个
做了多久:3个月左右
怎么分工:全部一个人做,或者另外一个帮你整理数据
你做了什么:数据收集(爬虫,写sql获取数据),标注数据,数据清洗,模型调研(阅读过哪些论文,实现过哪些算法),模型选择调优(调参),部署上线(docker)
你做的过程中遇到什么问题:
数据方面:脏数据,数据量少(特别图像数据增强很有效果),样本不均衡(过采用,控制损失函数,使用AUC评判),人工标注高质量数据
模型方面:过拟合(正则,较小模型复杂度,控制树的深度,叶子节点树,随机森林,列采样等)
欠拟合(增加模型复杂度,增肌激活函数,增加树和叶子节点,gbdt,xgboost,lightgbm等)
效果方面:时间:久 ( c++,java ,模型裁剪,模型量化) 指标:差(分析差的原因是数据问题还是模型本身的缺陷)
效果如何:准确率提高,响应速度提高
公司服务器类型,p100,p40,v100,3080等

整个项目流程:
用户在界面上传文件 后端java文件保存到文件服务器(oss)并且异步发送数据到rabbitmq或者kafla(消息队里,中间件) python的工作
python的工作:
1、读取rabbitmq获取oss文件地址,读取文件数据,校验文件信息的一致性
2、根据不同的后缀使用不同的解析方法,假设是使用了pdf文件(pdfminer把pdf变为html,pdfmubal转换为txt,使用图像技术)
3、使用图像技术,把pdf变为图片(pdfmiage),opencv读取图片,对图片做版面分析(可以利用机器学习xgboost,对图片做垂直投影,直接用投影的数据送入到xgboost做二分类(单双栏))
4、目标检测(ocr),ocr后处理,文本纠错(nlp) 针对不同的类别使用不同的排序方法
5、nlp的工作(命名实体识别,关系提取,文本分类等工作)
6、保存到数据库(mysql,elasticsearch)
7、docker

你可能感兴趣的:(NLP,python)