- 博客(40)
- 收藏
- 关注
原创 (机器学习)Windows系统下的Pytorch配置
前面一些软件下载和基础搭建工作可见另一篇博文<(机器学习)Windows系统下的Tensorflow-gpu配置>Pytorch配置找到新安装的Anaconda中的Prompt,管理员身份打开:创建一个虚拟环境(在此环境内可以任意配置而不会影响系统的环境)conda create -n 环境名 -c 镜像源(python版本)用户安装的不同python环境都会被放在目录~/anaconda/envs下,可以在命令中运行conda info -e查看已安装的环境,当前被激活的环
2020-06-27 16:28:37 365
原创 ElMo模型
前言说起Elmo模型,我们要从自然语言理解(NLU)说起,如果我们想通过计算机来处理自然语言(音频,文字等),首先我们需要将自然语言转换成计算机可以处理的形式,NLU就是量化自然语言。我们直接这里针对文字这种语言形式,以量化的方式表示一个单词的方式one-hot Representation如果只有一句话,“我 喜欢 自然 语言”’,我们可以用one-hot Representiation的...
2020-06-25 16:13:55 878
原创 Python并行处理数据的解决方案
Python并行处理数据的解决方案使用Python写CUDA程序有两种方式:NumbaPyCUDA实验操作:取随机数复制x次1.NumbaNumba通过及时编译机制(JIT)优化Python代码,Numba可以针对本机的硬件环境进行优化,同时支持CPU和GPU的优化,使Python代码可以在GPU上运行:使用Numba,python可以做并行计算,开启多线程,忽略GIL动态锁。...
2019-11-14 15:23:21 1049
原创 (机器学习)Tensorflow下RNN实现
循环神经网络(Recurrent Neural Network,RNN)现实生活中,我们输入的向量往往存在着前后联系,即前一个输入和后一个输入是有关联的,比如文本,语音,视频等,因此,我们需要了解深度学习中的另一类重要的神经网络,那就是循环神经网络(Recurrent Neural Network,RNN).循环神经网络(Recurrent Neural Network,RNN)依赖于一个重要...
2019-10-17 12:54:11 1211
原创 (NLP学习)(九)HMM(Hidden Markov Model)
隐马尔可夫模型(Hiden Markov Model, HMM)隐马尔可夫模型是马尔可夫链的一种,它的状态不能直接观察到,但能通过观测向量序列观察到,每个观测向量都是通过某些概率密度分布表现为各种状态,每一个观测向量是由一个具有相应概率密度分布的状态序列产生。所以,隐马尔可夫模型是一个双重随机过程----具有一定状态数的隐马尔可夫链和显示随机函数集。自20世纪80年代以来,HMM被应用于语音识...
2019-10-14 21:44:54 595
原创 (NLP学习)(八)基于NLTK和Stanford NLP实现命名实体识别
NLR(命名实体识别)人名、地名、机构名等等Denpendency (依存分析)
2019-10-14 15:21:27 1738
原创 (机器学习)逻辑回归(python)
逻辑回归比较经典的分类算法,目前工业界用到的最多的模型,很多场景下,都会用到逻辑回归。学习输入到输出的映射f:X→Yf:X \rightarrow Yf:X→YXXX:输入YYY:输出定义条件概率 P(Y∣X)P(Y|X)P(Y∣X),如何去表示 P(Y∣X)P(Y|X)P(Y∣X),这相当于用模型来捕获输入X和输出Y之间的关系。条件概率P(Y∣X)P(Y|X)P(Y∣X)需要满足两个...
2019-09-22 19:31:46 329
原创 Linux系统终端常用命令
Linux系统终端常用命令文件和目录操作命令命令功能说明help查看Linux内置命令的帮助,比如cd命令。ls全拼list,功能是列出目录的内容及其内容属性信息。ls -l 显示文件和目录的详细资料 ls -a 显示隐藏文件 ls -lh 显示权限cd全拼change directory,功能是从当前工作目录切换到指定的工作目录。cd /home 进入...
2019-09-20 21:45:20 253
原创 编码问题:UnicodeDecodeError: 'utf-8' codec can't decode byte 0x88 in position
在我们读写文件过程中,经常会遇到:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0x88 in position打开txt文件f = open(txtPath,'r',encoding='utf-8')f = open(txtPath,'r',encoding='gbk')Pands读取csv文件import panda...
2019-09-19 18:43:08 4205
原创 python数据处理库(pandas)
numpy和pandaspandas是基于numpy写的。pandaspandas里有两种数据类型:Series,Series里有numpy的数组DataFrame,是由Series组成的一个字典numpynumpy其实就是一个多维的数组,每一个np的数组都有两个个shape和dtype的属性。分别表示维度和类型。numpy进行指定长度数组的创建impport numpy...
2019-08-31 15:53:34 426
原创 (NLP学习)(七)专家系统和基于概率的系统
AI的两个重要分支:专家系统和基于概率的系统专家系统:也叫符号主义,基于规则,特别是没有一个数据。例如:金融风控领域,基于概率的系统:也叫连接主义,基于学习,例如:神经网络领域。如何选择?数据量没有数据/很少数据大量数据专家系统基于概率的系统专家系统专家系统=推理引擎+知识(类似于程序=数据结构+算法)利用知识和推理来解决决策问题AI系统 vs BI...
2019-08-29 13:57:16 770
原创 (NLP学习)(六)搭建基于检索的问答系统
写在前面:所有用到的包import jsonfrom matplotlib import pyplot as pltimport reimport stringimport nltkfrom nltk.corpus import stopwordsfrom nltk.tokenize import word_tokenizefrom nltk.stem.porter import ...
2019-08-27 15:44:31 1865 6
原创 (NLP学习)(五)实现拼写纠错
拼写纠错错误的输入:s正确的写法:c基于朴素贝叶斯的Noisy channel Model:c=argmaxc∈candidatep(c∣s)=argmaxc∈candidatep(c∣s)∗p(c)c=argmax_{c\in candidate}p(c|s)=argmax_{c\in candidate}p(c|s)*p(c)c=argmaxc∈candidatep(c∣s)=arg...
2019-08-27 13:48:10 1739 4
原创 (NLP学习)(四)文本处理技术
搭建一个智能客服系统语料库概述分词预处理拼写纠错化成原型停用词过滤单词过滤同义词替换文本的表示文本转换成向量之后,即结构化数据,其中加减乘除公式就可以用了。bollen vertorcount vertorword2vec 词向量sep2sep(可选)倒排表可以降低复杂度计算相似度欧氏距离余弦距离(可选)过滤相似度排序,返回结果...
2019-08-23 15:34:51 2211
原创 (NLP学习)(三)搭建中文分词工具
说明此项目需要的数据:dic.xlsx: 词典包含了中文词,当做词典来用以变量的方式提供了部分unigram概率 word_prob基于枚举方法来搭建中文分词工具import xlrdimport math# TODO:读取字典。print("Reading dic...")# 获取一个Book对象workbook = xlrd.open_workbook("dic.x...
2019-08-23 14:14:24 1734 2
原创 (NLP学习)(二)基础储备
基础储备算法复杂度分析算法复杂度可以分为时间复杂度和空间复杂度,这里我跳过一些比较基础的分析,基础可以参考:算法的时间复杂度和空间复杂度-总结我们主要来分析递归式的复杂度。时间复杂度引入一个解决递归问题时间复杂度的最常用的方法:主方法总结一下过程就是:确定a,b的值求出nlogban^{log_{b} a}nlogba,与f(n)f(n)f(n)比较,取数量级大的那个。如果相...
2019-08-16 00:18:28 228
原创 (NLP学习)(一)引子
引出机器翻译的变化以前:基于人工统计的规则来翻译 -> 现在:用机器学习来学习出统计的规则来翻译之前的机器翻译的缺点:计算速度慢语义不通问题语法错误问题解决语法问题例如:翻译“今晚的课程有意思”首先,先分词为“今晚/的/课程/有意思”,对应词典里面的对应翻译为“Tonight of the course interesting”,即Broken English。然后...
2019-08-14 17:55:18 254
原创 (读书笔记)周志华《机器学习》第4章:决策树
决策树本章内容概述:基本流程:决策树是如何决策的?决策树学习的目的是什么?如何生成一颗决策树?划分选择:怎样选择最优划分属性?有哪些判断指标?具体是怎样运作的?剪枝处理:为什么要剪枝?如何判断剪枝后决策树模型的泛化性能是否提升?预剪枝和后剪枝是怎样工作的?有什么优缺点?连续与缺失值:如何把连续属性离散化?如何基于离散化后的属性进行划分?和离散属性有何不同?如何在属性值缺失...
2019-07-26 16:00:20 623
原创 (读书笔记)周志华《机器学习》第2章:模型评估与选择
模型评估与选择2.1 经验误差与过拟合错误率(error rate),精度(accuracy)在分类任务中,通常把错分的样本数占样本总数的比例称为错误率(errorrate)。比如m个样本有a个预测错了,错误率就是a/m;与错误率相对的有精度(accuracy),或者说正确率,数值上等于1-错误率。误差(error)更一般地,通常会把模型输出和真实值之间的差异称为误差(error...
2019-07-23 20:29:47 1009
原创 (读书笔记)周志华《机器学习》第1章:绪论
绪论人工智能在很大程度上集中于统计学和大数据1.1 引言傍晚小街路面上沁出微雨后的湿润,和熙的细风吹来,抬头看看天边的晚霞,嗯,明天又是一个好天气。走到水果摊旁,挑了个根蒂蜷缩、敲起来声音浊响的青绿西瓜,一边满心期待着皮薄肉厚瓢甜的爽落感,一边愉快地想着,这学期狠下了工夫,基础概念弄得清清楚楚,算法作业也是信手拈来,这门课成绩一定差不了!1.1.1 机器学习的定义正如我们根据过去的经验来...
2019-07-23 16:30:35 660
原创 多线程和多进程(python)
多线程和多进程1 概念:1.1 线程线程是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。一个线程是一个execution context(执行上下文),即一个cpu执行时所需要的一串指令。线程的工作方式:假设你正在读一本书,没有读完,你想休息一下,但是你想在...
2019-07-22 18:15:37 133
原创 (算法理论)二分查找(python)
思想:二分查找又称折半查找。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。优缺点优点是比较次数少,查找速度快,平均性能好;...
2019-07-17 16:37:00 133
转载 (转载留存)kafka原理
这篇是我见过介绍的最好的kafka文章,必须转载一波!!原文https://www.cnblogs.com/sujing/p/10960832.html为什么需要消息队列 周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马...
2019-07-17 01:56:56 196
原创 (项目记录)学者影响力预测(python)
最近准备实习,所以把之前的项目拿出来回顾一下,用csdn做一下记录和梳理,方便以后查看,一起交流讨论。完整项目代码已经上传github项目介绍:基于深度学习的学者影响力预测项目概述:学术网络影响力评估的主要研究内容是,基于学术网络中作者、文献、期刊、机构等信息,对学术网络中重要的组成因素(如作者、文献等)进行评估。通过研究分析,本项目主要基于学者所发表的文献的相关信息及其在社交网络中的属性...
2019-07-16 20:48:34 1774 5
原创 爬虫(二)Beautiful Soup(python)
1. Beautiful Soup的简介简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。Beautiful Soup自动...
2019-07-16 20:18:29 189
原创 爬虫(一)基础知识(python)
定义网络爬虫,也叫网络蜘蛛(Web Spider),如果把互联网比喻成一个蜘蛛网,Spider就是一只在网上爬来爬去的蜘蛛。网络爬虫就是根据网页的地址来寻找网页的,也就是URL。举一个简单的例子,我们在浏览器的地址栏中输入的字符串就是URL,例如:https://www.baidu.com/URL就是同意资源定位符(Uniform Resource Locator),它的一般格式如下(带方括...
2019-07-15 15:55:32 259
原创 (机器学习)朴素贝叶斯(python)
朴素贝叶斯1.朴素贝叶斯法是典型的生成学习方法。生成方法由训练数据学习联合概率分布 P(X,Y)P(X,Y)P(X,Y),然后求得后验概率分布P(Y∣X)P(Y|X)P(Y∣X)。具体来说,利用训练数据学习P(X∣Y)P(X|Y)P(X∣Y)和P(Y)P(Y)P(Y)的估计,得到联合概率分布:P(X,Y)=P(Y)P(X∣Y)P(X,Y)=P(Y)P(X|Y)P(X,Y)=P(Y)P(X∣Y)...
2019-07-12 21:33:32 336
原创 (机器学习)k近邻法(python)
k近邻法1.kkk近邻法是基本且简单的分类与回归方法。kkk近邻法的基本做法是:对给定的训练实例点和输入实例点,首先确定输入实例点的kkk个最近邻训练实例点,然后利用这kkk个训练实例点的类的多数来预测输入实例点的类。2.kkk近邻模型对应于基于训练数据集对特征空间的一个划分。kkk近邻法中,当训练集、距离度量、kkk值及分类决策规则确定后,其结果唯一确定。3.kkk近邻法三要素:距离度量、...
2019-07-12 19:04:52 310
原创 (机器学习)感知机和SVM(python)
感知机二分类模型f(x)=sign(w∗x+b)f(x) = sign(w*x + b)f(x)=sign(w∗x+b)损失函数 L(w,b)=−Σyi(w∗xi+b)L(w, b) = -\Sigma{y_{i}(w*x_{i} + b)}L(w,b)=−Σyi(w∗xi+b)算法随即梯度下降法 Stochastic Gradient Descent随机抽取一个误分类点使其梯度下...
2019-07-12 18:42:40 229
转载 (转载留存)深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
原文:https://blog.csdn.net/xianlingmao/article/details/7919597 在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Mu...
2019-07-12 17:27:48 113
原创 (算法理论)图的遍历(北京地跌导航应用)(python)
记录两种图的遍历算法——广度优先(BFS)与深度优先(DFS)。图(graph)在物理存储上采用邻接表,而邻接表是用python中的字典来实现的。两种遍历方式的代码如下所示:def bfsTravel(graph, source): # 传入的参数为邻接表存储的图和一个开始遍历的源节点 frontiers = [source] # 表示前驱节点 travel ...
2019-07-10 20:37:44 540 1
原创 (算法理论)回溯法与与分支限界法(python)
为了说明这两个概念的区别,我们首先假定有一个集合SSS子树集当我们求解的结果是集合SSS的某一子集的时候,其对应的解空间是子集树。时间复杂度O(2n2^{n}2n)排列树当我们求解的结果是集合S的元素的某一种排列的时候,其对应的解空间就是排列树。时间复杂度O(n!n!n!)解空间为排列树的典型问题就是旅行售货员问题。简要说明啥是旅行售货员问题,用图论的术语来说就是:在一个正权的完...
2019-07-05 16:29:17 8163
原创 如何将本地的文件夹整体上传到Github上
安装git1.注册和安装git客户端,,windows下一路next,可参考GitHub超详细图文攻略Git介绍分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具;保存点 : Git的保存点可以追踪源码中的文件, 并能得到某一个时间点上的整个工程项目额状态; 可以在该保存点将多人提交的源码合并, 也可以会退到某一个保存点上;Git离线...
2019-07-04 17:26:46 2512 1
原创 (机器学习)Tensorflow下ANN实现
将之前写过的代码进行一下整理和汇总:ANN训练Mnist使用TensorFlow框架和手写数字识别数据集MNIST训练,运行环境为Python3.6、TensorFlow1.8。完整代码已经上传github神经网络搭建过程总结如下:step1.超参数设定:如学习率、权重衰减、动量。Learning_RATE=0.1MOMENTUM = 0.9WEIGHT_DECAY = 0.000...
2019-07-03 14:33:39 2912
原创 (算法理论)动态规划(python)
动态规划基本思想若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时直接查表。 这种做法在重复子问题的数目关于输入的规模呈指数增长时特别有用分治与动态规划共同点:二者都要求原问题具有最优子结...
2019-07-03 00:39:40 7535 2
原创 (机器学习)Windows系统下的Tensorflow-gpu配置
在Tensorflow也有一段时间了,今天在新配置的电脑上配置tensorflow-gpu,决定把过程通过csdn记录一下软件下载我所用到的软件如下图所示,都可以在官网下载到,这里就不在赘述。需要注意的是:Tensorflow 和 cuda、cudnn有一个版本对应,下载时候需要区别:软件安装AnacondaPython易用,但用好却不易,其中比较头疼的就是包管理和Python不同...
2019-06-30 22:30:25 466 1
原创 (数据结构)树(二)平衡二叉树
我们知道,对于一般的二叉搜索树(Binary Search Tree),其期望高度(即为一棵平衡树时)为log2nlog_{2}nlog2n,其各操作的时间复杂度O(log2nlog_{2}nlog2n)同时也由此而决定。但是,在某些极端的情况下(如在插入的序列是有序的时),二叉搜索树将退化成近似链或链,此时,其操作的时间复杂度将退化成线性的,即O(n)。我们可以通过随机化建立二叉搜索树来尽量...
2019-06-30 20:09:15 558
原创 (数据结构)树(一)二叉树
最近开始准备找实习,把一些基础的东西捡捡,进行一下汇总。数据结构中有很多树的结构,其中包括二叉树、二叉搜索树、2-3树、红黑树等等。本文中对数据结构中常见的几种树的概念和用途进行了汇总,不求严格精准,但求简单易懂。树是由根结点和若干颗子树构成的。树是由一个集合以及在该集合上定义的一种关系构成的。集合中的元素称为树的结点,所定义的关系称为父子关系。父子关系在树的结点之间建立了一个层次结构。在这种层...
2019-06-30 16:47:16 203
转载 (转载留存)Markdown语法图文全面详解
转自码个蛋公众号目录1. 快捷键2. 基本语法2.1 字体设置斜体、粗体、删除线2.2 分级标题2.3 链接2.4 分割线...
2019-06-29 12:08:44 213
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人