自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zhenlingcn的博客

技术文章博客 http://www.cnblogs.com/zhenlingcn/

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

原创 Node.js服务器启动出错 Error: listen EACCES 127.0.0.1:8888

问题描述最近使用Node.js遇到一个问题,具体报错信息如下所示Error: listen EACCES 127.0.0.1:8888 at Server.setupListenHandle [as _listen2] (net.js:1343:19) at listenInCluster (net.js:1401:12) at GetAddrInfoReqWrap.doListen [as callback] (net.js:1510:7) at GetAddrInfo

2021-07-08 16:45:56 7783

原创 浅谈机器学习竞赛中的一些技巧

有很多技巧可以帮助我们在机器学习比赛中取得好成绩。因此,在本文中,我将重点介绍一些在机器学习比赛中常用但在教科书中很少提及的小技巧。因此,我希望通过撰写本文,机器学习领域的新手能够从这些有趣的技巧中获益。数据预处理缺失数据分析分析数据中缺失的数据是一种非常有用的方法,可以识别无用的特征,并在后续步骤中设计插补策略。为此,我们可以使用“missingno”包。import missingno as msnomsno.bar(info)删除丢失数据过多的列在分析丢失的数据之后,我们可以

2021-04-29 16:55:49 499

原创 在Pymoo中实现多任务多目标优化

多任务多目标优化是近年来研究的热点。然而,Pymoo似乎还不支持这种优化范式。因此,在本文中,我打算在Pymoo中实现这个范式。实际上,多任务优化算法还是比较新的领域。总的来说,目前还不清楚哪种算法普遍优于其他算法。根据我目前的知识,[1][2][3]是一些应该考虑的有趣的论文。在本文中,我将尝试实现一个通用的模板代码,用于在Pymoo中嵌入自定义的多任务策略,而不是实现一个特定的多任务进化算法。首先,请允许我解释一下我的想法。由于多任务进化优化算法的基本思想是在群体之间交换信息以帮助解决问题,因此我们

2021-03-19 17:18:35 4421 1

原创 Matlab调用Python 无法解析名称 py.evaluation

问题背景Matlab环境下调用Python函数,调用文件为"evaluation.py",提示"py.evaluation"。解决方案首先确认Python文件路径已被导入,如果文件路径没有导入,则执行如下语句导入路径if count(py.sys.path,'文件路径') == 0 insert(py.sys.path,int32(0),'文件路径');end和普通的Python编程模式一样,在Matlab中,除了基础函数,使用其他任何函数都需要导入相应的库。例如导入numpy

2021-01-30 23:33:59 4001

原创 如何在MATLAB中进行神经网络的增量学习?

在深度学习领域,很多成功的案例可以归因于增量学习技术。增量学习有两个优点。首先,通过增量学习,我们不需要将大量数据加载到内存中。对于每次训练迭代,我们只需要加载相应的数据,就可以大大提高系统效率。此外,增量学习可以帮助我们减少训练时间。对于传统的机器学习算法,如果有任何新数据传入,我们需要重新训练我们的模型。但是,就神经网络而言,我们仅需要基于预训练的参数执行几次增量学习迭代,即可显着减少学习时间并节省计算资源。在MATLAB中,执行增量学习的方式不是那么直观。在本文中,我将介绍一种执行增量学习的简单方法

2021-01-11 17:24:48 2524 10

原创 偏差方差分解Python示例

偏差方差分解是在机器学习中众所周知的归因损失的工具。通常,针对特定问题的模型误差与该模型的稳定性和该模型的拟合能力有关。我们称该模型的拟合能力为偏差,并称该模型的稳定性为方差。偏差方差分解为确定模型性能不佳的根源提供了一种有效的方法,可以进一步有效地指导我们设计高质量的机器学习模型。首先,我们应该认识到,偏差方差分解不是分解特定模型的单个误差值,而是着重于根据不同的训练数据分解一组机器学习模型的预期误差。例如,我们可以使用不同的训练数据子集构建十个不同的决策树。然后我们可以计算该算法的预期误差。然而,一

2021-01-08 16:52:49 838

原创 ARM(aarch64)处理器Pytorch安装指南

安装conda依赖下载资源git clone --recursive https://github.com/pytorch/pytorchcd pytorch# if you are updating an existing checkoutgit submodule syncgit submodule update --init --recursive

2020-11-08 21:26:45 10804 8

原创 基于神经网络的中文论文评分器(Transformer + XGBoost)

此项目仅用于教育目的,我们不应在现实世界中使用它。作为助教,我总是要评审很多论文,这使我感到压力很大。因此,为了使自己免于重复工作,我建立了这个项目,并尝试使用机器学习来自动化评分过程。与传统的基于神经网络的评分器相比,该评分器基于传统的机器学习技术XGBoost。其背后的原因是,与神经网络相比,XGBoost在资源和时间消耗方面更容易训练。项目的基本想法很简单,我们可以从PDF文档中提取文本,然后使用Transformer从文档中提取文档嵌入向量。之后,我们可以使用XGBoost进行基于文档嵌入向量

2020-09-13 17:03:33 1692 3

原创 Python3.7 import _ssl DLL load failed

错误描述Anaconda Python3.7环境 Pycharm2019.1IDE中的PythonConsole无法正常启动,并输出以下错误C:\Users\abhil\AppData\Local\Continuum\anaconda3\envs\HeisenbergPy37\python.exe "C:\Program Files\JetBrains\PyCharm Community E...

2019-03-30 14:25:01 5747 2

原创 ImportError: DLL load failed: 找不到指定的模块。 TensorFlow 1.13

问题描述问题环境TensorFlow1.13 Python3.7 Cuda10.1解决方案TensorFlow1.13对应的CUDA版本应该为CUDA10.0(注意不是CUDA10.1),更换为CUDA10.0后问题即可解决。

2019-03-18 18:42:17 2035

原创 Failed to get device properties, error code: 30 CUDA版本错误导致GPU Lost

问题描述:GTX860M在使用CUDA10.0的使用发生了下面的错误同时使用nvidia-smi出现了下面的错误Unable to determine the device handle for GPU 0000:01:00.0: GPU is lost.解决方案:问题原因未知。更换CUDA9.2,驱动398.75之后问题解决。备注:使用CUDA10.0的情况下,很容易出现OO...

2019-03-02 21:59:25 8674 10

原创 Deeplearning4J Android A/libc: Fatal signal 11 (SIGSEGV), code 1

DL4J在安卓端训练阶段报了这个错误,网上也没有很好的答案,经过长时间的探索,发现通过Java代码一步步DEBUG可以找到问题根源。问题根源:这个错误与训练API无关,主要与预处理API相关,发生这个错误的原因是传入的InputStream读取异常。需要特别注意,预处理阶段通常使用imageLoader.asMatrix将图片的InputStream转化为矩阵,在转化过程中InputStr...

2019-02-16 21:21:29 444

原创 JNA 调用dll %1 不是有效的win32应用程序

问题描述win10环境下VS编译完成后,JNA调用DLL报“调用dll %1 不是有效的win32应用程序”错误。解决方案VS编译目标设置为x64即可解决问题。

2019-01-18 11:24:12 7744

原创 为什么JPA@Modifying需要@Transactional注解

在JPA开发中遇到一个很奇怪的问题,@Modifying需要和@Transactional配合使用才能正常使用。如下面代码所示 @Modifying @Transactional @Query("delete from User u where u.active = false") void deleteInactiveUsers();为什么@Modifying和@Trans...

2018-11-28 21:36:10 5024 5

原创 一个对象锁使用常见问题

从一份代码讲起首先看一份多线程代码,这份代码的执行结果是什么呢?class Scratch { public static void main(String[] args) { Thing thing = new Thing(); Thing thing2 = new Thing(); Thread thread1 = new Thr...

2018-05-11 17:15:32 679

原创 利用CAS实现自旋锁

什么是自旋锁自旋锁是一种十分常见的锁结构,自旋锁在申请资源但是申请不到的情况下并不会挂起,而是会选择持续申请。这种锁结果适用于每个线程占用较少时间的锁,并且线程阻塞状态切换的代价远高于等待的代价时使用。CAS操作CAS操作底层给予汇编语言实现,是原子操作。Java对CAS操作也实现了上层的封装。通过CAS操作,可以对基本数据类型和引用类型进行赋值操作。Java实现impor...

2018-05-11 16:13:01 2323 1

原创 蓝桥杯 合并石子 GarsiaWachs算法

题意中文题目,不解释题解从DP角度来看,这道题是非常有难度的。普通的DP就只能过90%的数据,貌似正解需要用到四边形优化。。。不过呢,有一位叫GarsiaWachs的大牛提出了一套算法,可以在O(N^2)的复杂度下解决这个问题。(原本的DP复杂度为O(N^3),据说使用平衡树优化以后可以达到O(NlogN),不过对于这道题没什么必要了) 网上关于GarsiaWachs算法有很多讲解,...

2018-05-10 16:33:37 475

原创 XTU1262 优先队列

题解使用优先队列模拟一下就可以了,但是需要注意进行优化,题目有b=0的情况,也就是说无论如何捞鱼都不会变,这种情况需要直接优化掉,不能进行模拟,否则会超时。代码#include <bits/stdc++.h>#define LL long long#define UP(i,l,h) for(int i=l;i<h;i++)#define DOWN(i,h...

2018-04-08 12:53:17 484

原创 网易校招编程 疯狂队列

题目小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列。有一次,n个学生在列队的时候,小易老师正好去卫生间了。学生们终于有机会反击了,于是学生们决定来一次疯狂的队列,他们定义一个队列的疯狂值为每对相邻排列学生身高差的绝对值总和。由于按照身高顺序排列的队列的疯狂值是最小的,他们当然决定按照疯狂值最大的顺序来进行列队。现在给出n个学生的身高,请计算...

2018-03-09 20:51:37 283

原创 网易校招编程-堆棋子

题目描述小易将n个棋子摆放在一张无限大的棋盘上。第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.题解这道题其实想明白了就很简单,直接暴力求解即可。首先我们要明确一点,最终的最优点X坐标一定是某...

2018-03-09 20:11:49 289

原创 基于IntellijIdea开发JavaWeb出现404错误的解决方案

注意这里只提供一种题主遇到的解决方案,404错误通常情况下为页面未找到,这种情况题主并非题主所想要描述的问题。题主所描述的问题主要出现在IntellijIdea开发中,尤其是使用了第三方框架(比如SpringMVC)的情况下。问题描述 如上图出现了404错误,但是页面确实存在。(尤其是在使用了SpringMVC等框架进行页面跳转的情况下)这时候应该考虑是否由于IntellijIdea...

2018-02-21 21:05:59 5241

原创 UVALive 4080 最短路树

题意给N个点,M条边,如果两个点之间没有边,则默认为l。问所有点两两之间最短路之和是多少。然后删除一条边,问删除某一条边后最大是多少。题解这道题第一问可以很简单用Floyd算法求解。但是第二问如果使用Floyd算法,就会存在超时的问题。贪心上也没有比较好的策略,因此考虑使用最短路算法暴力枚举。但是由于暴力枚举可能超时,因此引入最短路树的概念。最短路树就是一个点到其他所有点的最短路所形成...

2018-02-16 20:50:36 353

原创 UVA 11374 SPFA+路径打印

题意有廉价线路和普通线路,只有一次乘坐普通线路的机会,问从S到E花费最少的线路。并输出路径。题解由于只有一次机会,因此可以直接枚举乘坐的普通线路。针对每次选择,两遍SPFA(枚举正向和反向)。代码#include<bits/stdc++.h>#define LL long long#define UP(i,l,h) for(int i=l;i<h;i++)#define DOWN(i,h,l)

2017-11-22 19:59:01 301

原创 HDU 6058 链表

题意给一组数,这一组数包含很多个子序列,求这些子序列第K大元素的和。题解观察发现K很小,因此可以从此着手。 首先我们可以观察一下2,3,4,1,5(求第2大的和)这个序列的计算情况 我们可以发现,4出现了三次。因为右边有一个5,如果子序列包含这一个5,然后左边没有比4大的数的时候,4是第2大的数,也就是符合情况的数。这时候,左边有三种情况符合这种条件,即左边没有元素,左边有3,左边有2,3。

2017-11-04 20:17:35 364

原创 Cannot call sendRedirect() after the response has been committed 解决方案

问题描述: 注册完成后提示500错误 问题排查: 百度检索得知 于是检查代码 发现在重写doPost方法的时候继承了父类的方法内容,从而导致resp调用了两次。 解决方案: 注释即可

2017-11-01 13:01:22 2979

原创 Gym 101161E 主席树+LCA

题意给一棵树,问树上路径权值中位数。题解树上路径权值中位数就是求第k/2大数,很明显主席树+LCA。这道题还是比较容易的,有一点非常重要的是权值W的范围是1-100000,这个范围很大程度上影响了题目的实现难度。由于权值最大只有10万,因此我们可以搞一个10万的主席树,这样的话每一次查询第K大,我们可以利用主席树去针对某一段版本的线段树去查询,从右到左的第K的数字就是第K大。 搞明白了这个,还有一

2017-10-19 22:19:31 282

原创 CFGym 101490D DP

题意有N条船,每条船过河需要20S,桥放下和拉起需要60S,要求使得桥放下之后的总时间最小,问这个最小的总时间题解想清楚了就发现很简单。。。 状态转移方程如下:dp[i]代表前i条船通过所需要的最少时间dp[i]=min(dp[i],dp[i-j]+max(a[i]-a[i-j+1]+20-1800,j*20)+120);对于一条船,这条船有可能是在前面某一条船把桥拉起的时候,没有放下,然后通过可

2017-10-15 16:02:49 318

原创 UVALive 3263 二维几何基础

题意给一笔画的N个点,问一笔画能分出多少块图形题解用欧拉定理,顶点数+面数-边数=2。顶点数把所有直线暴力两两相交,然后去重即可。枚举所有点,如果一个点在一条直线上,并且这个点不是端点,那么就一定是交点,这个交点把直线分成了两部分。因此可以暴力枚举点,对于每条直线,每枚举到一个交点,边数++。注意事项需要特别注意的是,题目的数据好像有些问题。网上大部分代码都是参考刘汝佳的蓝书,所以大部分人都没有提到

2017-10-12 19:24:51 291

原创 HDU 4433 DP

题意给1000个数字,每次可以转动1-3连续位,问从一个状态转到另一个状态最少需要多少步。题解比赛时候想复杂了,这道题跟BFS没有任何关系。不过还是有很多神牛用记忆化搜索过了。主要就是设计DP状态,网上有一种比较好想的状态,dp[i][j][k]代表第i个位置已经合法了,j代表第i+1个位置向上转动了j步,k代表第i+2个位置向上转动了k步。这样的话,我们就可以很轻松的进行状态转移。注意事项唯一需要

2017-10-12 13:27:46 274

原创 HDU 4804 轮廓线DP

题意给一个网格,里面能放1*1和1*2的方格,标记为0的地方不能放方格。问有多少种摆放方式。题解刘汝佳的训练指南上有这个的简化版本,在哪个版本中不存在1*1的方格和不能放置的方格。但是实际上,这种放方格的问题,无论有多少要求,轮廓线DP都能很好的解决。 深入理解轮廓线DP是解决这道题的前提条件,普通的状压DP是针对行来考虑的,而轮廓线DP是针对格子来考虑的。对行进行的考虑,只能依靠枚举两行的状态来

2017-10-09 22:15:58 306

原创 UVALive 7902 后缀自动机

题意给N个字符串,找出第一个字符串中最短的一个子串,使得这个子串不在其他所有的字符串中出现。题解对于这样一道题,没有现成的工具可以利用,但是既然涉及到了子串的问题,就可以考虑后缀自动机。后缀自动机可以用来找最长公共子串。对于这道题,我们想要利用后缀自动机,就是需要采取一些措施,使得这个问题转化为最长公共子串的问题。 我们可以把其他字符串拼接成一个字符串,需要注意的是要在中间加上一个分割字符,因为如

2017-10-09 19:49:04 294

原创 HDU 4455 DP+树状数组

题意给一串数字,里面有N个数字。有Q次查询,每次查询长度为X的串,不相同的数字个数之和。题解很难看出来是DP,不过考虑到查询问题,并且无法用普通的数据结构进行解决,同时长度之间存在利用关系,因此可以用DP解决。 首先对于长度为1的串,很明显可以得到dp[1]=n。对于长度为2的串,我们首先要删除末尾的一个长度为1的串,然后对于每个串再加上一个值,如果新增了一个数字,那么这个值就是1,否则就是0。然

2017-10-08 00:34:53 592

原创 HDU 4799 树形DP

题意微博投票,有两种投票选择方式,一种是选择LIKE,另一种是选择CANDLE。允许进行一些翻转操作,有一些点是已经被别人翻转过的,对于这些点我们翻转需要消耗Y的票数,对于其他的点我们翻转需要消耗X的票数。问我们最多可以得到LIKE-CANDLE票数最大值是多少。题解题目很难读,有很多坑。比如说给的投票状态是最初的状态,也就是别人还没有反转的状态,因此如果别人翻转了的话,我们还需要在DFS的过程中进

2017-10-05 22:26:14 299

原创 HDU 4778 状压DP+博弈

题意给G种颜色,B种背包,每S种同一颜色的宝石可以合成一种神奇的宝石。A和B每次取一袋宝石到熔炉中,如果可以合成新的宝石,那么拿走这些宝石,并且可以再次拿一袋宝石到熔炉中。问A所得宝石-B所的宝石的最大值是多少?题解很好的一道题,状压DP融合了博弈的思想。首先我们要明确,博弈的最优状态是由最终的必胜态决定的,因此我们需要从最终状态向前转移。对于一个状态,如果这个状态该X取宝石了(X是谁无所谓),那么

2017-10-05 20:00:27 295

原创 HihoCoder 1259 数位DP

题意3× f(n) × f(2n+1) = f(2n) × (1 + 3f(n)), f(2n) < 6×f(n).。要求每一个N满足这两个式子。设所有的f(n)%k==t为g(t),求所有g(t)的异或。题解首先我们需要发现f(2n)=3*f(n),f(2n+1)=3*f(n)+1。了解了这个以后,我们可以将一些数写出来,比如说1,3,4。。。如果我们把这些数写成二进制形式,可以发现,是按照二进制

2017-10-01 22:34:12 322

原创 HihoCoder 1251 BFS预处理

题意给一堆字符串,问转换成另一种字符串,最少需要多少步。存在两种操作,第一种操作是讲一个数字转换为另一个数字,第二种操作是将一种数字转换为另一种数字。题解首先说明一下,这道题Uvalive是过不了的,只有Hihocoder能过。 这道题暴力BFS肯定是超时的。但是由于数字只有六种,我们可以考虑对数字种类转换进行BFS预处理。记录从123456-》123456到其他数字映射的最小步数,需要注意的是,

2017-10-01 16:20:27 295

原创 HihoCoder 1579 组合数学

题意问符合一个后缀数组的小写字符串组合有多少种题解首先观察后缀数组,4 3 2 5 1。可以得到一些信息: 1、4<3<2<5<1一定是符合的 2、至于等号关系需要判断该位置后面的字符串与下一个位置后面字符串的关系,如果该位置后面字符串>下一个位置后面字符串,那么等号一定无法取到 3、关于后面字符串大小的判断,我们可以再次利用后缀数组进行判断,我们可以搞一个数组,记录以X开始的后缀在数组中的位

2017-09-28 17:18:02 481

原创 HihoCoder 1580 RMQ+DP

题意给一个矩阵,必须要修改一个值,使得最大子矩阵和最大。求这个最大子矩阵和。题解这道题非常坑的一点在于最大子矩阵并不一定要包含修改的元素,题目只是问了最大子矩阵而已。 由于这道题没有繁复的修改操作,但是存在最大值查询这一条件,我们首先考虑RMQ。可以发现这个最大子矩阵和的问题RMQ是无法解决的,于是我们考虑用DP去处理,用RMQ去进行优化。 首先我们去枚举子矩阵包含哪些行,这个是O(N^2)的,

2017-09-28 15:07:30 257

原创 Codeforces 863C 模拟

题意Alice和Bob玩一个游戏,2比1大,3比2大,1比3大。最开始两个人选择a和b,随后进行k次游戏,每一次每个人选择的数字由一个矩阵决定。如果上一回合A选择了a,B选择了b,那么A这一回合选择A矩阵里的(a,b)元素,B这一回合选择B矩阵里的(a,b)元素。问A,B能赢多少次。题解我们可以看出来,A和B选择的a和b一定是循环的,因此我们可以写一段代码去找出这个循环节。然后对于循环节前后的元素特

2017-09-23 19:31:26 533

原创 Codeforces 863D 模拟

题意有一组数,可以进行两种变换,一种是区间元素循环右移,一种是区间元素翻转。最多有20万操作,最后有100次查询,问某个点的值是多少。题解看起来是一道很难的数据结构题,但是查询只有100次,所以暴力模拟就可以了。。。100次查询,逆着推,一直退到所有操作之前,输出这个值就可以了。代码#include<bits/stdc++.h>#define LL long long#define UP(i,l

2017-09-23 18:31:22 452

YALE人脸库

Yale人脸库 15种,165张人脸

2017-06-13

空空如也

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

TA关注的人

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