<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Beware beginning]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/twentyfour4ever</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; twentyfour4ever]]></copyright><item><title><![CDATA[通过异或交换变量]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/122775916</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/122775916</guid><author>twentyfour4ever</author><pubDate>Thu, 03 Feb 2022 14:43:19 +0800</pubDate><description><![CDATA[异或性质：

a^a = 0

a^a^b = b



交换变量：

a = a^b

b = a^b

a = a^b


]]></description><category></category></item><item><title><![CDATA[sift原理]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115233584</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115233584</guid><author>twentyfour4ever</author><pubDate>Fri, 26 Mar 2021 16:24:18 +0800</pubDate><description><![CDATA[sift原理
	角点检测具有旋转不变性 但不具有尺度不变性


当图像放大后 在使用同样的窗口 就检测不到了

sift所查找的关键点是一些十分突出 不会因光照 仿射变换和噪音等因素而变化的点。

1. 高斯模糊成功地去除了图像中的噪点，强调了图像的重要特征

2. 高斯差分金字塔
建立高斯金字塔 在不同尺寸的图片上进行高斯滤波 
再建立高斯查分金字塔 把同尺度 相邻的2张图片相减 提取特征

3.局部极值
每个点在和周围26个点比较 同层8个上下各9个 以确定是否为局部最大值/最小值


4. 关键点筛选]]></description><category></category></item><item><title><![CDATA[角点检测]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115231481</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115231481</guid><author>twentyfour4ever</author><pubDate>Fri, 26 Mar 2021 11:16:56 +0800</pubDate><description><![CDATA[是图像很重要的特征 有区分性 容易去比较
显示生活中 角点对应于物体的拐角 道路的十字路口 丁字路口

Harris和Shi-tomas算法

Harris角点检测
通过图像局部的小窗口观察图像 窗口沿人任意方向移动都会导致图像灰度的明显变化
平坦区域：任意方向移动 无灰度变化
边缘：沿着边缘方向移动 无灰度变化
角点：沿任意方向移动 明显灰度变化

关于角点的具体描述可以有几种：
	1. 一阶导数(即灰度的梯度)的局部最大所对应的像素点；
	2. 两条及两条以上边缘的交点；
	3. 图像中梯度值和梯度方向]]></description><category></category></item><item><title><![CDATA[投影变换]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115204715</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115204715</guid><author>twentyfour4ever</author><pubDate>Thu, 25 Mar 2021 11:51:56 +0800</pubDate><description><![CDATA[仿射变换后 平行的线还是平行的
投影变换只是保证同一条直线上的点还是在同一条直线上 但不再保证平行了

因为投影变换是一个二维图像（车牌）经过一个三维变换，
然后映射到另外一个二维空间，二维图像的二维空间与映射后的二维空间不一样，
如果一样，就是仿射变换


import cv2
import numpy as np
#图片的路径
imgname = "img1.jpg"
#读取图片
image = cv2.imread(imgname, cv2.IMREAD_COLOR)
#图片的高度和宽度
h,w = ]]></description><category></category></item><item><title><![CDATA[仿射变换]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115203065</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115203065</guid><author>twentyfour4ever</author><pubDate>Thu, 25 Mar 2021 11:21:53 +0800</pubDate><description><![CDATA[仿射变换
	一个任意的仿射变换都能表示为 乘以一个矩阵 (线性变换) 接着再 加上一个向量 (平移).
	综上所述, 我们能够用仿射变换来表示:

		旋转 (线性变换)
		平移 (向量加)
		缩放操作 (线性变换)



...]]></description><category></category></item><item><title><![CDATA[插值]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115201083</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/115201083</guid><author>twentyfour4ever</author><pubDate>Thu, 25 Mar 2021 11:02:08 +0800</pubDate><description><![CDATA[什么是插值
	利用已知的点来猜测未知的点 图像领域插值常用于修改图像尺寸的过程
	由旧的图像矩阵中的点计算新图像矩阵中的点并插入，
	不同的计算过程就是不同的插值算法。

最近邻法(Nearest Interpolation)


	直接用最近的数值替代。

单线性插值
	根据初中的知识，2点求一条直线公式(这是双线性插值所需要的唯一的基础公式)


双线性插值
	已知Q11(x1,y1)、Q12(x1,y2)、Q21(x2,y1)、Q22(x2,y2)，求其中点P(x,y)的值


前面介绍过双线性插值是]]></description><category></category></item><item><title><![CDATA[Keras介绍]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/113793217</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/113793217</guid><author>twentyfour4ever</author><pubDate>Fri, 12 Feb 2021 07:52:30 +0800</pubDate><description><![CDATA[为什么选择keras？
	
	搭建简单
	和很多底层深度学习语言 特别是TensorFLow 集成在一起 所以它可以实现任何你可以用基础语言编写的东西

Keras拥有强大的多的GPU和分布式训练支持
	keras内置对多gpu数据并行的支持


...]]></description><category></category></item><item><title><![CDATA[平衡二叉树 python]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108695932</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108695932</guid><author>twentyfour4ever</author><pubDate>Sun, 20 Sep 2020 17:42:00 +0800</pubDate><description><![CDATA[平衡二叉树（Balanced Binary Tree）（AVL树）：
空树或者任一结点左、右子树高度差的绝对值不超过1

根节点的左右子树一直到非叶子节点的左右子树都要满足该条件；
递归1：从根节点到非叶子节点的左右子节点；
递归2：求各个节点的左右子树的高度，再判断高度差的绝对值是否超过1；

# -*- coding:utf-8 -*-
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self]]></description><category></category></item><item><title><![CDATA[knn介绍]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108596921</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108596921</guid><author>twentyfour4ever</author><pubDate>Tue, 15 Sep 2020 14:32:01 +0800</pubDate><description><![CDATA[它的工作原理是：存在一个样本数据集合，也称作为训练样本集，
并且样本集中每个数据都存在标签，
即我们知道样本集中每一个数据与所属分类的对应关系
输入没有标签的新数据后，将新的数据的每个特征与样本集中数据对应的特征进行比较，然后算法提取样本最相似数据(最近邻)的分类标签。一般来说，我们只选择样本数据集中前k个最相似的数据，这就是k-近邻算法中k的出处，通常k是不大于20的整数。最后，选择k个最相似数据中出现次数最多的分类，作为新数据的分类。

2、距离度量

我们已经知道k-近邻算法根据特征比较，然后提取样本]]></description><category></category></item><item><title><![CDATA[交叉验证]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108597697</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108597697</guid><author>twentyfour4ever</author><pubDate>Tue, 15 Sep 2020 14:21:13 +0800</pubDate><description><![CDATA[在机器学习里，通常来说我们不能把全部数据用于训练模型，
否则我们将没有数据集对该模型进行验证，从而评估我们的模型的预测效果

1.The Validation Set Approach

第一种是最简单的，也是很容易就想到的。
我们可以把整个数据集分成两部分，一部分用于训练，一部分用于验证，
这也就是我们经常提到的训练集（training set）和测试集（test set）

不过，这个简单的方法存在两个弊端。

1.最终模型与参数的选取将极大程度依赖于你对训练集和测试集的划分方法。
什么意思呢？我们再看]]></description><category></category></item><item><title><![CDATA[生成模型 判别式模型]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108597410</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108597410</guid><author>twentyfour4ever</author><pubDate>Tue, 15 Sep 2020 12:55:34 +0800</pubDate><description><![CDATA[例如我们有一个输入数据x，然后我们想将它分类为标签y。
（迎面走过来一个人，你告诉我这个是男的还是女的）
生成模型学习联合概率分布p(x,y)，而判别模型学习条件概率分布p(y|x)。

下面是个简单的例子：

例如我们有以下(x,y)形式的数据：(1,0), (1,0), (2,0), (2, 1)

例如我们有以下(x,y)形式的数据：(1,0), (1,0), (2,0), (2, 1)

那么p(x,y)是：

         y=0   y=1
        -----------
   x=]]></description><category></category></item><item><title><![CDATA[数据清洗路径]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108596046</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108596046</guid><author>twentyfour4ever</author><pubDate>Tue, 15 Sep 2020 11:49:22 +0800</pubDate><description><![CDATA[数据清洗路径：
1. 预处理阶段
	一是看元数据，包括字段解释、数据来源、代码表等等一切描述数据的信息；
	二是抽取一部分数据，使用人工查看方式，对数据本身有一个直观的了解，并且初步发现一些问题，为之后的处理做准备。

2. 去除补全有缺失的数据
	1、	确定缺失值范围：对每个字段都计算其缺失值比例，
		然后按照缺失比例和字段重要性，分别制定策略，
		可用下图表示


2、去除不需要的字段：这一步很简单，直接删掉即可……
但强烈建议清洗每做一步都备份一下，或者在小规模数据上试验成功再处理全量数据，
不然]]></description><category></category></item><item><title><![CDATA[多分类器的损失函数]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108463367</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108463367</guid><author>twentyfour4ever</author><pubDate>Tue, 08 Sep 2020 11:36:43 +0800</pubDate><description><![CDATA[函数特性

在机器学习中，hinge loss是一种损失函数，
它通常用于"maximum-margin"的分类任务中，如支持向量机。数学表达式为：

假设我们现在有三个类别 而得分函数计算某张照片的得分为f(x,W) = [13,-7,11]
而实际的结果是第一类 yi = 0 假设 代尔塔 = 10 
上面的公式会把所有错误类别都遍历一遍 求值加和

比如是3分类 A B C 会分别计算在A B C这3类的结果值
比如 B是正确分类 分数分别为 [13,-7,11]
L1 = max(0,-7-13+1]]></description><category></category></item><item><title><![CDATA[347. 前 K 个高频元素]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108440344</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108440344</guid><author>twentyfour4ever</author><pubDate>Mon, 07 Sep 2020 08:36:44 +0800</pubDate><description><![CDATA[给定一个非空的整数数组，返回其中出现频率前 k 高的元素。
示例 1:

输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]
示例 2:

输入: nums = [1], k = 1
输出: [1]

return [i[0] for i in collections.Counter(nums).most_common(k)]


...]]></description><category></category></item><item><title><![CDATA[数组山谷]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108440250</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108440250</guid><author>twentyfour4ever</author><pubDate>Mon, 07 Sep 2020 08:07:30 +0800</pubDate><description><![CDATA[题目描述：

数组里的山谷是指一个数组A中的连续子数组B满足以下条件：

(1)B.length&gt;=3;

(2)存在满足：0&lt;i&lt;B.length-1并且B[0]&gt;B[1]&gt;…&gt;B[i-1]&gt;B[i]&lt;B[i+1]&lt;…&lt;B[B.length-1];

现给定一个整形数组A，找出数组A里的最长山谷B的长度，如果没有，则输出0.

思想：

分段统计，统计连续上升的个数和连续下降的个数
二者相关即为总的
注意，出现不符合要求（先下降后上升）的情况复位]]></description><category></category></item><item><title><![CDATA[python 回溯法求排列]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108428190</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108428190</guid><author>twentyfour4ever</author><pubDate>Sun, 06 Sep 2020 09:49:40 +0800</pubDate><description><![CDATA[import copy

def backTrack(l,t,res):

    if len(l) == len(t):
        print(res)
        res.append(copy.deepcopy(t))
    else:
        for i in range(n):
            if l[i] in t:
                continue
            else:
                t.append(l[i]).]]></description><category></category></item><item><title><![CDATA[笔试练习记录 哔哩哔哩算法]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108367450</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108367450</guid><author>twentyfour4ever</author><pubDate>Fri, 04 Sep 2020 15:16:26 +0800</pubDate><description><![CDATA[凸函数、凸集
集合范围内 任意两点的连线 不会超出集合范围

以下哪个集合不是凸(convex)的?
选C 

{ (x, y) | (x -2)^2 + (y-2)^2 &lt;= 2}
空集合
{x | ||x|| &gt;= 1}， ||x||表示x的绝对值
{(x, y) | x + y = 2}

假设每天投稿池中，每1000个视频中会有1个营销号视频，为了净化社区环境，
b站同事训练了一个检测营销号视频的模型。模型评估结果如下：
如果某视频是营销号视频，就一定会被模型检测出来，
但是如果某视频是]]></description><category></category></item><item><title><![CDATA[django 管理页面]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108360792</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108360792</guid><author>twentyfour4ever</author><pubDate>Wed, 02 Sep 2020 14:08:13 +0800</pubDate><description><![CDATA[设置管理页面排序的列名

修改管理页面的列名



]]></description><category></category></item><item><title><![CDATA[Django 中间件]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108359931</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108359931</guid><author>twentyfour4ever</author><pubDate>Wed, 02 Sep 2020 13:46:47 +0800</pubDate><description><![CDATA[可以在每个视图函数执行前运行


通过装饰器


自己创建中间件


在setting中注册

中间件函数是固定的 名字 参数


]]></description><category></category></item><item><title><![CDATA[Django静态文件]]></title><link>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108355388</link><guid>https://blog.youkuaiyun.com/twentyfour4ever/article/details/108355388</guid><author>twentyfour4ever</author><pubDate>Wed, 02 Sep 2020 09:34:54 +0800</pubDate><description><![CDATA[]]></description><category></category></item></channel></rss>