SVD奇异式分解SVD是将一个 $m \times n$ 的矩阵分解成三个矩阵的乘积: A = U\Sigma V^T其中 $U, V$ 分别为 $m \times m$,$n \times n$ 的矩阵,$\Sigma$ 是一个 $m \times n$ 的对角矩阵。 其中 $U$ 是左奇异矩阵,
Latest Notes
YANG's Blog
按时间整理的技术笔记、学习记录和工程实践。
SVD协同过滤代码实现原理部分github链接(有数据集) 预测方程及随机梯度下降推导\hat{r}_{ui} = \mu + b_i + b_u + q_i^T p_u参数可由求解以下最优化问题得到: \min_{p_* q_* b_*} \sum_{(u,i)\in K}(r_{ui}-\mu-
0. 奇异值分解 Singular Value DecompositionSVD是将一个 $m \times n$ 的矩阵分解成三个矩阵的乘积,即 $A = U\Sigma V^T$。 其中 $U, V$ 分别为 $m \times m$,$n \times n$ 的矩阵,$\Sigma$ 是一个
Python tkinter库简介Tkinter模块是Python系统自带的标准GUI库,具有一套常用的图形组件 基本组件 Button 按钮 Canvas 画布,用于绘制直线、椭圆、多边形等各种图形 Checkbutton 复选框形式的按钮 Entry 单行文本框 Frame 框架,可作为其他组件
题目大意$n\ (1 \le n \le 18)$,定义一个树的字符编号为:该节点的字符编号 + 左子树的字符编号 + 右子树的编号(叶子节点的字符编号就是它本身的编号)。 而你可以随意交换任意个节点的左右子树。 给定一个树的初始字符编号,求一共可以产生不同的字符编号的数量(对 $998244353
题目大意给定一个长度为 $n$ 的数组 $a\ (-10^9 \le a_i \le 10^9)$,我们可以把它分割成任意个连续的子序列 $s_k = a_l \ldots a_r$,每段子序列的权值为: $\sum_{j=l}^{r} a_j > 0$ 时,权值为 $r - l + 1$ $
题目大意给定包含 $n$ 个数的数组 $a, b$,其中 $a$ 初始均为 $0$。我们每次操作可以在 $a$ 中选择一段连续的数,使其每个数分别加上 $1, 2, 3, 4, 5, \ldots, k$。 给定 $a, b, k\ (1 \le k \le n \le 3 \cdot 10^5,\
题目大意在一条坐标轴上有 $n$ 个点需要占领,每个节点在 $x_i$,初始节点在 $0$ 处,且基地也在 $0$ 处。每次行动时,设当前基地在 $p$ 处,那么可以做以下行动: 把基地移动到一个已经占领的点 $x_i$,耗费 $a \cdot |x_i - p|$ 占领一个没有被占领的节点,消耗
题目大意给定一个长度为 $n$ 由 $0, 1$ 组成的序列。然后进行 $n$ 次操作,第 $i$ 次操作会把前 $i$ 个数升序排序。 比如 $0,1,0,1$,4次操作形成的序列分别是 $[0,1,0,1],[0,1,0,1],[0,0,1,1],[0,0,1,1]$,然后每一位分别相加为 $[
文件的分类 文本文件:储存的是常规字符串文件,通常以’\n’作为每行的结尾。(常规字符串指的是其他编辑器可以直接编辑,且人类可以直接阅读的文本,如英文字母、汉字、数字字符串) 二进制文件: 二进制文件把对象内容以字节串(bytes)进行存储,无法用记事本或其他普通字处理软件直接进行编辑,通常也无法被