自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

莫一丞元

用于记录自己学习路程,文章大多数为参考别人再加上自身理解,若原作者感觉侵权,请联系:18810489505

  • 博客(123)
  • 收藏
  • 关注

原创 数字图像处理

数字图像处理的主要两种方法:空域法和频域法;图像变换主要两种重要方式:图像几何变换(空间变换)和图像正交变换,其中图像几何变换属于空域法。几何变换图像几何变换大体包含:刚性变换,仿射变换,透视变换,弹性变换。广义来讲,非线性变换包含投影变换;投影变换包含仿射变换;仿射变换包含刚体变换。 图像几何变换又称为图像空间变换,它将一副图像中的坐标位置映射到另一幅图像中的新坐标位置。我们学习几何变换就是确定这种空间映射关系(即变换矩阵),以及映射过程中的变化参数。其中基础的变换矩阵包含:恒等变换、尺度变换(sc

2022-03-25 17:10:08 6291

原创 BERT理解

BERT 模型是 Google 在 2018 年提出的一种 NLP 模型,成为最近几年 NLP 领域最具有突破性的一项技术,其中有五个关键词,分别是 Pre-training、Deep、Bidirectional、Transformers、和 Language Understanding,在 11 个 NLP 领域的任务上都刷新了以往的记录,例如GLUE,SquAD1.1,MultiNLI 等。前言Google 在论文《BERT: Pre-training of Deep Bidirectional T

2021-09-01 01:41:58 970

原创 pyqt5安装

将.ui文件转换成.py文件pyuic5 -o L:\WangXueChao\PythonCode\pyqt.py L:\WangXueChao\PythonCode\pyqt.uipyqt5_tools-5.9.0.1.2-cp36-none-win_amd64.whl   为pyqt5-tools的压缩文件

2021-05-26 11:11:51 256

原创 Transformer理解

Transformer理解注:这里不涉及具体的矩阵维度。背景Transformer 是 Google Brain团队在 17 年 6 月提出的 NLP 经典之作,由 Ashish Vaswani 等人在 2017 年发表的论文 Attention Is All You Need 中提出。Transformer 在机器翻译任务上的表现超过了 RNN,CNN,只用 encoder-decoder 和 attention 机制就能达到很好的效果,最大的优点是可以高效地并行化。Transformer 的

2021-04-05 15:06:17 289

原创 CUDA版本切换

在win10系统中只能安装一个显卡驱动,但是可以安装多个版本的CUDA。如下,就有两个版本:假若此时我们想使用v10.1版本首先,打开系统环境界面:“我的电脑”-“属性”-“高级系统设置”-“环境变量”:其次,查看“CUDA_PATH”和“NVCUDASAMPLES_ROOT”中CUDA是否是v10.1版本,若不是对其手动编辑成该版本,如下:最后,在“Path”中,将有关V10.1的路径移到最上面:检测CUDA版本:在cmd中输入 nvcc -V:假若此时我们想使用v10.2版本首

2020-10-23 11:25:19 755

原创 win10 CUDA+cuDNN+pytorch安装

一.查看本机的CUDA适配版本右击“此电脑”点击“属性”,在出现的控制面板右上角搜索“NVIDIA控制面板”,双击“nvidia控制面板”,出现显卡驱动版本号,如下:红框中所示:此处显示为:451.82版本。通过显卡驱动版本,查看本机使用的CUDA版本。对比网址:https://blog.csdn.net/He_9520/article/details/100032803,其中系统的Nvidia Driver决定着系统最高可以支持什么版本的cuda和cudatoolkit,Nv

2020-10-23 11:21:33 1036 1

原创 KNN理解

KNN(K-近邻)理解最为机器学习中的一种简单算法,这里只做简单介绍。具体的自行查阅其他资料。基本思想:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别,其中K通常是不大于20的整数。KNN算法中,所选择的邻居都是已经正确分类的对象。该方法在定类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。所需注意点:l  数据属性的度量单位不同,所以我们需要对数据映射到统一尺度,即归一化。其中归一化分为最值归一化和方差

2020-10-15 15:04:15 143

原创 pyqt5安装

2020-09-28 17:23:41 102

原创 win10系统安装

说明:采用“微PE”重装成功;其中含有一个win10企业版镜像和一个“微PE”安装文件。企业版激活网址教程:https://jingyan.baidu.com/article/22a299b53980b19e19376aaf.html准备工作:1.查看电脑是不是UEFI启动|查看主板是否支持UEFI模式(UEFI模式下安装,硬盘必须是GPT分区表,如果选择Legacy模式安装,硬盘分区表必须是MBR );win+r 输入msinfo32 查看BIOS是否为UEFI2.查看磁盘类型是否是GP

2020-09-28 17:18:59 1338

原创 评价指标

2020-09-28 16:44:26 161

原创 关于神经网络项目编写风格确定

总体需要包含:l  ‘model’-存储模型l  ‘utils’-包含datasets、dataloader等l  ‘dataprocessing’-数据加载及预处理部分l  ‘train’-模型训练l  ‘checkpoints’-保存训练好的模型参数l  ‘runs’-保存相应的训练过程l  ‘test’-模型使用测试具体在训练时的小tricks:l  学习率的调整-可以采用预热+函数库的方式、可以是随着迭

2020-09-28 16:38:03 75

原创 pycharm文件过大

近期做关于CV项目,图片过多,导致占用大量系统盘空间。方式一:简单在系统盘上,将历史数据删除。C:\Users\wangxuechao.PyCharmCE2019.2\system\caches按照上述路径,找到文件-content.dat.storageData,删除。方式二:转移缓存文件,并且更改默认路径。在其他盘新建目录;-E:\Program Files\JetBrains\PyCharmCE2019.2找到C:\Users\wangxuechao下的.PyCharmCE20

2020-09-28 16:36:10 1227

原创 tensorboardX

2020-09-28 16:15:37 103

原创 代码编写规范

2020-09-27 21:53:36 82

原创 配置镜像

配置镜像流程Conda和pip配置镜像网址: https://blog.csdn.net/qq_27825451/article/details/89237574Pip配置镜像网址:https://blog.csdn.net/nulijiushimeili/article/details/79982974(其中pip文件夹位置可放在C:\Users%管理员名称(如wangxuechao、2019bhkj等)%)成功界面:红线显示镜像源...

2020-09-27 21:51:20 385

原创 异常处理与断言

异常处理概述发生异常一方面有时会是疏忽导致,但有时有些异常是不可避免的。此时可以对异常进行捕捉,防止程序终止。下面主要分为异常类型和异常捕获两部分说明。异常类型异常类型一般分为Python内置异常和用户自定义异常。Python内置异常,其中BaseException是所有内置异常的基类,Exception是常规异常的基类。Python自动将所有异常名称放在内建命名空间中,所以程序不必导入exceptions模块就可以使用异常。内置异常类的层次结构如下图:用户自定义异常一般用于异常触发时输出更多

2020-09-27 21:49:32 310

原创 在Python中中文编码综述

Python文件中的编码Python 默认脚本文件都是 ANSCII 编码的,当文件中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正一个 module 的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明:# -- coding=utf-8 -- 或者 #coding=utf-8,其他的编码如:gbk、gb2312也可以。或者也可以理解成外界有繁多的编码形式,如utf8、gbk等,而PC内部只有ANSCII编码。Python

2020-09-27 21:44:16 590

原创 Python库简介

argparselogging网址:https://www.bilibili.com/video/av53770822/3. osos模块封装了常见的文件和目录操作,如下图:首先声明对于文件的打包、压缩、复制、移动、解压,可以参考模块——shutil,这里不做过多解释。...

2020-09-27 21:36:45 172

原创 PYQT5学习路线

下面为整体PYQT5学习路线:已将学习内容打包,下载地址:

2020-09-27 11:46:06 103

原创 在Python中中文编码综述

Python文件中的编码Python 默认脚本文件都是 ANSCII 编码的,当文件中有非 ANSCII 编码范围内的字符的时候就要使用"编码指示"来修正一个 module 的定义中,如果.py文件中包含中文字符(严格的说是含有非anscii字符),则需要在第一行或第二行指定编码声明:# -- coding=utf-8 -- 或者 #coding=utf-8,其他的编码如:gbk、gb2312也可以。或者也可以理解成外界有繁多的编码形式,如utf8、gbk等,而PC内部只有ANSCII编码。Python

2020-09-15 23:18:54 127

原创 基于用户的协同过滤算法

在推荐系统中,该算法出现最早。在2000年之前,都十分著名。基本思想俗话说“物以类聚、人以群分”,拿看电影这个例子来说,如果你喜欢《蝙蝠侠》、《碟中谍》、《星际穿越》、《源代码》等电影,另外有个人也都喜欢这些电影,而且他还喜欢《钢铁侠》,则很有可能你也喜欢《钢铁侠》这部电影。所以说,当一个用户 A 需要个性化推荐时,可以先找到和他兴趣相似的用户群体 G,然后把 G 喜欢的、并且 A 没有听说过的物品推荐给 A,这就是基于用户的系统过滤算法。步骤:倒排法-为了避免计算显然不相关的两个用户相似度,减

2020-09-15 23:13:01 322

原创 基于标签的方法概述

对于含有物品标签的数据集,我们可以采用基于标签的的方法对用户进行推荐,简单的说:就是根据用户打标签的数据,找到该用户喜爱的标签,然后推荐给其具有该标签的商品。那么接下来主要讨论如何利用用户打标签的行为,为该用户推荐物品。方法一:先让我们可以利用一个简单算法:利用personalrank算法基于图算法进行推荐,其中该图由用户顶点、物品顶点、标签顶点构成,其中如果顶点之间有有关系,则两顶点之间边的权重加一,计算思想与personalrank相同。其中图的构建如下面所示:但是利用标签将用户和商品进行

2020-09-15 23:05:35 236

原创 UGC的标签系统

UGC(user generated content)为推荐系统中用户生成的内容,标签为其中的一种。标签应用根据打标签的人不同,一般分为:专家给物品打标签和用户给物品打标签(也就是UGC的标签应用)。接下来我们只讨论第二种打标签的方式会遇到的问题。首先用户给物品打标签,包含两层意义:一方面体现了用户的兴趣,另一方面体现了物品的属性。那么存在两个主要问题:如何利用用户打标签的行为为用户进行个性化推荐(具体解决办法,看同一目录下的《基于标签的推荐方法概述》文档);如何让用户为物品打上合适的标签。

2020-09-15 23:01:29 542

原创 基于商品的协同过滤算法

在推荐系统中,该算法出现最早。在2000年之前,都十分著名。基本思想假若用户喜欢物品A,并且物品A和物品B具有很大的相似度,那么该用户大都也喜欢物品B。步骤:倒排法-为了避免计算显然不相关的两个用户相似度,减少计算开支;计算商品之间相似性;找到用户喜欢的商品集合,计算与目标用户没有购买的商品之间的相似性,取前几个商品推荐给目标用户。倒排法首先利用将用户–物品表(倒排表);根据倒排表画出相似度矩阵(比如倒排表第一行说明ab ad bd有关联,就在矩阵中置1,第三行说明ab有关

2020-09-15 22:58:01 1013

原创 LFM理解

矩阵V:表示不同音乐含有不同元素的程度。(可以观察到近似于A)。那么我们对其用户推荐标红部分歌曲。

2020-09-15 22:52:49 295

原创 PersonalRank算法理解

首先将用户历史数据,转化为二分图,如下此时给用户u推荐商品的任务就转化为度量用户顶点和与没有直接相连的物品结点在图上的相关性。一般来说图中顶点的相关性主要取决于三个因素:l 两顶点之间的路径数l 两顶点之间的路径的长度l 两顶点之间的路径经过的顶点而相关性高的顶点之间一般具有如下特征:l 两顶点之间有很多路径相连l 连接两顶点之间的路径长度比较短l 连接两顶点之间的路径不会经过出度比较大的顶点我们规定连线代表的权重均为1,并没有考虑用户对该商品的喜爱程度,感兴趣即有边相连,不

2020-09-14 23:17:32 542 2

原创 二分图理解

2020-09-14 23:11:29 115

原创 基于模型的协同过滤概述

基于模型的协同过滤作为目前最主流的协同过滤类型,其相关算法可以写一本书了,当然我们这里主要是对其思想做有一个归类概括。我们的问题是这样的m个物品,m个用户的数据,只有部分用户和部分数据之间是有评分数据的,其它部分评分是空白,此时我们要用已有的部分稀疏数据来预测那些空白的物品和数据之间的评分关系,找到最高评分的物品推荐给用户。对于这个问题,用机器学习的思想来建模解决,主流的方法可以分为:用关联算法,聚类算法,分类算法,回归算法,矩阵分解,神经网络,图模型以及隐语义模型来解决。下面我们分别加以介绍。1 用关

2020-09-14 23:08:14 1376

原创 协同过滤概述

定义协同过滤推荐算法(仅仅基于用户行为数据设计的推荐算法)就是指用户不断地和网站互动,是自己的推荐列表能够不断地过滤掉自己不感兴趣的物品。用户数据简介由于协同过滤推荐算法是仅仅基于用户行为数据设计的推荐算法,这里首先介绍一下用户行为数据。用户行为数据一般分为显性反馈数据(比如评分)和隐性反馈数据(比如页面浏览行为);假若按照反馈的明确性分,可以分为正反馈(行为倾向于用户喜欢该物品)和负反馈(行为倾向于用户不喜欢该物品)。数据存储一般形式为日志(成为原始日志),然后加工成为会话日志,类型包含:l&n

2020-09-14 23:05:35 1191

原创 物品冷启动问题解决办法

物品冷启动问题一般对于物品时效性很强的网站十分重要,例如新闻网站,此时假如物品并不能被及时的推荐给用户,物品的价值就会大大降低。方法一:利用物品内容信息基本思想:将物品不同内容当做该物品属性,转化为向量模式,然后进行计算之间距离。此时,对于新物品就可以利用其内容计算与其相似的物品,将其推荐给对其相似物品喜爱的用户。例如,我们可以文本将其转化为向量形式,或者转化为主题模型,然后利用距离公式计算物品之间相似度或者利用KL散度计算分布之间的相似度。在计算相似度时可以利用倒排表减少计算量。补充:KL散度(假设

2020-09-14 23:03:12 681

原创 用户冷启动问题现存解决办法汇总

方法一:利用用户注册信息用户注册信息一般分为三种:l 人口统计学信息:主要包含姓名、性别、地区、学历、职业、民族等l 用户兴趣描述:让用户用文字描述自身兴趣l 导入用户站外数据:比如进行登录时,利用用户的其他网站(京东)账号进行登记,就会在用户同意情况下获取用户其他网站(京东)行为数据注:此处先针对人口统计学信息为用户解决个性化推荐问题,其余两个信息用法后期进行补充。基于注册信息的个性化推荐流程:获取用户的注册信息;根据用户注册信息对用户进行分类;给该用户推荐其所属分类中

2020-09-14 22:57:11 587

原创 冷启动问题

冷启动问题简而言之就是对于很多纯粹做推荐系统的网站或者在开始阶段就希望有个性化推荐的网站,如何在没有大量用户数据的情况下设计个性化推荐系统并且让用户对推荐结果满意的问题,就是冷启动问题。一般冷启动问题分类:l  用户冷启动:主要解决如何对新用户进行个性化推荐。对于新用户没有其历史数据,从而无法借此对其进行过个性化推荐。l  物品冷启动:主要解决如何将新商品推荐给对其感兴趣的用户。l  系统冷启动:主要解决对于新开发的推荐系统,其中没有用户数据,只包含一些商品的内容信息,

2020-09-14 22:51:07 179

原创 推荐算法概述

推荐系统是为了解决信息过载问题,让用户快捷找到自身喜爱的商品,把商品推荐给对其感兴趣的用户。推荐算法概括起来可以分为5种:基于内容的推荐:这一类一般依赖于自然语言处理NLP的一些知识,通过挖掘文本的TF-IDF特征向量,来得到用户的偏好,进而做推荐。这类推荐算法可以找到用户独特的小众喜好,而且还有较好的解释性。协同过滤推荐:协调过滤是推荐算法中目前最主流的种类,花样繁多,在工业界已经有了很多广泛的应用。它的优点是不需要太多特定领域的知识,可以通过基于统计的机器学习算法来得到较好的推荐效果。最

2020-09-14 22:47:07 366

原创 FastText理解

背景fastText与word2vec相类似,该模型可用于训练词嵌入和文本分类。其中模型输入为文本的所有的单词以及n-gram特征,通过输入词矩阵进行加权,取均值,到达投影层,之后采用输出词矩阵,到达输出层(输出的是该文本属于不同类别的概率)。一般情况下会做如下两点的优化:在训练得到n-gram的词嵌入后,一般由于数量巨大,采用Hash桶的方式进行存储;在投影层之后,可以类似于word2vec的优化,采用层次softmax算法或负采样算法减少计算量。 此篇文章通过介绍哈希函数、n-gram

2020-09-13 23:11:19 559

原创 ELMO理解

背景对于13年的word2vec解决了多词一义的问题(即对于意思相近的词,词向量语义空间相似度高),但是对于一词多义问题并没有完美解决。相对于以前的word2vec或GLoVe方法,2018年的ELMo(Embeddings from Language Models,嵌入语言模型)以深度Bi-LSTM为基础,动态的学习词语的向量表示(即在不同语境下,同一词语对应不同词向量表示,解决一词多义。主要用于生成词向量,需要大量语料进行预训练)。ELMo词嵌入方法在下列几种NLP问题中能有效生成最先进(SOAT)的

2020-09-13 23:02:42 651

原创 Dataset

2020-09-12 23:15:37 89

原创 倒排索引理解

倒排索引理解注明该篇只讲解中文文本处理在纷繁的信息时代,如何利用搜索引擎快速高效的查找内容目标?接下来主要介绍搜索引擎中一个较为重要的结构-倒排索引。基本思想:倒排索引(inverted index),是一种索引方法,常被用于检索系统中的一种单词文档映射机构。基本形式为:关键词-文档,它是一种逆向思维运算。该数据结构一般由两部分组成,一部分是关键词字典(用于存储数据中关键词),另一部分是倒排文件(用于存储包含该关键词的文档信息)。首先解释一下为什么称为-倒排?一般的索引是基于“主体-属性”这种形式,

2020-09-12 23:14:40 688

原创 Word2Vec理解

综述本文思想-先论述利用DNN(MLP)模型衍生的CBOW和skip-gram,然后论述负采样算法和哈夫曼树,最后总结Word2vec两种模型。词嵌入只是模型的副产品,即输入词矩阵。l 词袋模型就是将句子分词,然后对每个词进行编码,常见的有one-hot、TF-IDF、Huffman编码,假设词与词之间没有先后关系。l 词向量模型是用词向量在空间坐标中定位,然后计算cos距离可以判断词于词之间的相似性。1.负采样算法(基于skip-gram模型)例句(语料库):I want a glass

2020-09-12 23:13:07 259

原创 文本向量化综述

现阶段将文本向量化方法基础部分:独热编码、tfdif、序列相似度(将词替换成索引,其中索引是按照词频排列)、词移距离(包含两部分)、w2v、elmo、bert等。

2020-09-12 22:15:26 374

原创 文本匹配综述

传统的例如tfidf、BM25等;2012DL和GPU出现之后,深度学习垄断,现分为基于表征的和基于交互式的。其中语义型的匹配就是将数据投射到K维空间中,通过计算距离来进行匹配,如DSSM、孪生网络等;为了解决基于表征的信息损失问题,又提出基于交互式的匹配模型。深度学习中,两者的基本方式网络架构如下:...

2020-09-12 22:03:52 573

空空如也

空空如也

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

TA关注的人

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