自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

hxl

  • 博客(113)
  • 资源 (1)
  • 收藏
  • 关注

转载 Query改写笔记

提出的前提用户搜索query时,搜索系统一般会先对query进行分词,如果query分词的term命中倒排索引,则相应的doc即可被召回。 这种方法简单有效,一般情况下相对准确,但也有明显的不足:相同的意图往往有不同的query表达方式,仅依靠字面分词匹配,会损失一定的召回。 在候选量有限的情况下非常容易出现空结果或少召回的情况。电商领域中常见的关键词堆砌问题虽然可以缓解少召回的问题,但召回结果往往出现语义漂移;搜索系统有非常多的方法解决上述问题,比较典型的包括:多粒度分词增加索引命中概率、语义向量.

2022-04-12 16:34:12 1259

原创 Query类目预测

前言QP(Query Processor)的简述:Query(查询)是表达用户意图的一种方式,在算法中对Query理解相当于帮助建立用户和系统的关联。在搜索系统中QP(Query Processor)模块负责这部分工作,主要包括:query归一化,query分词,query改写,query类目预测,命名实体识别,term weighting等。关键模块:Query类目预测:对用户query进行分类,判断用户的商品类目意图,可在粗排、精排阶段,辅助进行query和item相关性的计算,或者应

2022-04-11 22:33:26 1199 1

原创 余弦退火算法作图理解(python)

model = MyBertModel()optimizer = optim.AdamW(model.parameters(),lr=1) #一阶动量和二阶动量都用起来,就是 Adam 了——Adaptive + Momentum。scheduel = CosineAnnealingWarmRestarts(optimizer,T_0 = 2,T_mult=1,eta_min=0,last_epoch=-1)#T_0就是初始restart的epoch数目,T_mult就是重启之后因子,默认是1。我觉得可

2022-04-11 15:22:19 1649

原创 bert4keras作为分词的优点

1.使用苏剑林的bert4keras,作为分词工具优势:能够很好的处理空格from bert4keras.tokenizers import Tokenizer案例1:利用位置信息,方便解码,防止存在空格导致解码错误TOKENIZE.tokenize('G2 S1')TOKENIZE.rematch('G2 S1',TOKENIZE.tokenize('G2 S1'))...

2022-04-11 15:14:23 2167

原创 bert4keras使用笔记

什么是bert4kerasbert4keras是一个基于keras的预训练模型加载框架,目前支持多种预训练模型(BERT、ALBERT、RoBERTa、ALBERT、NEZHA、GPT2、T5等),并支持多种环境(python 2.7、python 3.x)和后端(keras、tf.keras、tf 1.x、tf 2.x)。keras-bert依赖于keras-transformer,而keras-transformer依赖于keras-multi-head,keras-multi-head依赖于ker

2022-04-05 15:38:00 3210

原创 python对类(class)的使用

class Solution: def __init__(self): self.paths = [] self.path = [] def partition(self, s: str) -> List[List[str]]: ''' 递归用于纵向遍历 for循环用于横向遍历 当切割线迭代至字符串末尾,说明找到一种方法 类似组合问题,为了不重复切割同一位置,需要start

2022-03-08 19:48:08 1088

原创 2-1.Pytorch核心知识_张量数据结构

Pytorch的基本数据结构是张量Tensor。张量即多维数组。Pytorch的张量和numpy中的array很类似。主要介绍张量的数据类型、张量的维度、张量的尺寸、张量和numpy数组等基本概念。一,张量的数据类型张量的数据类型和numpy.array基本一一对应,但是不支持str类型。包括:torch.float64(torch.double),torch.float32(torch.float),torch.float16,torch.int64(torch.long),torch.

2022-01-22 21:43:58 820

原创 三、python中pandas_numpy_数据处理、合并与分组

三、数据处理、合并与分组#导包import pandas as pdimport numpy as np# 读取pandas120数据文件df = pd.read_excel('/home/mw/input/pandas1206855/pandas120.xlsx')df.head()补充缺失值import randomdf['value'] = [random.randint(1,100) for i in range(len(df))]df.loc[[2,10,45,87],

2022-01-21 22:40:50 2845 1

原创 1-3,文本数据建模流程案例

!pip install torchkeras !pip install prettytable !pip install torchtext一,准备数据imdb数据集的目标是根据电影评论的文本内容预测评论的情感标签。训练集有20000条电影评论文本,测试集有5000条电影评论文本,其中正面评论和负面评论都各占一半。文本数据预处理较为繁琐,包括中文切词(本示例不涉及),构建词典,编码转换,序列填充,构建数据管道等等。在torch中预处理文本数据一般使用torchtext或者自定义Datase

2022-01-19 21:07:34 1054

原创 二、python中Pandas数据框操作及数据提取

二、Pandas数据框操作及数据提取#导包import pandas as pdimport numpy as np数据框行列操作1.1 创建DataFramedata = {"col1":['Python', 'C', 'Java', 'R', 'SQL', 'PHP', 'Python', 'Java', 'C', 'Python'], "col2":[6, 2, 6, 4, 2, 5, 8, 10, 3, 4], "col3":[4, 2, 6, 2,

2022-01-19 19:57:09 10792 2

原创 一、python中Numpy_Pandas数据处理基础

Numpy(Numerical Python) 是 Python语言的一个第三方库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy是一个运行速度非常快的数学库,主要用于数组计算。Pandas是专门为处理表格和混杂数据设计的,相当于Python的Excel,而Numpy更适合处理统一的数组数据。导包:import pandas as pdimport numpy as np1.将下面的字典创建为DataFramedata = {"grammer":['pytho

2022-01-18 16:51:06 4200

原创 PyTorch学习笔记_结构化数据建模

import osimport datetime#打印时间def printbar(): nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') print("\n"+"=========="*8 + "%s"%nowtime)#mac系统上pytorch和matplotlib在jupyter中同时跑需要更改环境变量os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE" 一,

2022-01-17 21:36:09 275

原创 K-Means, EM, DBScan(学习笔记)

K-MeansK-means算法的一些特性K-Means++Expectation Maximization(EM)http://ai.stanford.edu/~chuongdo/papers/em_tutorial.pdfhttps://zhuanlan.zhihu.com/p/57679630E-step: Compute a distributionon the labels of the points, using current parametersM-step:

2021-10-22 21:39:14 284

原创 leetcode:数组部分(代码随想录学习笔记python)

1.数组理论基础数组是存放在连续内存空间上的相同类型数据的集合。数组下标都是从0开始的。数组内存空间的地址是连续的正是因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,就难免要移动其他元素的地址。数组的元素是不能删的,只能覆盖2. 相关题目704.二分查找初始代码(时间复杂度为O(n)):class Solution: def search(self,nums:list[int],target:int) -> int: for i i

2021-10-20 17:18:32 181

原创 服务器上的环境迁移到另一台服务器上(采用克隆方式)

1.将原来服务器上所需的虚拟环境,打包# -n 后面的参数是服务器A要克隆的环境名称,我的环境名称为hxlconda env export -n hxl > environment.yaml2.在原来目录下找到environment.yaml文件,和anaconda3/pkgs文件,下载并上传到另一台服务器上注意anaconda3/pkgs覆盖原来的anaconda3/pkgs文件,cd到environment.yaml目录下执行如下代码3.执行如下代码()# -n 后的参数是在B上要创

2021-10-20 17:03:04 6829

原创 在 Linux 服务器上安装 Anaconda3

1.aconda官网https://www.anaconda.com/distribution/#download-section下载安装脚本2.通过MobaXterm或Xshell+Xftp 上传到服务器上通过cd进入到该目录下,输入如下脚本,所有安装选项选择yes bash Anaconda3-2019.10-Linux-x86_64.sh安装成功后,设置环境变量,输入命令source ~/.bashrc安装成功,输入conda list,可看到安装得python包参考链接:h

2021-10-20 14:47:00 140

转载 Ubuntu下挂载SSD移动硬盘笔记

查看硬盘信息和分区信息插入移动硬盘,然后输入命令sudo fdisk -l或者sudo parted -l[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W2Aq9LaH-1634702713890)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f2533abd-9e95-4389-a79b-d78ced3133ce/Untitled.png)]创建要挂载到的目录sudo mkdi

2021-10-20 12:08:59 485

原创 理解和比较GBDT、XGBoost和LightGBM

学习目标理解掌握各种集成学习算法的思路从Boosting的发展脉络学习,理解每一种Boosting算法的原理和特点可先从实例入手,再理解算法过程,反复消化综合对比多种算法的区别,再仔细理解每一个差异点AdaboostAdaBoost对每一个样本分配一个权重,对每一轮的弱分类器也分配一个权重。AdaBoost通过分类误差率来更新后一轮的样本权重,提高被错误分类的样本权重,降低正确分类的样本权重,这样没有被正确分类的数据,在后一轮得到更大关注。同时对基分类器分配权重,加大误差率小的弱分类器

2021-10-15 18:13:55 691

转载 决策树及提升树

2021-10-04 10:50:10 181

原创 剑指Offer 48.最长不含重复字符的子字符串

#利用hash表的做法class Solution: def lengthOfLongestSubstring(self, s: str) -> int: dic = {} tmp = res = 0 for j in range(len(s)): i = dic.get(s[j],-1) dic[s[j]]=j tmp = tmp+1 if tmp<j-i els.

2021-10-04 10:00:59 66

原创 剑指 Offer 42. 连续子数组的最大和

class Solution: def maxSubArray(self, nums: List[int]) -> int: dp = nums[0] max = nums[0] for i in range(1,len(nums)): if dp<0: dp=nums[i] else: dp+=nums[i] .

2021-10-02 21:26:28 57

原创 集成方法理论知识

Majority Vote Classifier“Soft” VotingBaggingBootstrap SamplingBagging ClassifierBias-Variance 分解Boosting改变与那里数据权重Adaboost证明

2021-09-26 22:28:48 66

原创 剑指 Offer 10- I. 斐波那契数列(python)

利用动态规划class Solution: def fib(self, n: int) -> int: if n<0: return -1 if n==0: return 0 if n==1: return 1 else: dp = [] dp.append(0) dp.appe.

2021-09-26 15:14:07 57

原创 线性判别分析(LDA)原理笔记(KLDA算法待推导)

LDA作为分类器协方差矩阵LDA作为特征降维工具LDA降维直观理解LDA降维公式推导如何证明协方差矩阵一-定半正定

2021-09-25 22:32:08 1105

原创 Kernel Logistic Regression and the Import Vector Machine(论文笔记)待补充

如何读一篇文章优先级:1.题目+摘要 2.引言 3.结论 4.图表 5.模型细节 6.实验细节论文阅读技巧:https://www.youtube.com/watch?v=IeaD0ZaUJ3Y

2021-09-25 18:24:14 70

原创 51.Softmax+Cross Entropy的实际使用

Softmax Classifier(TensorFlow)

2021-09-25 10:28:34 76

原创 Softmax with Cross Entropy理论笔记

一、Softmax应用场景-CNN分类全连接层全连接层,又称完全连接层,即fully-connected layer,利用基于训练数据集得到的特征,将最后的输出映射到线性可分的空间,从而将输入图像分为不同的类别。“完全连接”这个术语意味着前一层中的每个神经元都连接到下一层的每个神经元。添加完全连接层也是一个比较简单的学习这些特征非线性组合的方式。输出层当抓取到足以用来识别图片的特征后,接下来的就是如何进行分类。输出层主要准备做最后目标结果的输出。图像目标识别通常使用Softmax输

2021-09-24 12:39:20 299

原创 PCA和LDA原理

PCA的作用主成分分析简称 PCA(Principal Component Analysis),有两个大的用处1.Clustering把复杂的多维数据点,简化成少量数据点,易于分簇2.降维降低高维数据,简化计算降低维度,压缩,去噪原来的数据集是d维,转换成k维的数据,k<d新的k维数据尽可能多的包含原来d维数据的信息数据压缩PCA求解2维降维到1维: 寻找一个一维向量的方向,数据在这个向量上的投影能最小化损失从n维降维到k维:寻找一个k维向量,数据在这个k维空间的投影能

2021-09-23 16:55:40 869 1

原创 模型评估方法代码案例

模型评估方法代码案例import numpy as npimport xgboost as xgbfrom sklearn.ensemble import RandomForestClassifierfrom sklearn.model_selection import KFold, train_test_splitfrom sklearn.metrics import confusion_matrix, mean_squared_errorfrom sklearn.datasets impo

2021-09-23 12:30:36 673

原创 SVM实战_人脸识别代码

SVM实战_人脸识别代码import numpy as npimport timefrom scipy.stats import sem# from sklearn.cross_validation import train_test_split# cross_validation has been deprecated in >=sklearn 0.18from sklearn.model_selection import train_test_split,cross_val_score

2021-09-23 10:26:21 334

原创 Leetcode:剑指Offer 32 - III从上到下打印二叉树IIII

题目答案:# Definition for a binary tree node.# class TreeNode:# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]:

2021-09-20 22:51:55 122

原创 38.梯度下降算法笔记

梯度下降算法批处理梯度下降法随机梯度下降法SGD小批量梯度下降法(常用)

2021-09-20 21:04:58 64

原创 37.softmax多元逻辑回归

多元分类函数多元分类:似然函数及其导数softmax with cross-entropy loss 求导(未推导)

2021-09-20 20:46:30 186

原创 36.逻辑回归学习笔记

逻辑回归逻辑回归知识点最小损失函数梯度下降法系数的意义逻辑回归参数物理意义例子最大似然函数通过ln,乘积变和公式变换如下证明逻辑回归的随时函数是convex的证明是凸函数,说明可以寻求最优解参考资料:贪心科技高阶机器学习...

2021-09-20 20:18:59 84

原创 36.Ridge(岭回归), Lasso, ElasticNet(弹性网络)

Ridge Regression(岭回归)利用L2范式Lasso RegressionElastic Net

2021-09-20 13:18:35 208

原创 正则化(Regularization)

正则化的定义:对机器学习算法的任何修改,以减少其泛化错误(generalization error) ,但不减少其训练错误(training error)L1-regularizationL2-regularizationL1和L2正则化各有千秋,将他们结合起来就构成ElasticNet参考贪心机器学习高阶...

2021-09-20 12:06:59 62

原创 Bais(偏差)与Variance(方差)的区别

Bais(偏差):度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;Variance(方差):度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;...

2021-09-20 10:33:21 4554

原创 线性回归学习笔记

线性回归的数学定义线性回归的数学解析解(矩阵表达)线性回归的概率理解线性回归总结可利用Boxcox做正态分布(先转化为正态分布,进行线性拟合,后再进行反向恢复参考贪心机器学习高阶班...

2021-09-19 17:10:06 68

原创 N、NP、NPC问题分析

什么是多项式?O(1), O(logn),O(nlogn),O(n),O(n2)或者o(nk)等为多项式 :axn-bx(n-1)+c什么是P?Polynomial(多项式复杂度问题)什么是NP?(Non Deterministic Polynomial)对于一个问题,假如现在某个解,如果能在多项式时间内验证这个解是否为正确解,那么这个问题就是NP问题。例子:假设有一个没有重复元素的数组arr = […],现在我们希望找到它的中位数median排序(O(nlogn))arr[n/2](O

2021-09-17 16:25:48 3336

原创 zip解压以及压缩代码(python)

解压代码import osimport shutilimport zipfilefrom os.path import join, getsizedef unzip_file(zip_src, dst_dir): r = zipfile.is_zipfile(zip_src) if r: fz = zipfile.ZipFile(zip_src, 'r') for file in fz.namelist(): fz.

2021-09-16 20:06:48 513

pca_lda.ipynb

pca_lda.ipynb

2021-09-23

空空如也

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

TA关注的人

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