<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[kuabiku的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/kuabiku</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; kuabiku]]></copyright><item><title><![CDATA[对时序数据进行分类与聚类]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/132732019</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/132732019</guid><author>kuabiku</author><pubDate>Thu, 07 Sep 2023 10:13:35 +0800</pubDate><description><![CDATA[我在最近的工作中遇到了一个问题，问题是我需要根据银行账户在一定时间内的使用信息对该账户在未来的一段时间是否会被销户进行预测。这是一个双元值的分类问题，只有两种可能，即会被销户和不会被销户。针对这个问题一般来说有两种解决策略。下面我会使用这两种算法，运行并对比结果，然后找到最合适的算法。]]></description><category></category></item><item><title><![CDATA[金融风控数据分析-信用评分卡建模(附数据集下载地址)]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/132601004</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/132601004</guid><author>kuabiku</author><pubDate>Thu, 31 Aug 2023 14:28:35 +0800</pubDate><description><![CDATA[本文从信用卡评分的基础概念开始，理解信用评分卡在风控中发挥的作用。第二部分使用公开的信用数据集从0到1建立了一个信用评分卡。包括数据的探索性分析，数据预处理，评分卡建模，评分卡生成以及最后的有效性验证。在建模过程中也交叉地介绍了一些理论概念，这也有助于理解每一个步骤具体含义。整体上梳理了风控中信用评分卡的建模流程。]]></description><category></category></item><item><title><![CDATA[yolov8-制作数据集，数据集格式转换（yolo格式-voc格式）附完整代码]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/132088402</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/132088402</guid><author>kuabiku</author><pubDate>Thu, 03 Aug 2023 18:26:40 +0800</pubDate><description><![CDATA[yolo训练时可使用的数据集格式为yolo格式以及voc格式， voc格式的数据集在训练时需要先转换为yolo格式，然后根据自己的数据集的位置更改yaml配置文件的文件路径即可。基于目前对Yolo系列训练模型的讲解已经很全面，所以本文主要讲解yolo数据集与voc数据集之间的转换。两种数据集形式的最大区别就是yolo是直接采用txt文件保存模型的labels标签，如下图，每一行都代表着该图像中的一个标签GT。而voc格式的标签是保存在Annotations目录下的xml文件当中，除此之外无差别。]]></description><category></category></item><item><title><![CDATA[最细致讲解yolov8模型推理完整代码--（前处理，后处理）]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/132083671</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/132083671</guid><author>kuabiku</author><pubDate>Thu, 03 Aug 2023 16:53:47 +0800</pubDate><description><![CDATA[筛选完之后得到的输出output_box格式为N * [x,y,w,h,conf(最大类别概率),class] ， N是筛选后预测框的个数， 通过[x,y,w,h,conf(最大类别概率),class]这些数据我们就可以将预测框输出绘制在原图像上， 但是要注意，我们此时模型的输入是经过letterbox处理的，所以需要先将预测框的坐标转换回原坐标系的坐标，接下来就对刚刚的（8400，85）进行后处理，先进行置信度过滤，再进行NMS非极大值抑制，本文将这两步筛选操作放在了一个函数中，]]></description><category></category></item><item><title><![CDATA[yolo系列笔记（v4-v5）]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/132009909</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/132009909</guid><author>kuabiku</author><pubDate>Sun, 30 Jul 2023 21:52:20 +0800</pubDate><description><![CDATA[FPN是将特征层向下累加，这样对于任意特征层来说，他是看不到其下面特征层的信息的，PAN在FPN的基础上，采取了个向上加的功能，让特征层包含的信息更全面。，所以其范围是（-1.5，1.5）相当于以左上角的点作为起点的话，预测框是可以超出一个cell的距离的， 像下图3个cell都可以对黑点这个真实框做预测，相当于扩充了正样本的数量，让预测框不被cell限制的那么死。这个基本和Yolov4中的一样，但Yolov5将长和宽也进行的改动，之前的容易出现指数爆炸，造成BwBh值过大，导致训练不稳定。]]></description><category></category></item><item><title><![CDATA[self-attention笔记]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/131956808</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/131956808</guid><author>kuabiku</author><pubDate>Thu, 27 Jul 2023 17:51:41 +0800</pubDate><description><![CDATA[一般地，对于一个向量长度为t，向量个数为的2（也就是只有a1和a2）的输入来说， 其正常情况下输出的b的shape是2X2，通过一个2Xt的参数矩阵W0，将其shape变为输入的shape：2Xt  如果此时对向量拆分，变成t/u 那么输出b的shape应该是2X(2*t/u) ，因为将原本的一份b变成了t/u份，  此时再通过（2*t/u）X t 的矩阵将其变为输入的shape:2Xt。对于每一个q，都去跟其他的k相乘，得到a11后做soft-max处理， 这时候的a11和a12都是具体的值，]]></description><category></category></item><item><title><![CDATA[yolo系列学习笔记（yolov1~yolov3-spp）]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/131949693</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/131949693</guid><author>kuabiku</author><pubDate>Wed, 26 Jul 2023 23:30:45 +0800</pubDate><description><![CDATA[yolov1 与rcnn系列算法最大的不同就是Yolov1是一阶段直接输出结果， 对每一个grid都进行预测，输出7x7x30的向量，  其中7x7是特征图的方格，每一个格子都是个30维的向量，其中2x4是对两个Bbox的位置的预测（这里注意v1是直接预测Bbox相对于整个图像的值0~1），2x1是置信度（Pr*IOU，Pr表示目标是否落在grid里），20x1是类别。这有一个缺点，因为没限制tx的值，在神经网络迭代的过程中会出现一些波动导致tx的值过大，使得预测框超过了原本基于的这个grid。]]></description><category></category></item><item><title><![CDATA[（笔记）线性判别分析LDA]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/131844153</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/131844153</guid><author>kuabiku</author><pubDate>Fri, 21 Jul 2023 19:21:06 +0800</pubDate><description><![CDATA[Sw可能是奇异的，（如果存在数据属性方差为0） 那么就求不了逆 也就是算不出Sw。所以，哪怕在有标签类别的数据中，LDA也不是一定比PCA好的（比如下图的情况），所以在实际情况中需要先对样本进行分析。在实际应用中，可以用计算协方差的公式来计算散度矩阵，一般的仿真平台都会封装好计算协方差的函数，对于一个协方差公式。当样本均值相等时，LDA会失效，因为对于如果两样本均值相等，那么分子一定为0，在这个情况下怎么投影都没有用。PCA适用于无标签的数据中，LDA适用于有标签。来说，其散度矩阵的表达式就为。]]></description><category></category></item><item><title><![CDATA[（笔记）深度理解-主成分分析PCA]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/131814768</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/131814768</guid><author>kuabiku</author><pubDate>Thu, 20 Jul 2023 17:06:34 +0800</pubDate><description><![CDATA[其中，第一个新坐标轴选择是原始数据中方差最大的方向，第二个新坐标轴选取是与第一个坐标轴正交的平面中使得方差最大的，第三个轴是与第1,2个轴正交的平面中方差最大的。根据特征选择的原理，我们认为方差越大对应的信息越丰富，换句话说，我们需要找到一个合适的特征使得映射在这个特征上的数据信息损失尽可能的少。那么我们如何得这个方差最大的主成分方向呢，最经典的方法是特征值分解协方差矩阵，得到协方差矩阵的特征值和特征向量，选择特征值最大（即方差最大的）k个特征向量组成的矩阵。，e是任意一个特征轴的单位向量。]]></description><category></category></item><item><title><![CDATA[什么时候可以用到强化学习？强化学习怎么用？]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/128023353</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/128023353</guid><author>kuabiku</author><pubDate>Fri, 25 Nov 2022 15:44:01 +0800</pubDate><description><![CDATA[我相信很多像我一样的初学者在学习强化学习的的过程会有一种困惑：强化学习内容搞懂了，算法流程也明白了，但是怎么用在自己的研究领域或者应用上呢？换句话说，什么样的情况可以用强化学习解决呢？]]></description><category></category></item><item><title><![CDATA[神经网络难以训练？-梯度消失问题]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/127637226</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/127637226</guid><author>kuabiku</author><pubDate>Tue, 01 Nov 2022 17:27:29 +0800</pubDate><description><![CDATA[在一个标准神经网络中，对于不同层的训练速度是显著不同的，其原因在于反向传播中传递到每个层的增量是累乘的，如果神经元w设置在（0，1）之间，那么很有可能在经过若干层传递到最前面的层后对应的增量已经非常小，这就是所谓的梯度消失问题。另外一种情况是内层的梯度被外层大很多, 叫做exploding gradient problem。这种现象普遍存在于神经网络之中, 叫做: vanishing gradient problem。按照平时随机从正态分部(0,1)中随机产生权重的方法， 大部分|w| < 1。]]></description><category></category></item><item><title><![CDATA[强化学习中Sara算法和Q-Learning算法的区别]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/126770836</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/126770836</guid><author>kuabiku</author><pubDate>Thu, 08 Sep 2022 21:20:59 +0800</pubDate><description><![CDATA[注：Q(s1,a1) = Q(s1, a1）+ α（Q-target - Q（s1,a1）） #  α是学习率。Q-target = R + γ*在状态S2中最优的下一步Q(s2, *a)的值。4，由Q-target和原先的Q(s1,a1)去更新得到新的Q(s1,a1)3，由a1的奖励R，和Q(s2,a2)得到Q-target。2，由环境S2选出将要下一步要进行的a2。1，在环境S1中选出动作a1并得到S2。3，更新s1,a1这个状态的Q值。1，在环境S1中选出动作a1。2，得到a1这一步的动作价值。]]></description><category></category></item><item><title><![CDATA[常用Pandas读取excel(或txt)部分行列并输出]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/126768499</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/126768499</guid><author>kuabiku</author><pubDate>Thu, 08 Sep 2022 17:36:25 +0800</pubDate><description><![CDATA[用.loc()和.iloc方法，前者是用行列名称（新版python中.loc()方法也可以用索引），后者是索引。取整个表的部分行列，需要用到.reindex(index=,columns=,).reindex()其他参数的用法详见。]]></description><category></category></item><item><title><![CDATA[迁移学习-如何使用预训练权重，冻结部分层权重训练]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/126696559</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/126696559</guid><author>kuabiku</author><pubDate>Mon, 05 Sep 2022 00:28:06 +0800</pubDate><description><![CDATA[迁移学习在计算机视觉领域中是一种很流行的方法，因为它可以建立精确的模型，耗时更短。利用迁移学习，不是从零开始学习，而是从之前解决各种问题时学到的模式开始。这样，我们就可以利用以前的学习成果。]]></description><category></category></item><item><title><![CDATA[如何理解向量点积和在空间上映射的关系]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/124673417</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/124673417</guid><author>kuabiku</author><pubDate>Mon, 09 May 2022 19:35:36 +0800</pubDate><description><![CDATA[摘自《Essence of linear algebra》系列视频，非常精彩。B站上有全集～

Dot Product

我们都知道，向量的点积是这么做的：



其几何解释为投影相乘：



通过投影，我们可以理解为什么点积为0(正交)，为什么点积可以为负。

点积还具有symmetry。

假设u和v点积，对称性即：无论是v在u上作投影再乘，还是u在v上作投影再乘，结果都是一样的。

这一点不太好理解，但又至关重要。我们下面来解释一下：

假设u比v的范数大。我们在u的方向上取w，使得w的范数等于v的.]]></description><category></category></item><item><title><![CDATA[python刷题-二分法小总结]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/123358480</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/123358480</guid><author>kuabiku</author><pubDate>Tue, 08 Mar 2022 17:52:48 +0800</pubDate><description><![CDATA[二分法要求：二分查找的对象必须是有序的（单调）

时间复杂度：查找的时间复杂度为logN（所以适用于数据规模比较大的情况）

二分查找的内部查找顺序：

（直接查找目标值or和左右侧逼近值（包括目标值））



"""第一种二分查找法，查找到目标值即返回，向目标值逼近的方向是不确定的，因为left和right都可以移动"""
def binary_1(left, right, target):
    while left &lt; right:
        mid = (left+right) &..]]></description><category></category></item><item><title><![CDATA[python刷题-单调栈]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/123274933</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/123274933</guid><author>kuabiku</author><pubDate>Fri, 04 Mar 2022 13:43:54 +0800</pubDate><description><![CDATA[力扣https://leetcode-cn.com/problems/sum-of-subarray-ranges/

暴力法：

遍历每个序列的最大值最小值，时间复杂度为o(n2)


class Solution:
    def subArrayRanges(self, nums: List[int]) -&gt; int:
        dp = 0
        for i in range(1, len(nums)):
            dpmin = nums[i]
        ]]></description><category></category></item><item><title><![CDATA[python刷题-dfs回朔经典习题（全局变量，bool类型加减运算）]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/123219285</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/123219285</guid><author>kuabiku</author><pubDate>Wed, 02 Mar 2022 12:11:10 +0800</pubDate><description><![CDATA[最多1601. 最多可达成的换楼请求数目

心得：这道dfs题是对所有情况遍历然后取满足情况的解，而我当时之所以死磕这题半天没磕出来，是因为一直想去控制搜索的方向，在遍历的过程中去给遍历限制条件。这其实也就对应着解dfs题的两种思路，一种是从整体出发“全扫描”最后去筛选结果，一种则是在遍历的时候有选择性的去遍历（像下面的解数独和N皇后问题都是这种思路）， 而这道题如果也用这种思路去想的话，虽然可以找到符合题意的特解，就很难去找所有情况中的最优解（因为找到特解后不好控制让他重新回朔遍历找最优解），所以找特解的]]></description><category></category></item><item><title><![CDATA[python刷题-单链表]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/123143986</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/123143986</guid><author>kuabiku</author><pubDate>Sat, 26 Feb 2022 00:57:30 +0800</pubDate><description><![CDATA[题目：

给你一个链表，删除链表的倒数第n个结点，并且返回链表的头结点。

力扣


class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

# 个人题解：双指针
class Solution:
    def removeNthFromEnd(self, head: ListNode, n: int) -&gt; ListNode:
      ..]]></description><category></category></item><item><title><![CDATA[Python刷题-最长回文子串（dp）]]></title><link>https://blog.youkuaiyun.com/kuabiku/article/details/123143519</link><guid>https://blog.youkuaiyun.com/kuabiku/article/details/123143519</guid><author>kuabiku</author><pubDate>Sat, 26 Feb 2022 00:07:43 +0800</pubDate><description><![CDATA[解法一：双指针遍历（从外向内）
思路：
从最大子串（自身）开始遍历，逐渐缩小子串长度（右边界right向左移），对于每一个长度要注意遍历该长度下的所有子串
代码：


class Solution_double:
  def longestPalindrome(self, s: str) -&gt; str:
    def judge(i, j) -&gt; bool:
      while i &lt; j:
        if s[i] != s[j]:
...]]></description><category></category></item></channel></rss>