Slope One推荐算法介绍
Slope One 是一系列应用于协同过滤的算法的统称。由 Daniel Lemire和Anna Maclachlan于2005年发表的论文中提出。
Slope One 方案比方说我们有两个用户 $UserA$ 和 $UserB$ 以及他们对两个物体 $ItemI$ 和 $ItemJ$ 的评分 ...
Enigma加密与解密
Enigma 加密流程:
明文 -> Plug Board -> Rotor 1 -> Rotor 2 -> Rotor 3 -> Reflector ...
分组密码五大工作模式
在密码学中,分组密码操作模式是使用分组密码来提供诸如机密性或真实性的信息服务的算法。基于分组的对称密码算法比如 DES/AES 算法只是描述如何根据秘钥对一段固定长度(分组块)的数据进行加密,对于比较长的数据,分组密码工作模式描述了如何重复应用某种算法加密分组操作来安全地转换大于块的数据量。
常见的 ...
Red-Black Tree
相比Avl Tree,Red-black Tree的操作复杂很多,不过网上优秀的文章也很多。这篇文章参考[简书某博客][https://www.jianshu.com/p/e136ec79235c]
写成的,文章中的配图大部分也是原博客上的。
定义红黑树需要满足以下四个性质:
每个节点要么是黑色 ...
DES加密解析
我又来填坑了,这篇文章主要是来解析一下DES算法是如何实现加密解密。本文主要参考的是 J.Orlin Grabbe 的《DES Algorithm Illustrated》
密钥创建首先我们需要一个64位的密钥作为 key_seed。
比如,我们的十六进制密钥 K 为
1K = 01234567 ...
Binary Heap
这几天疯狂使用Binary Heap,所以打算写篇文章好好整理下这个数据结构。这个结构的 Insert 操作的时间复杂度是 O(n) ,但是他的 DeleteMin 操作能实现 O(1) 。因为完全二叉堆的结构很有规律,所以我们不需要用树结构来实现二叉堆,用数组即可。其中父节点在位置 i 上,左节点 ...
BPR算法
最近在学习推荐系统相关的知识,其中用到了贝叶斯推荐模型(Bayesian Personalized Ranking, BPR),故写此文讲讲BPR相关的知识。
BPR模型概念BPR(Bayesian Personalized Ranking)推荐模型是基于贝叶斯后验优化的个性化排序算法。从user ...
求最短跳跃距离的最大值
这是一道很好玩的题。
题目描述这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石。组委会已经选择好了两块岩石作为比赛起点和终点。在起点和终点之间,有 $N$ 块岩石(不含起点和终点的岩石)。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。为了提高比赛难度,组委会计划移走 ...
手写数字识别
我们在学一门编程语言的时候,写的第一个程序往往是hello world。同样,手写数字识别是机器学习中,最入门的项目。
完整代码在文末,中间是代码每个部分的分析。
机器学习的基本思路我们需要两个东西:
数据集
模型
调用的包12345import torchfrom torch import ...
To Fill or Not to Fill
This is an after class programming problem of ads. The main algorithm used is Greedy Algorithm
DescriptionWith highways available, driving a car from ...