- 博客(5)
- 收藏
- 关注
原创 FM原理---为什么二次交叉项系数矩阵可以分解
从FM的原始数学公式看 在进行二阶特征组合的时候,假设有n个不同的特征,那么二阶特征组合意味着任意两个特征都要进行交叉组合,时间复杂度直接为O(n*n),因此很自然需要降低时间复杂度,作者的方法是将系数矩阵分解(Cholesky分解)。那么为什么可以进行这样的一个分解? 在矩阵分析这门课中有这样一个定理 上面这个定理就是Cholesky分解。 那么现在的问题就是怎么证明公式中的二次交叉项系数矩阵是对称正定矩阵。显而易见的是系数矩阵W是对称的,只需要证明W是正定的即可。 可以把公式的二次交叉项部分写成二次
2021-05-07 11:30:54
990
2
原创 pandas 画堆叠图标上数值/文字(其他图类似)
import numpy as np import pandas as pd import matplotlib.pyplot as plt # 构建测试数据 data = [[ 6, 6 ], [ 5, 3], [ 8, 8], [ 7, 8], [10, 5]] columns = ('Freeze', 'Wind') rows = ['%d year' % x for x in (100, 50, 20, 10, 5)] df =
2020-10-19 17:21:16
1613
1
原创 Python 实现逻辑斯蒂回归模型
class LogisticRegression: def __init__(self, penalty='l2', gamma=0, fit_intercept=True): self.penalty = penalty self.gamma = gamma self.fit_intercept = fit_intercept self.weights = None self.parameters = {}
2020-09-02 11:16:30
1815
原创 python 实现自动求导
求导的过程可以看做是二叉树的形式的计算图(两个输入得到一个输出,输出在与其他输入得到另一个中间输出,以此类推直到计算结束),从二叉树的根节点开始计算导数/梯度 直接上代码 class Tensor: __module__ = 'builtins' def __init__(self, data, left=None, right=None, op = None, name=None, dtype=None): self.data = data
2020-08-28 17:52:06
907
原创 LeetCode 最长回文子串 python
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例1 输入: “babad” 输出: “bab” 注意: “aba” 也是一个有效答案。 示例2 输入: “cbbd” 输出: “bb” 解题思路 中心扩展法判断是否符合回文要求,分两种情况,具体如示例1和2 代码实现 class Solution(object): def longestPalindrome(self, s): def find(s, left, right):
2020-08-18 18:05:37
222
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人