<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhenlingcn的博客]]></title><description><![CDATA[技术文章博客 http://www.cnblogs.com/zhenlingcn/]]></description><link>https://blog.csdn.net/zhenlingcn</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; zhenlingcn]]></copyright><item><title><![CDATA[Node.js服务器启动出错 Error: listen EACCES 127.0.0.1:8888]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/118577022</link><guid>https://blog.csdn.net/zhenlingcn/article/details/118577022</guid><author>zhenlingcn</author><pubDate>Thu, 08 Jul 2021 16:45:56 +0800</pubDate><description><![CDATA[问题描述
最近使用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]]></description><category></category></item><item><title><![CDATA[浅谈机器学习竞赛中的一些技巧]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/116272677</link><guid>https://blog.csdn.net/zhenlingcn/article/details/116272677</guid><author>zhenlingcn</author><pubDate>Thu, 29 Apr 2021 16:55:49 +0800</pubDate><description><![CDATA[有很多技巧可以帮助我们在机器学习比赛中取得好成绩。因此，在本文中，我将重点介绍一些在机器学习比赛中常用但在教科书中很少提及的小技巧。因此，我希望通过撰写本文，机器学习领域的新手能够从这些有趣的技巧中获益。
数据预处理


缺失数据分析
分析数据中缺失的数据是一种非常有用的方法，可以识别无用的特征，并在后续步骤中设计插补策略。为此，我们可以使用“missingno”包。
import missingno as msno

msno.bar(info)



删除丢失数据过多的列
在分析丢失的数据之后，我们可以]]></description><category></category></item><item><title><![CDATA[在Pymoo中实现多任务多目标优化]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/115010601</link><guid>https://blog.csdn.net/zhenlingcn/article/details/115010601</guid><author>zhenlingcn</author><pubDate>Fri, 19 Mar 2021 17:18:35 +0800</pubDate><description><![CDATA[多任务多目标优化是近年来研究的热点。然而，Pymoo似乎还不支持这种优化范式。因此，在本文中，我打算在Pymoo中实现这个范式。实际上，多任务优化算法还是比较新的领域。总的来说，目前还不清楚哪种算法普遍优于其他算法。根据我目前的知识，[1][2][3]是一些应该考虑的有趣的论文。
在本文中，我将尝试实现一个通用的模板代码，用于在Pymoo中嵌入自定义的多任务策略，而不是实现一个特定的多任务进化算法。
首先，请允许我解释一下我的想法。由于多任务进化优化算法的基本思想是在群体之间交换信息以帮助解决问题，因此我们]]></description><category></category></item><item><title><![CDATA[Matlab调用Python 无法解析名称 py.evaluation]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/113448324</link><guid>https://blog.csdn.net/zhenlingcn/article/details/113448324</guid><author>zhenlingcn</author><pubDate>Sat, 30 Jan 2021 23:33:59 +0800</pubDate><description><![CDATA[问题背景
Matlab环境下调用Python函数，调用文件为"evaluation.py"，提示"py.evaluation"。

解决方案

首先确认Python文件路径已被导入，如果文件路径没有导入，则执行如下语句导入路径

if count(py.sys.path,'文件路径') == 0
    insert(py.sys.path,int32(0),'文件路径');
end


和普通的Python编程模式一样，在Matlab中，除了基础函数，使用其他任何函数都需要导入相应的库。例如导入numpy]]></description><category></category></item><item><title><![CDATA[如何在MATLAB中进行神经网络的增量学习？]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/112479161</link><guid>https://blog.csdn.net/zhenlingcn/article/details/112479161</guid><author>zhenlingcn</author><pubDate>Mon, 11 Jan 2021 17:24:48 +0800</pubDate><description><![CDATA[在深度学习领域，很多成功的案例可以归因于增量学习技术。增量学习有两个优点。首先，通过增量学习，我们不需要将大量数据加载到内存中。对于每次训练迭代，我们只需要加载相应的数据，就可以大大提高系统效率。此外，增量学习可以帮助我们减少训练时间。对于传统的机器学习算法，如果有任何新数据传入，我们需要重新训练我们的模型。但是，就神经网络而言，我们仅需要基于预训练的参数执行几次增量学习迭代，即可显着减少学习时间并节省计算资源。
在MATLAB中，执行增量学习的方式不是那么直观。在本文中，我将介绍一种执行增量学习的简单方法]]></description><category></category></item><item><title><![CDATA[偏差方差分解Python示例]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/112371226</link><guid>https://blog.csdn.net/zhenlingcn/article/details/112371226</guid><author>zhenlingcn</author><pubDate>Fri, 08 Jan 2021 16:52:49 +0800</pubDate><description><![CDATA[偏差方差分解是在机器学习中众所周知的归因损失的工具。通常，针对特定问题的模型误差与该模型的稳定性和该模型的拟合能力有关。我们称该模型的拟合能力为偏差，并称该模型的稳定性为方差。
偏差方差分解为确定模型性能不佳的根源提供了一种有效的方法，可以进一步有效地指导我们设计高质量的机器学习模型。
首先，我们应该认识到，偏差方差分解不是分解特定模型的单个误差值，而是着重于根据不同的训练数据分解一组机器学习模型的预期误差。例如，我们可以使用不同的训练数据子集构建十个不同的决策树。然后我们可以计算该算法的预期误差。然而，一]]></description><category></category></item><item><title><![CDATA[ARM（aarch64）处理器Pytorch安装指南]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/109559570</link><guid>https://blog.csdn.net/zhenlingcn/article/details/109559570</guid><author>zhenlingcn</author><pubDate>Sun, 08 Nov 2020 21:26:45 +0800</pubDate><description><![CDATA[安装conda依赖



下载资源

git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
# if you are updating an existing checkout
git submodule sync
git submodule update --init --recursive


]]></description><category></category></item><item><title><![CDATA[基于神经网络的中文论文评分器（Transformer + XGBoost）]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/108564584</link><guid>https://blog.csdn.net/zhenlingcn/article/details/108564584</guid><author>zhenlingcn</author><pubDate>Sun, 13 Sep 2020 17:03:33 +0800</pubDate><description><![CDATA[此项目仅用于教育目的，我们不应在现实世界中使用它。
作为助教，我总是要评审很多论文，这使我感到压力很大。因此，为了使自己免于重复工作，我建立了这个项目，并尝试使用机器学习来自动化评分过程。
与传统的基于神经网络的评分器相比，该评分器基于传统的机器学习技术XGBoost。其背后的原因是，与神经网络相比，XGBoost在资源和时间消耗方面更容易训练。
项目的基本想法很简单，我们可以从PDF文档中提取文本，然后使用Transformer从文档中提取文档嵌入向量。之后，我们可以使用XGBoost进行基于文档嵌入向量]]></description><category></category></item><item><title><![CDATA[Python3.7 import _ssl DLL load failed]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/88911990</link><guid>https://blog.csdn.net/zhenlingcn/article/details/88911990</guid><author>zhenlingcn</author><pubDate>Sat, 30 Mar 2019 14:25:01 +0800</pubDate><description><![CDATA[错误描述
Anaconda Python3.7环境 Pycharm2019.1
IDE中的PythonConsole无法正常启动，并输出以下错误
C:\Users\abhil\AppData\Local\Continuum\anaconda3\envs\HeisenbergPy37\python.exe "C:\Program Files\JetBrains\PyCharm Community E...]]></description><category></category></item><item><title><![CDATA[ImportError: DLL load failed: 找不到指定的模块。 TensorFlow 1.13]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/88647288</link><guid>https://blog.csdn.net/zhenlingcn/article/details/88647288</guid><author>zhenlingcn</author><pubDate>Mon, 18 Mar 2019 18:42:17 +0800</pubDate><description><![CDATA[问题描述

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

]]></description><category></category></item><item><title><![CDATA[Failed to get device properties, error code: 30 CUDA版本错误导致GPU Lost]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/88082252</link><guid>https://blog.csdn.net/zhenlingcn/article/details/88082252</guid><author>zhenlingcn</author><pubDate>Sat, 02 Mar 2019 21:59:25 +0800</pubDate><description><![CDATA[问题描述：
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...]]></description><category></category></item><item><title><![CDATA[Deeplearning4J Android A/libc: Fatal signal 11 (SIGSEGV), code 1]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/87473983</link><guid>https://blog.csdn.net/zhenlingcn/article/details/87473983</guid><author>zhenlingcn</author><pubDate>Sat, 16 Feb 2019 21:21:29 +0800</pubDate><description><![CDATA[DL4J在安卓端训练阶段报了这个错误，网上也没有很好的答案，经过长时间的探索，发现通过Java代码一步步DEBUG可以找到问题根源。

问题根源：
这个错误与训练API无关，主要与预处理API相关，发生这个错误的原因是传入的InputStream读取异常。
需要特别注意，预处理阶段通常使用imageLoader.asMatrix将图片的InputStream转化为矩阵，在转化过程中InputStr...]]></description><category></category></item><item><title><![CDATA[JNA 调用dll %1 不是有效的win32应用程序]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/86536944</link><guid>https://blog.csdn.net/zhenlingcn/article/details/86536944</guid><author>zhenlingcn</author><pubDate>Fri, 18 Jan 2019 11:24:12 +0800</pubDate><description><![CDATA[问题描述
win10环境下VS编译完成后，JNA调用DLL报“调用dll %1 不是有效的win32应用程序”错误。
解决方案
VS编译目标设置为x64即可解决问题。

]]></description><category></category></item><item><title><![CDATA[为什么JPA@Modifying需要@Transactional注解]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/84593013</link><guid>https://blog.csdn.net/zhenlingcn/article/details/84593013</guid><author>zhenlingcn</author><pubDate>Wed, 28 Nov 2018 21:36:10 +0800</pubDate><description><![CDATA[在JPA开发中遇到一个很奇怪的问题，@Modifying需要和@Transactional配合使用才能正常使用。如下面代码所示

  @Modifying
  @Transactional
  @Query(&quot;delete from User u where u.active = false&quot;)
  void deleteInactiveUsers();

为什么@Modifying和@Trans...]]></description><category></category></item><item><title><![CDATA[一个对象锁使用常见问题]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/80284244</link><guid>https://blog.csdn.net/zhenlingcn/article/details/80284244</guid><author>zhenlingcn</author><pubDate>Fri, 11 May 2018 17:15:32 +0800</pubDate><description><![CDATA[从一份代码讲起

首先看一份多线程代码，这份代码的执行结果是什么呢？

class Scratch {
    public static void main(String[] args) {
        Thing thing = new Thing();
        Thing thing2 = new Thing();
        Thread thread1 = new Thr...]]></description><category></category></item><item><title><![CDATA[利用CAS实现自旋锁]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/80283080</link><guid>https://blog.csdn.net/zhenlingcn/article/details/80283080</guid><author>zhenlingcn</author><pubDate>Fri, 11 May 2018 16:13:01 +0800</pubDate><description><![CDATA[什么是自旋锁

自旋锁是一种十分常见的锁结构，自旋锁在申请资源但是申请不到的情况下并不会挂起，而是会选择持续申请。这种锁结果适用于每个线程占用较少时间的锁，并且线程阻塞状态切换的代价远高于等待的代价时使用。

CAS操作

CAS操作底层给予汇编语言实现，是原子操作。Java对CAS操作也实现了上层的封装。通过CAS操作，可以对基本数据类型和引用类型进行赋值操作。

Java实现



impor...]]></description><category></category></item><item><title><![CDATA[蓝桥杯 合并石子 GarsiaWachs算法]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/80269956</link><guid>https://blog.csdn.net/zhenlingcn/article/details/80269956</guid><author>zhenlingcn</author><pubDate>Thu, 10 May 2018 16:33:37 +0800</pubDate><description><![CDATA[题意

中文题目，不解释

题解

从DP角度来看，这道题是非常有难度的。普通的DP就只能过90%的数据，貌似正解需要用到四边形优化。。。不过呢，有一位叫GarsiaWachs的大牛提出了一套算法，可以在O(N^2)的复杂度下解决这个问题。（原本的DP复杂度为O（N^3），据说使用平衡树优化以后可以达到O(NlogN)，不过对于这道题没什么必要了） 
网上关于GarsiaWachs算法有很多讲解，...]]></description><category></category></item><item><title><![CDATA[XTU1262 优先队列]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/79850398</link><guid>https://blog.csdn.net/zhenlingcn/article/details/79850398</guid><author>zhenlingcn</author><pubDate>Sun, 08 Apr 2018 12:53:17 +0800</pubDate><description><![CDATA[题解

使用优先队列模拟一下就可以了，但是需要注意进行优化，题目有b=0的情况，也就是说无论如何捞鱼都不会变，这种情况需要直接优化掉，不能进行模拟，否则会超时。



代码



#include &amp;lt;bits/stdc++.h&amp;gt;
#define LL long long
#define UP(i,l,h) for(int i=l;i&amp;lt;h;i++)
#define DOWN(i,h...]]></description><category></category></item><item><title><![CDATA[网易校招编程 疯狂队列]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/79502628</link><guid>https://blog.csdn.net/zhenlingcn/article/details/79502628</guid><author>zhenlingcn</author><pubDate>Fri, 09 Mar 2018 20:51:37 +0800</pubDate><description><![CDATA[题目

小易老师是非常严厉的,它会要求所有学生在进入教室前都排成一列,并且他要求学生按照身高不递减的顺序排列。有一次,n个学生在列队的时候,小易老师正好去卫生间了。学生们终于有机会反击了,于是学生们决定来一次疯狂的队列,他们定义一个队列的疯狂值为每对相邻排列学生身高差的绝对值总和。由于按照身高顺序排列的队列的疯狂值是最小的,他们当然决定按照疯狂值最大的顺序来进行列队。现在给出n个学生的身高,请计算...]]></description><category></category></item><item><title><![CDATA[网易校招编程-堆棋子]]></title><link>https://blog.csdn.net/zhenlingcn/article/details/79502219</link><guid>https://blog.csdn.net/zhenlingcn/article/details/79502219</guid><author>zhenlingcn</author><pubDate>Fri, 09 Mar 2018 20:11:49 +0800</pubDate><description><![CDATA[题目描述

小易将n个棋子摆放在一张无限大的棋盘上。第i个棋子放在第x[i]行y[i]列。同一个格子允许放置多个棋子。每一次操作小易可以把一个棋子拿起并将其移动到原格子的上、下、左、右的任意一个格子中。小易想知道要让棋盘上出现有一个格子中至少有i(1 ≤ i ≤ n)个棋子所需要的最少操作次数.

题解

这道题其实想明白了就很简单，直接暴力求解即可。首先我们要明确一点，最终的最优点X坐标一定是某...]]></description><category></category></item></channel></rss>