自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 git命令记录

git 配置查看全局配置git config --global --list更改全局配置git config --global user.name "ivan.ge"git config --global user.email "ivange@163.com"git工作区域git的本地有三个工作区域:工作目录、暂存区、本地仓库,一个远程工作区域:远程仓库[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2V2u13nD-1638702701222)(/User

2021-12-05 19:13:08 453

原创 自然语言处理-文本预处理

类似其他的机器学习的数据预处理,自然语言处理也需要进行文本预处理,例如中文需要分词,英文需要词性还原等。常见预处理方法文本规范化大写转小写output_str = input_str.lower()数字处理import reoutput_str = re.sub(r'\d','',input_str)标点符号处理import string...

2021-10-12 17:56:53 997

原创 使用Fasttext与卷积进行情感分析

FastText情感分析在不使用RNN进行句子的情感分析的条件下,最简单的方法就是将每个句子中划分的token的vector进行平均,然后送入线性分类层中分类即可。但这种操作值考虑了token的含义,并没有关注其语序,有较大的误差。所以FastText计算了输入句子的n-gram,并将n-gram作为一种附加特征来获取局部词序特征信息添加至标记化列表的末尾。n-gram的基本思想是,将文本里面的内容按照字节进行大小为n的滑动窗口操作,形成了长度是n的字节片段序列。def generate_bigram

2021-09-24 23:54:03 263

原创 双向LSTM做情感分析

1、LSTM层Class torch.nn.LSTM(*args,**kwargs)# pytorch中的输入参数input_size – 数据的特征维度(使用embedding时就是指embedding dim)hidden_size – 隐向量的维度num_layers – LSTM的层数,i层LSTM将使用i-1层LSTM的输出作为输入。默认为1bias – 特征变换时是否使用bias,默认为Truebatch_first – 设置batch_size的位置,当为True时,

2021-09-18 16:56:58 1287

原创 使用torchtext加载数据

torchtext基本组件。Field :主要包含以下数据预处理的配置信息,比如指定分词方法,是否转成小写,起始字符,结束字符,补全字符以及词典等等Dataset :继承自pytorch的Dataset,用于加载数据,提供了TabularDataset可以指点路径,格式,Field信息就可以方便的完成数据加载。同时torchtext还提供预先构建的常用数据集的Dataset对象,可以直接加载使用,splits方法可以同时加载训练集,验证集和测试集。Iterator : 主要是数据输出的模型的迭代器,

2021-09-13 18:32:24 1328

原创 Transformer原理解析

TransformerRNN的提供了一种对带有时序依赖关系的数据更好的建模方式,常用的seq2seq结构使RNN可以输入输出的维度不一样,解决了某一些文本问题(如翻译),带有Attention的seq2seq结构使decoder部分不再完全依赖中间的语义向量Context,还结合了所有encoder中隐藏层的状态,使各种文本任务的精度得到了很大的提升。而带Attention的seq2seq结构存在无法并行的问题,因为RNN的结构要求输入需要一个接一个。Transformer结构就是为了解决无法并行的问题而

2021-08-18 23:25:54 1077

原创 使用Numpy实现卷积的前向传播

import numpy as npimport mathclass Conv2D(object): def __init__(self, shape, output_channels, ksize=3, stride=1, method='VALID'): self.input_shape = shape self.output_channels = output_channels self.input_channels = shape[-1

2021-08-10 23:21:53 119

原创 matplotlib画图

构建均匀子图使用 plt.subplots 绘制均匀状态下的子图,返回元素分别是画布和子图构成的列表,第一个数字为行,第二个为列。figsize 参数可以指定整个画布的大小sharex 和 sharey 分别表示是否共享横轴和纵轴刻度tight_layout 函数可以调整子图的相对大小使字符不会重叠fig, axs = plt.subplots(2, 5, figsize=(10, 4), sharex=True, sharey=True)fig.suptitle('样例1', siz.

2021-06-15 11:42:05 136 1

原创 推荐系统笔记本

FM公式y=w0+∑i=1nwixi+∑i=1n∑i+1n<vi,vj>xixjy = w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^{n}\sum_{i+1}^n\lt v_i,v_j\gt x_ix_jy=w0​+i=1∑n​wi​xi​+i=1∑n​i+1∑n​<vi​,vj​>xi​xj​化简推导∑i=1n−1∑j=i+1n<vi,vj>xixj=12∑i=1n∑j=1n<vi,vj>xixj−12∑i=1n<vi

2021-05-27 10:20:18 61

原创 Spark原理详解

Spark原理详解Spark优势高效性MapReduce将中间计算结果放入到磁盘当中,但Spark采用内存存储的方式来储存中间计算结果,IO操作大大减少,同时并行计算DAG图的优化,减少了不同任务之间的依赖,MapReduce使用进程的方式维护Task,但Spark使用线程的方式启动维护Task。易用性MapReduce只有Map与Reduce两种算子,Spark提供了超过80种Transformation和Action的算子,包括map、reduce、filter、groupByKey,Sor

2021-05-26 11:40:27 316

原创 集成方法简述

集成学习是通过多个基学习器的预测结果来优化模型的拟合能力与泛化能力,其中主要分为两大类:一种是基学习器之间存在强依赖关系,使用串行化训练,例如Boo ing;另一种是基学习器之间不存在依赖关系,可使用并行化训练,例如Bagging和随机森林。1、随机森林Bagging集成学习方法的特点是有放回的抽样,训练多个基学习器,多数表决或简单平均,随机森林属于Bagging方法的变体,其训练过程没有强依赖关系。步骤随机选择样本(有放回的抽样)随机选择特征属性构建决策树进行平均投票,防止过拟合B

2021-05-24 16:02:34 727

原创 特征工程-组合特征

1、基于A/B的统计特征A关于B的传统统计特征。这是非常通用的一组特征,其构建的思路也非常简单,就是计算组内(无序类别特征)数值特征的统计信息。df['A_B_mean'] = df.groupby('A')['B'].transform('mean').valuesdf['B_A_median'] = df.groupby('B')['A'].transform('median').valuesdf['A_B_std'] = df.groupby('A')['B'].transform(

2021-05-23 17:17:21 525 2

原创 特征工程-时间组合特征

一:无序类别特征+时间特征1、基于A/B差值特征计算类别特征A的组内时间特征B的时间间隔,在推荐系统中,类别特征为商品时,特征B使用浏览时间、购买时间或点击时间,可以表示表示A商品被浏览/购买/点击的时间差。# 一次差值特征df['A_B_diff'] = df['B']-df.groupby['A']['B'].shift()# 二次差值特征df['A_B_diff2'] = df['B']-df.groupby['A']['B'].shift(2)2、基于A与A/B差值特征的统计特征在

2021-05-23 15:05:18 179

原创 正则化防止过拟合的通俗解释

正则化防止过拟合的通俗解释过拟合原因解决方法正则化有效的原因导数角度维度角度贝叶斯角度过拟合过拟合是模型训练当中十分容易出现的一种现象,具体表现为模型在训练集上表现很好,但在验证集上表现较差。原因训练数据不足模型复杂度过高训练集与测试集样本的分布不同样本里面的噪声数据干扰过大解决方法增加更多数据降低模型复杂度数据增强正则化dropout早停技巧Batch Normalization正则化有效的原因导数角度过拟合的时候,拟合函数的系数往往非常大,就是拟合函数需要顾忌

2021-05-09 17:43:27 299

原创 过拟合处理

过拟合定义:模型在训练集上的表现很好,但在测试集和新数据上的表现很差。训练集上的表现 测试集上的表现 结论 不好 不好 欠拟合 好 不好 过拟合 好 好 适度拟合 原因训练数据集太小,过拟合出现的原因:模型复杂度过高,参数过多 训练数据比较小 训练集和测试集分布不一致 样本里面的噪声数据干扰过大,导致模型过分记住了噪声特征,反而忽略了真实的输入输出特征 训练集和测试集特征分布不一样(如果训练集和测试集使用了不同类.

2021-04-16 15:01:51 1747

原创 不均衡样本的处理办法

1.使用正确的度量方法来评估在不均衡数据集上训练出来的模型,如果使用不合适的度量方法的话,是很危险的。想象一下,如果你的数据集是上面的图的情况,如果度量方法是准确率的话,那么一个模型如果对所有的样本预测都是0的话,准确率将达到非常好的99.8%,但是很显然,这种模型并没有什么用。这种情况下,可以使用一些替代的度量方法,例如: 精确度/查准率:真实为正样本的数据的准确率。 召回率/查全率:预测为正样本的数据的准确率。 F1得分:精确率和召回率的调和平均。 ROC:真

2021-04-06 16:36:25 599

原创 异常检测

异常检测异常,顾名思义是不同于正常的现象,常见的异常有一下三种:点异常:指的是少数个体实例是异常的,大多数个体实例是正常的,例如正常人与病人的健康指标;上下文异常:又称上下文异常,指的是在特定情境下个体实例是异常的,在其他情境下都是正常的,例如在特定时间下的温度突然上升或下降,在特定场景中的快速信用卡交易;群体异常:指的是在群体集合中的个体实例出现异常的情况,而该个体实例自身可能不是异常,例如社交网络中虚假账号形成的集合作为群体异常子集,但子集中的个体节点可能与真实账号一样正常。1、基于统计学方法

2021-04-06 12:09:15 221

原创 DeepFM

推荐系统一般来说常规的推荐系统当中的特征分为四个部分,第一个部分是用户特征,是关于用户的一些信息。比如是男是女,是否是高收入群体,是否是高消费群体,成为平台的用户多久了,偏好平台当中什么类目的商品等等。第二个部分是商品特征,就是关于item的一些信息,比如价格、类目、折扣、评价等等。第三个部分是上下文特征,比如当前的时间,是早上还是晚上,比如item展示的位置等等。最后一个部分是用户实时的行为,比如用户在浏览这个商品之前还看过哪些其他的商品,他登陆平台多久了,等等。显然用户是否会点击某一个it...

2021-03-22 11:21:46 329

转载 TensorFlow数据管道Dataset

5-1,数据管道Dataset一,构建数据管道可以从 Numpy array, Pandas DataFrame, Python generator, csv文件, 文本文件, 文件路径, tfrecords文件等方式构建数据管道。其中通过Numpy array, Pandas DataFrame, 文件路径构建数据管道是最常用的方法。通过tfrecords文件方式构建数据管道较为复杂,需要对样本构建tf.Example后压缩成字符串写到tfrecords文件,读取后再解析成tf.Example。

2020-08-20 12:15:37 316

原创 Matlab中使用字符矩阵制作图例

Matlab中使用字符矩阵制作图例Matlab中画图使用图例经常是把每个图的图例一个一个写进去,例如%legend uselegend('data1','data2',data3');但是有时候这样十分麻烦并且不方便,然后就发现了如下使用cell,来一次性搞图例的方法。% simple exampleclc;clear;%simple exampleA = 10*rand(10,20);for j = 1:10 plot_legend{j}=strcat('BC=',num2str

2020-08-02 15:43:48 480

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除