自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(118)
  • 资源 (2)
  • 收藏
  • 关注

原创 连续子数组问题

这个时候需要用到二维dp, dp[i][0]表示包含nums[i]但是没有用x替换条件下的最大连续子数组的和,dp[i][1] 表示包含nums[i]而且用x替换条件下的最大连续子数组的和。链接:https://leetcode.cn/problems/lian-xu-zi-shu-zu-de-zui-da-he-lcof。输入一个整型数组,数组中的一个或连续多个整数组成一个子数组,现在你可以将数组中任意一个数修改为指定数值x。输入一个整型数组,数组中的一个或连续多个整数组成一个子数组。

2023-07-24 22:22:57 268

原创 Java容器介绍及其操作方法

Collection的方法:boolean add(Object) 确保容器持有此参数。如果没有将此参数添加进容器则返回 false。(这是个“可选”的方法,稍后会解释。) boolean addAll(Collection) 添加参数中的所有元素。只要添加了任意元素就返回 true。(“可选”) void clear( ) 移除容器中的所有元素。(...

2023-06-28 23:49:53 396

原创 Label Smoothing介绍及其代码实现

标签平滑(Label Smoothing)的原理其实很简单,它大部分的用处用一句话总结就是:>修改数据集的标签来增加扰动,避免模型的判断过于自信从而陷入过拟合

2022-06-24 22:34:34 1538 1

翻译 重载==overload,重写==覆盖==override

一、重载(overload):定义:同一个类中的函数具有相同名称,但参数列表不同(参数个数,参数类型),这样同名不同参数的函数之间,互为重载函数,属于编译时多态。特点:①同一个类中(相同作用域)②函数名称必须相同③函数参数必须不同④函数返回类型可同可不同,不重要二、重写(override)也称为覆盖,是指子类重新定义父类中有相同函数名,参数列表,返回类型的虚函数。子类对象使用这个方法时,将调用子类中的定义,父类中的定义如同被“屏蔽”了,属于运行时多态。特点:①函数名、参数列表、返回类型

2022-05-15 19:59:07 351

翻译 自然语言处理:Word embedding 技术

自然语言处理:Word embedding 技术CBOW, Skip-gramword2vec(是一种概念,而不是技术)?fasttext(fastText模型架构和CBOW模型架构非常相似),glove(我们的模型通过只训练单词-单词共现矩阵中的非零元素来有效地利用统计信息,而不是训练整个稀疏矩阵或大型语料库中的单个上下文窗口。)...

2022-03-05 19:38:07 938

转载 机器学习:结合代码学习条件随机场( conditional random field,CRF)

HMM, MEMM, CRF

2022-02-21 00:43:26 949

原创 机器学习:详细推导EM算法

EM算法可以说是一个非常经典的算法,至今仍在广泛地被使用(如强化学习领域)EM算法要解决的问题EM 算法(全称为Expectation-Maximization algorithm)是一种对含有隐变量的问题的极大似然估计算法。参数估计方法可以参考 抽样分布和参数估计(极大似然估计)。准确来说,...

2022-01-18 16:47:09 392

原创 机器学习: 详细推导SVM(Support Vector Machine,支持向量机)

SVM

2022-01-10 12:11:13 775

原创 机器学习:强化学习

一、马尔可夫决策过程(Markov Decision Process,简称MDP)1. MDP介绍马尔可夫决策过程(Markov Decision Process, MDP)是序贯决策(sequential decision)的数学模型,用于在系统状态具有马尔可夫性质的环境中模拟智能体可实现的随机性策略与回报 。MDP的得名来自于俄国数学家安德雷·马尔可夫(Андрей Андреевич Марков),以纪念其为马尔可夫链所做的研究 。MDP基于一组交互对象,即智能体和环境进行构建,所具有的要素

2022-01-09 13:33:04 972

原创 半监督学习

半监督学习三种无标签数据的学习方式(1)主动学习(2)半监督学习——纯半监督学习:它假定训练数据中 的未标记样本并非待预测的数据,,纯半监督学习是基于"开放世界"假设 希望学得模型能适用 于训 练过程 未观察到的数据。(3)半监督学习——直推学习(transductive learning):假定学习 过程中所考虑的未标记样本恰是预测数据,学习的目的就是在这些未标记样本上获得泛化性能。而直推学习是基于"封闭世界"假设 仅试图对学习过程 观察到的未标记数据进行预测。生成式方法生成式方法(gen

2022-01-09 12:40:52 509

原创 机器学习: 简单讲极大似然估计和贝叶斯估计、最大后验估计

一、前言我在概率论:参数估计里面提到了极大似然估计,不熟悉的可以看一下,本文将从贝叶斯分类的角度看极大似然估计。在进行贝叶斯分类的时候,通常需要知道P(wi),P(x∣wi)P(w_i), P(x|w_i)P(wi​),P(x∣wi​)的值,这里wiw_iwi​表示第i类。但是P(x∣wi)P(x|w_i)P(x∣wi​)是未知的参数。因此我们需要对这个参数进行估计,这里有极大似然估计和贝叶斯估计两种方法。为了简化问题,我们认为P(x∣wi) N(ui,Σi)P(x | w_i) ~ N(

2021-11-30 11:13:26 4986

原创 机器学习: 线性判别分析(LDA)

线性判别分析( Linear Discriminant Analysis,简称LDA)是一种经典的线性学习方法,在二分类问题上因为最早由 Fisher,1936提出,亦称“ Fisher判别分析。

2021-11-28 21:37:09 2916

原创 机器学习:主成分分析(PCA)

3. 什么是主成分分析?(Principle Component Analysis,PCA)设数据X=(x1,x2,..xn)X=(x_1,x_2,..x_n)X=(x1​,x2​,..xn​)具有n个属性(还有很多其他命名,比如分量,指标),属性值分别是x1,x2,..xnx_1,x_2,..x_nx1​,x2​,..xn​那么主成分分析就是把原来具有相关关系的多个指标(属性)简化为少数几个新的综合指标的多元统计方法。这里的主成分就是指的是原始指标(属性)形成的几个新指标。主成分与原始变量之间的关

2021-11-28 12:03:38 673

原创 数学资源分享:矩阵求导公式

最近发现国内某文库的矩阵求导公式相关的文档要钱。在外网发现了很多免费的资源,现在分享一本电子书 matrix cookbook。包含了矩阵求导在内的许多矩阵运算公式。地址见下:Matrix differential formula...

2021-11-27 23:23:08 415

原创 机器学习:贝叶斯网络

贝叶斯网络

2021-11-27 14:29:03 15840

原创 概率论:假设检验、显著性检验

假设检验(hypothesis testing),又称统计假设检验,是用来判断样本与样本、样本与总体的差异是由抽样误差引起还是本质差别造成的统计推断方法。显著性检验是假设检验中最常用的一种方法,也是一种最基本的统计推断形式,其基本原理是先对总体的特征做出某种假设,然后通过抽样研究的统计推理,对此假设应该被拒绝还是接受做出推断。常用的假设检验方法有Z检验、t检验、卡方检验、F检验等。显著性检验(significance test)就是事先对总体(随机变量)的参数或总体分布形式做出一个假设,然后利用样本信息来

2021-10-16 19:12:22 5183 4

原创 人工智能:搜索策略

贪婪最佳优先搜索该算法(greedy best-first search)试图拓展距离目标最近的结点。完备性:不完备的(也就是说不一定能找到问题的解)算法复杂度:(1)时间复杂度:O(bm)O(b^m)O(bm)(2)空间复杂度:O(bm)O(b^m)O(bm)其中,b是邻居节点的最大数量,m是搜索空间的最大深度。2. A*搜索(1)启发式函数f(n) = g(n) +h(n)g(n)是从开始结点到节点n的路径代价,而h(n)是从节点n到目标结点的最小代价路径的估计值。...

2021-10-05 20:08:36 4076

翻译 RDF和SPARQL

RDF(资源描述框架,Resource Description Framework)资源描述框架(RDF)是万维网联盟规格(World Wide Web Consortium)家族的一员,一开始它是一种描述元数据(metadata,描述数据的数据)的一种数据模型。但如今,已经成为了一种用于对web资源中实现的信息进行概念描述或建模的通用方法。它只规定了一些大致的规格,可以允许使用各种语法符号和数据序列化格式。所以RDF作为一种资源描述框架(规格说明),具体有哪些限制或者内容?https://en.wi

2021-10-03 15:31:58 758

转载 Linux查看物理CPU个数、核数、逻辑CPU个数

CPU总核数 = 物理CPU个数 * 每颗物理CPU的核数总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数查看CPU信息(型号)[root@AAA ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c 24 Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz# 查看物理CPU个数[root@AAA ~]# cat /proc/cpuinfo| grep

2021-09-02 14:30:52 158

转载 max_pooling的意义在哪?

图像中的相邻像素倾向于具有相似的值,因此通常卷积层相邻的输出像素也具有相似的值。这意味着,卷积层输出中包含的大部分信息都是冗余的。如果我们使用边缘检测滤波器并在某个位置找到强边缘,那么我们也可能会在距离这个像素1个偏移的位置找到相对较强的边缘。但是它们都一样是边缘,我们并没有找到任何新东西。池化层解决了这个问题。这个网络层所做的就是通过减小输入的大小降低输出值的数量。所以池化层的作用在于不断地从原始数据中提炼信息,最终得到占用空间较小,包含较多信息的数据表示。...

2021-08-30 17:23:47 287

原创 Linux:如何通过端口号查找进程号?

1.使用lsof命令lsof 是“list open files”的缩写,在linux系统中,一切可是为文件,网络连接也可视为文件,因此,我们可以通过lsof命令查看占用某个端口号的进程。示例:lsof -i :8080或者lsof -i | grep 8080参数解释:-i 是Internet的缩写,它表示选择网络地址与[i]表示的内容匹配的所有文件(网络连接)。2. 使用netstat命令netstat是用于打印网络连接、路由表、接口统计信息等。目前官方文档是这是一个过时的命令,因此推

2021-07-29 22:56:04 24367

原创 ROC曲线和AUC评价指标:为什么AUC可以表示正例预测值大于负例预测值的概率?

https://www.zhihu.com/search?type=content&q=AUC%E4%B8%BA%E4%BB%80%E4%B9%88%E5%8F%AF%E4%BB%A5%E8%A1%A8%E7%A4%BA%E9%A2%84%E6%B5%8B%E7%9A%84%E6%AD%A3%E4%BE%8B%E6%8E%92%E5%9C%A8%E8%B4%9F%E4%BE%8B%E5%89%8D%E9%9D%A2%E7%9A%84%E6%A6%82%E7%8E%87https://blog.c.

2021-07-18 17:09:32 2725 3

原创 linux如何后台运行包括bash命令在内的各种命令

1. 使用nohup命令用法:nohup Command [ Arg ... ] [ & ]nohup命令全称是“no hang up‘”也就是在执行Command的时候忽略系统发出的所有挂断(SIGHUP)信号。由于我们希望该命令在后台运行(即不影响当前终端的下一个命令执行),需要添加 & ( 表示“and”的符号)到命令的尾部,该符号可实现后台运行。实例1:nohup bash test.sh > nohup.out &这里command就是“bash te

2021-06-13 20:27:42 1498 1

翻译 词性标注,句法分析中NN,NP是什么意思

TreeBank是一种标注了句法和语义句子结构的大型语料库,这些句法结构通常是树的形式,所以称之为TreeBank(树库)。The Penn TreeBank是第一个提出的TreeBank语料库,这个语料库使用的词性标注的类别包含了NN,NP。必须要知道正式表示和用于存储注释数据的文件格式之间有很大的区别。树库必须根据特定的语法构建。不同的文件格式可以实现相同的语法。例如,右图所示的John Loves Mary的句法分析可以用文本文件中的简单标记括号表示,如下所示(遵循Penn Treebank表示法)

2021-06-12 11:09:01 7072

转载 Linux中的压缩和解压缩命令zip|tar

一、 zip1. 使用zip压缩文件若使用zip来将文件夹a压缩为a.zip,那么它的语法应该为语法:zip -q -r [压缩文件名] [被压缩文件或文件夹]示例:zip -q -r a.zip a/其中-r代表 recursive,代表递归处理,将指定目录下的所有文件和子目录一并处理。-q代表 quiet,代表无声模式,不输出压缩时的具体细节。当然zip还有其他的压缩参数,详见文档。2.使用zip来从已压缩文件中删除文件它的语法及其示例为语法:zip -d [压缩文件名] [要删

2021-06-09 16:40:32 4268

原创 Python中模块的搜索路径及其手动添加——解决ImportError: attempted relative import with no known parent package

一、出错场景如果当前的工作路径就是在package1中(在此目录下执行a.py),而且在a.py中尝试用相对导入的方式引入b文件,就会导致出错。|package1 -__init__.py -a.py -b.py#a.pyfrom .b import *二、出错原因正如错误提示所将的一样,这是由于“在不知道父包的情况下尝试相对导入”导致出错。我们知道,python中是允许进行相对导入的,即通过.或者..引入其相应的模块。但是这种相对导入机制的原则是:相对导入是使

2021-04-12 18:43:37 478 1

转载 机器学习:什么是条件熵?

转自:通俗理解条件熵前面我们总结了信息熵的概念通俗理解信息熵 - 知乎专栏,这次我们来理解一下条件熵。我们首先知道信息熵是考虑该随机变量的所有可能取值,即所有可能发生事件所带来的信息量的期望。公式如下:我们的条件熵的定义是:定义为X给定条件下,Y的条件概率分布的熵对X的数学期望这个还是比较抽象,下面我们解释一下:设有随机变量(X,Y),其联合概率分布为条件熵H(Y|X)表示在已知随机变量X的条件下随机变量Y的不确定性。随机变量X给定的条件下随机变量Y的条件熵H(Y..

2021-03-15 16:23:50 6008 4

转载 python项目为什么要部署nginx和uwsgi?

如何部署一个flask项目:可参考这篇文章WSGI 协议WSGI:是一种协议规范,起到规范参数的作用,就像告诉公路一样,规定超车靠右行,速度不低于90km/h,等。但这一切都是对双方进行沟通,比如,重庆到武汉这条高速路,这儿重庆和武汉就各为一端,他们之间的行车规范就按照WSGI规则即可。我们现在需要记住,WSGI沟通的双方是wsgi server (比如uWSGI) 要和 wsgi application(比如django )wsgi server (比如uWSGI)实现wsgi协议规范的服

2021-02-23 17:45:19 1996

原创 nginx的启动、停止、重启

1. 启动(1)ubuntu中一般情况下安装nginx后自动配置环境变量,所以直接输入nginx:jackson@DESKTOP:~$ nginx(2)如果没有配置环境变量,使用以下命令:jackson@DESKTOP:~$ /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf将上述路径替换为你自己的nginx安装路径,如果不知道安装在哪,可使用以下命令查找jackson@DESKTOP:~$ whereis ngin

2021-02-23 16:50:38 418

原创 Linux: 如何根据进程名字查找进程号?——ps命令的用法

1.根据进程名字查找进程号,可使用ps命令。比如,我们想到进程nginx的进程号(pid), 可使用下面的命令:ps -C nginx -o pid=-C 是command的意思,一般进程名包含在启动该进程的命令(command)中,所以我们可以通过选择command name来实现我们的目的。-o是一个格式选项,输出用户想输出的列及其列名,这里pid=代表输出pid这一列,列名为空,当然你也可以定义其他列名。2.同样可使用进程号查找进程名比如我们想要查找进程号为1166的进程名,可使用以下命

2021-02-23 15:46:46 27981 4

原创 Linux: kill, pkill, killall命令的区别

一、概要1. kill 命令根据进程号(pid)杀死单个进程2. pkill 命令根据名字杀死该名字下的所有进程3. killall 命令根据名字杀死该名字下的所有进程,跟pkill类似二、kill 命令Linux kill 命令用于删除执行中的程序或工作。kill 可将指定的信息送至程序。预设的信息为 SIGTERM(15),可将指定程序终止。若仍无法终止该程序,可使用 SIGKILL(9) 信息尝试强制删除程序。基本用法:kill 2153 # 杀死进程号为2153的

2021-02-23 10:55:07 4089

原创 Linux:如何强制杀死一个进程和杀死多个进程

killhttps://www.cnblogs.com/wangcp-2014/p/5146343.htmlhttps://www.runoob.com/linux/linux-comm-kill.htmlhttps://www.cnblogs.com/heracles-lau/articles/3392029.htmlhttps://blog.csdn.net/xiaoyilong2007101095/article/details/72900739

2021-02-01 11:43:33 3774 1

转载 Linux: Usage中[],<>的含义

对于Linux初学者,查看帮助文档对于提升自己有很大的帮助。特别对于usage来说,只有看懂了用法,才能够学会它。1.在usage中,option有如下几个符号及其表示含义:[] 可选内容 <> 必选内容 {} 分组 | 二选一 … 同一个内容可多次出现 不在方括号和大括号中的内容是必选项2.options中的命令选项有两种形式:长选项 - -:后面跟完整的单词短选项 -:后面跟单个的字符,可多个组合使用,但长选项则不行黑.

2021-02-01 11:16:26 2026

原创 Pytorch:torch.Tensor.scatter()和torch.Tensor.gather

一、文档说明1. Tensor.scatter(dim, index, src) → Tensor它是torch.Tensor.scatter_()的错位版本,即:scatter_(dim, index, src, reduce=None) → Tensor该函数用来scatter对于一个3-D的tensor,self会被更新为self[index[i][j][k]][j][k] = src[i][j][k] # if dim == 0self[i][index[i][j][k]][k] =

2021-01-20 13:20:45 407 1

原创 Pytorch: view()和reshape()的区别?他们与continues()的关系是什么?

一、概要1. 两者相同之处view()和reshape()在pytorch中都可以用来重新调整tensor的形状。2. 两者不同之处1). view()产生的tensor总是和原来的tensor共享一份相同的数据,而reshape()在新形状满足一定条件时会共享相同一份数据,否则会复制一份新的数据。2). 两者对于原始tensor的连续性要求不同。reshape()不管tensor是否是连续的,都能成功改变形状。而view()对于不连续的tensor(),需要新形状shape满足一定条件才能成功改

2021-01-11 18:57:48 4292 2

原创 torch.Tensor.repeat是什么操作?对比numpy库和torch库中的tile和repeat操作

https://blog.csdn.net/u010496337/article/details/50572866/https://numpy.org/doc/stable/reference/generated/numpy.tile.htmlhttps://numpy.org/doc/stable/reference/generated/numpy.repeat.html

2020-12-18 23:38:50 1650 1

原创 机器学习:什么是困惑度?从信息熵和交叉熵谈起

信息量和信息熵https://blog.csdn.net/hearthougan/article/details/76192381http://www.ruanyifeng.com/blog/2014/09/information-entropy.html信息熵和交叉熵有什么关系吗?https://www.cnblogs.com/kyrieng/p/8694705.html信息熵和困惑度的关系https://www.zhihu.com/question/58482430...

2020-12-15 12:51:29 2471

原创 Pytorch三问

1. model.train()有什么用?如果模型中有BN层(Batch Normalization)和Dropout,需要在训练时添加model.train(),在测试时添加model.eval()。其中model.train()是保证BN层用每一批数据的均值和方差,而model.eval()是保证BN用全部训练数据的均值和方差;而对于Dropout,model.train()是随机取一部分网络连接来训练更新参数,而model.eval()是利用到了所有网络连接。参考:资料12. PyTorc

2020-11-24 16:02:44 211

翻译 机器学习:生成模型和判别模型的区别

一、名词解释生成方法由数据学习联合概率风波P(X,Y),然后求出条件概率分布P(Y|X)为预测的模型,即生成模型:P(Y∣X)=P(X,Y)P(X)P(Y|X)=\frac{P(X,Y)}{P(X)}P(Y∣X)=P(X)P(X,Y)​这样的方法之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。典型的生成模型由朴素贝叶斯法和隐马尔可夫模型。判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测模型,即判别模型。判别方法关心的是对给定的输入X,应该预测什么样的输出

2020-10-01 22:10:31 6704

原创 机器学习:损失函数、风险函数、经验风险、期望风险、结构风险

一、损失函数和风险函数的区别理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,称之为风险函数(risk function)或期望损失(expected loss).一句话总结就是:损失函数的平均为风险函数二、经验风险、期望风险、结构风险1. 经验风险 empirical risk经验风险就是模型f(X)在训练数据集上的平均损失(损失函数的值),也称之为经验损失。为什么叫经验风险呢?提供一个记忆的方法,由于训练数据集是我们已知的,那么就是我们的经验了,在训练集上的损失自然可以理解成经验

2020-10-01 21:41:25 3641

UML模式与应用加上UML精粹.rar

UML模式与应用英文版加上UML精粹,高清带书签,适合广大学生学习

2019-07-30

2019 数学建模4.rar

大学数学建模比赛培训资料,选修课课程ppt,包含退火算法,神经网络等等

2019-07-30

空空如也

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

TA关注的人

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