- 博客(56)
- 收藏
- 关注
原创 多重背包可行性问题
多重背包可行性问题首先介绍一下:什么是多重背包问题?背包问题?0-1背包问题问题描述:给定N=[N1,N2,...,NN]N=[N_1, N_2, ..., N_N]N=[N1,N2,...,NN]件物品以及每件物品对应的重量W=[W1,W2,...,WN]W=[W_1, W_2, ..., W_N]W=[W1,W2,...,WN]和价值V=[V1,V2,...,VN]V...
2019-08-20 22:39:09
1020
原创 隐马尔可夫模型(Hidden Markov Model)
隐马尔可夫模型(HMM)简述一下HMM:(参考资料:《统计学习方法》-李航)隐马尔可夫模型(Hidden Markov Model,HMM)描述由隐藏的马尔可夫链随机生成观测序列的过程,属于生成模型。HMM是关于时序的概率模型,描述由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列(状态序列),再由各个状态生成一个观测而产生的观测随机序列(观测序列)的过程。一堆拗口的术语?下边慢慢道来…...
2019-08-17 19:22:43
25587
2
原创 样本不均衡的处理方法
样本不均衡样本不均衡指的是给定数据集中有的类别数据多,有的数据类别少,且数据占比较多的数据类别样本与占比较小的数据类别样本两者之间达到较大的比例。常见解决办法数据层面:采样,数据增强,数据合成等;算法层面:修改损失函数值,难例挖掘等。1. 数据层面数据层面主要包括对数据的采样与合成操作,采样指的是以一定的概率对数据进行选择,合成指的是重新生成与数据集样本数据类似的样本将其添加到原始...
2019-08-11 21:12:43
4435
1
原创 Label Smoothing --- 防止过拟合
Label Smoothing 是一种正则化的方法,对标签平滑化处理以防止过拟合在分类模型当中,经常对标签使用one-hot的形式,然后去预测样本属于每一个标签的概率,如果不考虑多标签的情况下,选择概率最大的作为我们的预测标签。然而在实际过程中,这样对标签编码可能存在两个问题:(1)可能导致过拟合;(2)模型对于预测过于自信,以至于忽略到可能的小样本标签。交叉熵损失函数的实际是在最小化预...
2019-08-11 19:38:44
4534
原创 浅析交叉熵损失函数
浅析交叉熵损失函数首先抛出交叉熵损失函数分别用于二分类和多分类的损失函数表达式子:二分类交叉熵损失函数L=−[ylogp+(1−y)log(1−p)]L = -[ylogp +(1-y)log(1-p)]L=−[ylogp+(1−y)log(1−p)]其中yyy表示样本标签,ppp表示对应样本标签预测为正的概率如: 当y=0时y=0时y=0时,L=−logpL=-logpL=−logp,...
2019-08-11 18:22:02
1401
原创 浅析Transformer模型
浅析Transformer模型Transformer模型起初被提出于谷歌《Attention Is All you Need》这篇论文。其完全抛弃了CNN,RNN等结构模式,仅仅通过注意力机制(self-attention)和前向神经网络(Feed Forward Neural Network),不需要使用序列对齐的循环架构就实现了较好的performance 。(1)摒弃了RNN的网络结构...
2019-08-11 17:56:30
2274
原创 排序算法总结-(未完待续)
排序算法总结排序算法平均时间复杂度原地排序空间复杂度稳定性插入排序O(n^2)YesO(1)稳定归并排序O(nlogn)NoO(n)稳定快速排序O(nlogn)YesO(logn)不稳定堆排序O(nlogn)YesO(1)不稳定解释快速排序的额外空间为O(logN):采用递归的方法进行排序,但是递归的时候需要开辟...
2019-08-03 21:01:51
143
原创 二分查找法
二分查找法1. 一般二分查找法二分查找适用查找环境:对于有序序列的查找二分查找的主要思路是:对于有序序列(假设为非递减序列),每次找到左右区间的中间位置,比较查找目标元素与中间值的大小,如果目标元素值小于中间值,则向左缩减查找的区间,否则向右缩减区间值。对于给定闭区间[a, b], left= a, right = b, mid = left + int((right - left) /...
2019-08-03 20:53:33
342
原创 排序算法-堆排序
排序算法-堆排序二叉堆是一棵完全二叉树,堆中的子节点总是不大于父节点的值用数组存储二叉堆的时候,以堆的最大元素作为数组index为1,则对节点为i而言其左孩子在数组中的index为2*i,右孩子节点的Index为2 * i + 11. 最大堆的建立最大堆的存储结构为:根节点是所有元素中最大的一个,且其堆中所有子节点均不大于父节点的值,向已有最大堆里边新增一个元素的具体步骤为:(1)首...
2019-08-03 20:01:29
172
原创 排序算法-快速排序算法(三路快排)
排序算法-快速排序算法快速排序被称为二十世纪最著名的算法之一1. 普通快速排序算法核心思想:快速排序:每一趟排序过程将待排序序列根据关键字大小排序分割成两个部分,第一个部分的所有数据值小于关键字,第二个部分的所有数据值大于等于关键字.然后再依次对分割后的每个部分再次使用快速排序进行排序。分割部分的主要操作:假设待分割的序列为:input_arr[l,l+1,...,r]input...
2019-08-03 17:48:36
950
原创 排序算法-冒泡/插入/归并/希尔排序(python实现)
排序算法-冒泡/插入排序(python实现)注意:实现的代码均为对序列的非递减排列操作1. 冒泡排序参考博客: https://blog.youkuaiyun.com/guoweimelon/article/details/50902597遍历N趟排序,每次获取序列中最大或者最小的元素,移动到序列的末端位置每一趟排序过程都两两比较相邻的元素,将较大/小的元素放置到后一个位置时间复杂度O(n^2)...
2019-08-03 17:08:11
187
原创 正则表达式-学习小结
正则表达式-学习小结3个月没看之前的代码,回过头来一瞅,这还是自己写的代码吗?一脸懵,尤其是正则表达式这种相对较为晦涩的语言,记录一下曾经使用过的那些正则表达式。当时学习正则表达是主要是要提取一些非结构化文本中的信息,期望将其能够结构化,即提取需求字段。正则表达式的表达式全集以及常用正则表达式可参照该链接(目前见过最简洁的正则表达式全集):http://tool.oschina.net/upl...
2019-07-31 18:20:43
175
原创 Linux常用命令(未完待补充)
Linux常用命令(未完待补充)1.top 命令实时监控系统的运行状况,显示各个进程的资源占用情况,具体详解可参照以下博客:(1)https://www.booleanworld.com/guide-linux-top-command/(2)https://www.cnblogs.com/xiao-xue-di/p/11056861.html2.cat / tailf :查看文件内容#...
2019-07-31 10:42:44
190
原创 文本数据增强方法
文本数据增强方法-百度翻译API的使用文本数据增强不同于图像领域的数据增强,因为文本是离散的,而图像是属于连续空间的. 例如针对两张图片,可以通过线性插值,旋转或者SMOTE等方法构造出出另外一张图片;然而对于文本数据而言,假设x1,x2x_1, x_2x1,x2分别表示一句话,通过线性插值出来的句子可能根本就不存在,再或者假设构造出来的句子存在性满足,然而也可能因为一个较小的扰动影响整...
2019-07-29 22:49:00
7508
1
原创 初识机器阅读理解(Machine Reading Comprehension)
机器阅读理解任务理解与文献查阅参考博客:https://www.jiqizhixin.com/articles/2018-11-26-10https://hanxiao.github.io/2018/04/21/Teach-Machine-to-Comprehend-Text-and-Answer-Question-with-Tensorflow/https://hanxiao.gith...
2019-07-21 22:49:41
8268
原创 Tensorflow之tfrecord加载数据与模型训练
tfrecord加载数据与模型训练参考代码:https://github.com/NLPLearn/QANet1. 处理数据,将给定数据处理成输入数据的格式# 1.处理数据,将给定的数据处理成输入数据的格式;def process_file(file_name, data_type, training=True): print("Generating {} examples..."...
2019-07-21 22:20:11
4303
3
原创 Tensorflow中模型的加载与保存
tensorflow中模型的加载与保存参考资料:1.https://blog.youkuaiyun.com/leo_xu06/article/details/792006342.https://blog.youkuaiyun.com/b876144622/article/details/799627273.https://blog.youkuaiyun.com/mieleizhi0522/article/details/80...
2019-07-01 00:56:32
604
转载 pytorch在CPU和GPU上加载模型
参考博客:https://blog.youkuaiyun.com/dcrmg/article/details/79503978CPU训练的模型在CPU上加载: CPU —> CPUtorch.load(model_path)GPU训练的模型在GPU上加载: GPU—> GPUtorch.load(model_path)CPU训练的模型在GPU上加载: CPU—> G...
2019-04-10 21:19:35
1797
原创 ubuntu16.04不能访问新加卷
ubuntu16.04不能访问新加卷参考博客: https://blog.youkuaiyun.com/chudongfang2015/article/details/51549453出现问题如下:Error mounting /dev/sdb2 at /media/eleanor/新加卷1: Command-line `mount-t “ntfs” -o“uhelper=udisks2,nodev...
2019-04-07 13:23:24
4031
原创 pytorch:对CIFAR10图片进行分类
参考资料:https://pytorch.org/tutorials/beginner/blitz/cifar10_tutorial.html#sphx-glr-beginner-blitz-cifar10-tutorial-py图片分类模型的具体步骤:1.加载数据,对数据进行归一化处理(使用torchvision)2.定义卷积神经网络3.定义损失函数4.在训练集上训练神经网络5.在测...
2019-04-06 18:00:15
1282
原创 pytorch:neural network
参考链接:https://pytorch.org/tutorials/beginner/blitz/neural_networks_tutorial.html#sphx-glr-beginner-blitz-neural-networks-tutorial-py一个典型的神经网络的训练过程可以描述如下:1.定义神经网络(包含一些可以训练的参数);2.根据输入的数据集进行迭代;3.通过网络...
2019-04-06 17:24:25
295
原创 Pytorch:nn, optim, nn Modules
参考资料:https://pytorch.org/tutorials/beginner/pytorch_with_examples.htmlPytorch:nnpytorch的nn包中定义了一系列的Modules, 大致相当于神经网络层,Module接收输入张量以及计算输出张量,内部状态也可以是可学习的张量形式。import torchN, D_in, H, D_out = 64, 10...
2019-04-06 10:47:46
308
原创 Pytorch:Defining new autograd functions
参考资料:https://pytorch.org/tutorials/beginner/pytorch_with_examples.html前向函数:根据输入的张量计算输出的张量值;反向函数:接受输出的张量,计算关于输入张量的梯度。在pytorch中可以很容易地通过定义torch.autograd.Function的子类定义自动求梯度的算子,并且实现前向和反向的函数,可以通过我们定义的自动求...
2019-04-01 22:07:02
380
原创 Pytorch:Tensor
参考资料:https://pytorch.org/tutorials/beginner/pytorch_with_examples.htmlNumpy是一个强有力的框架,但是不能使用GPU进行数值计算,故numpy对于现有的深度学习很多时候使用起来是不足够的。Pytorch的一个基础概念:张量在概念上pytorch的张量等同于numpy array,张量可以看作n维的数组,pytorch提供...
2019-04-01 21:37:48
397
原创 python对文件的读写操作
python对多个json对象的json文件读取参考博客:https://blog.youkuaiyun.com/wkdami/article/details/82986157 with open(data_path, 'r', encoding='utf-8') as f: for item in jsonlines.Reader(f): ## item是按行读取的...
2019-03-31 19:54:11
587
原创 常见的pooling策略
常见的pooling策略参考资料:https://blog.youkuaiyun.com/TgqDT3gGaMdkHasLZv/article/details/86215037https://blog.youkuaiyun.com/wangyangzhizhou/article/details/76034219https://www.cnblogs.com/ying-chease/p/8658351.htmlp...
2019-03-28 10:35:11
3461
原创 《代码整洁之道》部分总结
《代码整洁之道》部分总结1.Bjarne: 整洁的代码只做好一件事整洁的代码力要求集中,每个函数、每个类和每个模块都全神贯注于一件事情2.简单代码的规则(1)通过所有测试;(2)没有重复代码;(3)体现系统中的全部设计理念;(4)包括尽量少的实体,比如类、方法、函数等。3.有意义的命名命名要做到名副其实,避免误导,长短应与其作用域大小相对应不使用双关语,做到“一词一义”4. 函...
2019-03-12 16:23:39
387
原创 Policy Optimization
参考资料:https://spinningup.openai.com/en/latest/spinningup/rl_intro3.htmlIntro to Policy Optimization本部分着重推导策略梯度的数学公式关于Policy Gradient的简单求导参数: πθ\pi_{\theta}πθ, 目标函数:最大化J(πθ)=Eτ∼πθ[R(τ)]J(\pi_{\thet...
2019-02-26 16:03:49
604
原创 强化学习的一些算法
参考资料:https://spinningup.openai.com/en/latest/spinningup/rl_intro2.强化学习算法的种类Model-Free vs Model-Based RL强化学习算法的一个重要分支是:智能体是否有能力从环境学习一个模型。Model-Based优点:希望智能体能够根据自己的思考做出计划,可以观测到可能的选择值,并在选择之间做出明确的决定...
2019-02-26 15:26:01
904
原创 强化学习(Reinforcement Learning)
https://www.zhihu.com/topic/20039099/intro强化学习强化学习主要由智能体(Agent)、环境(Environment)、状态(State)、动作(Action)、奖励(Reward)组成。智能体执行某个动作后,环境将会转换到一个新的状态,对于该新的状态环境给出奖励信号,随后,智能体根据新的状态和环境反馈的奖励,按照一定的策略执行新的动作。(智能体通过...
2019-02-26 15:18:04
5113
1
原创 概率统计相关概念:期望,方差,协方差
参考博客:https://blog.youkuaiyun.com/qq_23869697/article/details/80610361
2019-02-22 09:22:01
438
原创 查看Tensorflow的运行设备
参考资料:https://blog.youkuaiyun.com/banana1006034246/article/details/780425591.切换到创建的虚拟环境conda create -n nlpsource activate nlppip install tensorflow-gpu2.安装结束后,进入python的编译环境import tensorflow as tfa = ...
2019-02-01 14:52:44
2052
原创 Ubuntu16.04下conda创建虚拟环境
#### Ubuntu16.04下conda创建虚拟环境参考资料:https://www.jianshu.com/p/a9a65e868dca1.安装anaconda:https://www.anaconda.com/download/#linux2.conda创建虚拟环境conda create --name nlp python=3.63.进入/退出conda创建的环境nlp# ...
2019-02-01 14:41:21
10005
原创 pandas基础知识
pandas参考资料: https://www.jianshu.com/p/7f4945b5d29cpandas库基于numpy,为python编程语言提供便利的数据分析工具import pandas as pdSeries 一维的带标签的数组类型,DataFrame二维的有标签的数据s = pd.Series([3, -5, 7, 4], index=['a', 'b', 'c', ...
2019-01-31 18:02:39
360
原创 Numpy基础知识
numpy参考资料:https://github.com/kailashahirwar/cheatsheets-ai/blob/master/Numpy.pngNumpy是Python的一种开源的数值计算扩展,可用来存储和处理大型矩阵import numpy as np创建数组a = np.array([1, 2, 3]) ...
2019-01-31 15:51:01
191
原创 git 删除远程分支文件
git 删除远程分支文件git删除远程分支包括两种情况:(1)仅仅删除远程分支文件,不删除本地的文件;(2)删除远程分支文件的同时,删除本地的文件。仅仅删除远程分支文件,不删除本地文件删除远程文件filenamegit rm --cached filenamegit commit -m "delete remote file filename "git push -u oringi...
2019-01-24 10:45:08
21808
2
原创 第六章 Logistic回归与最大熵模型
参考资料1.李航《统计学习方法》 2.github: https://github.com/fengdu78/lihang-codeLogistic模型与最大熵模型都属于对数线性模型 是否是线性模型取决于训练的参数是否为线性Logistic回归模型Logistic分布设XXX是连续的随机变量,XXX服从Logistic分布是指XXX具有下列分布函数和密度函数:F(x)=P(X≤x)=...
2019-01-22 20:54:55
474
原创 第五章 决策树--部分定义代码实现
参考资料:1.github: https://github.com/fengdu78/lihang-code2.李航 《统计学习方法》基于sklearn 实现决策树import numpy as npimport pandas as pdfrom sklearn.datasets import load_irisfrom sklearn.model_selection import ...
2019-01-16 23:04:24
464
原创 第五章 决策树
参考文献 李航 《统计学习方法》决策树是一种基本的分类与回归方法,在此主要讨论基于分类的决策树,其模型呈现树形结构,表示基于特征对实例进行分类的过程。主要优点:可读性,分类速度快决策树学习的三个步骤:特征选择,决策树的生成和决策树的修剪常用算法:ID3、C4.5和CART决策树模型决策树由结点和有向边组成,结点包括:叶结点和内部结点,内部结点表示一个特征或属性,叶结点表示类决策树可被...
2019-01-13 22:37:25
1198
原创 第四章 朴素贝叶斯法
参考资料: 李航《统计学习方法》朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法对于给定的训练数据集,首先基于特征条件独立假设学习输入/输出的联合概率分布p(x,y)p(x,y)p(x,y);然后基于此模型,对给定的输入xxx,利用贝叶斯定理求出后验概率p(y∣x)p(y|x)p(y∣x)最大的输出yyy利用训练数据学习p(x∣y)p(x|y)p(x∣y)和p(y)p(y)p(y)...
2019-01-04 20:50:17
210
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人