随笔分类 - algorithm
摘要:问题背景 在平安的时候会经常对比多个模型的效果,也会加很多规则系数做模型排序,做推荐的时候粗排需要对多个维度进行打分, 例如 score = 模型1 * 0.5 + 模型2 * 0.3 + 模型3 * 0.2 similar = 年龄 * 0.2 + 性别 * 0.1 + 地区 * 0.5 搜索结果
阅读全文
摘要:完全二叉树:除了最后一层,其他层节点都是满的 满二叉树:每层节点都是满的 平衡二叉树: 左右子树高度差不超过1,插入、删除时间复杂度O(logn) 二叉查找树: 左节点小于根节点,根节点小于右节点 最大最小堆: 最大堆:父节点比子节点大,插入删除O(logn) 最小堆:父节点比子节点小,插入删除O(
阅读全文
摘要:问题 在清华新闻分类数据集上,使用TextCNN效果不错,使用TextLSTM/RNN学习不动,损失和acc均无变化 定位问题 CNN效果有提升,说明train代码和数据没问题; 更改RNN/LSTM结构,加损失函数还是没效果; 修改lr、embed_dim,num_laber均无效果; 本地一步步
阅读全文
摘要:目的: L1和L2正则都可以解决过拟合 方法: L1正则:向量中各个元素绝对值的和,适用于稀疏特征。原理:直接删除异常特征,解决过拟合。 缺点:绝对值不可求导,需要特殊处理。 L2正则:向量中各元素平方和求平方根,使用场景更多,计算方便。原理:将异常特征平均化。 图像: L1是蓝色的线,L2是红色的
阅读全文
摘要:需求背景 标记出一句话中所有关键词 inpu:我想买苹果手机,请问哪里可以买苹果手机 keyword:"苹果", "苹果手机", "哪里" result:我想买[[苹果手机]],请问[[哪里]]可以买[[苹果手机]] 10w条耗时:41ms 难点:需要考虑单词重叠问题(overlap),例如“苹果手
阅读全文
摘要:
阅读全文
摘要:def f1Score(correct_label, predict_label): """ 计算混淆矩阵及f1得分 :param correct_label: 正确的分类标签 ['0','1','2','3'] :param predict_label: 预测的分类标签 :return: """
阅读全文
摘要:原文地址: "https://www.cnblogs.com/codeape/p/3845375.html" 目录[隐藏] window.content_index_showTocToggle=true;function content_index_toggleToc(){var tts="显示";
阅读全文
摘要:一般原理:发生拥塞控制的原因:资源(带宽、交换节点的缓存、处理机)的需求 可用资源。 作用:拥塞控制就是为了防止过多的数据注入到网络中,这样可以使网络中的路由器或者链路不至于过载。拥塞控制要做的都有一个前提:就是网络能够承受现有的网络负荷。 对比流量控制:拥塞控制是一个全局的过程,涉及到所有的主机、
阅读全文
摘要:"转载:最小生成树" Kruskal算法 此算法可以称为“加边法”,初始最小生成树边数为0,每迭代一次就选择一条满足条件的最小代价边,加入到最小生成树的边集合里。 1. 把图中的所有边按代价从小到大排序; 2. 把图中的n个顶点看成独立的n棵树组成的森林; 3. 按权值从小到大选择边,所选的边连接的
阅读全文
摘要:最大最小堆 堆是一种经过排序的完全二叉树,其中任一非终端节点的数据值均不大于(或不小于)其左子节点和右子节点的值。 最大堆和最小堆是二叉堆的两种形式。 最大堆:根结点的键值是所有堆结点键值中最大者。 最小堆:根结点的键值是所有堆结点键值中最小者。 最小堆示例 建立最小堆 初始数组为:9,3,7,6,
阅读全文
摘要:最小堆 最小堆是一种完全二叉树,特点是根节点比两个子节点都小(或者根节点比子节点都大) 过程 先找10000个数构建最小堆 依次遍历10亿个数,如果比最小堆的最小值大,则替换这个最小值,并重新构建最小堆 最后输入10000个值 时间复杂度 构建最小堆的复杂度为 logn,求出最大m个数会构建m次最小
阅读全文
摘要:1. 获取关键词,返回词典(key, value)格式数据,key为关键词,value为出现次数; 2. 获取所有新闻id和content,返回词典(key, value)格式数据,key为id,value为content; 3. 对关键词排序,统计出现频率大于1的关键词 4. 以关键词为行,新闻i
阅读全文
摘要:文档链接:http://files.cnblogs.com/files/bincoding/%E5%A5%87%E5%BC%82%E5%80%BC%E5%88%86%E8%A7%A3.zip 强大的矩阵奇异值分解(SVD)及其应用 版权声明: 本文由LeftNotEasy发布于http://left
阅读全文
摘要:编辑距离定义: 编辑距离,又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数。 许可的编辑操作包括:将一个字符替换成另一个字符,插入一个字符,删除一个字符。 例如将eeba转变成abac: 所以eeba和abac的编辑距离就是3 俄罗斯科学家Vladimir L
阅读全文
摘要:1. 聚类问题 所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高。 2. K-均值算法简介 k-means算法,也被称为k-平均或k-均值,是一种得到最广泛使用的聚类算法。
阅读全文
摘要:选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序不稳定,会导致相同值位置发生改变。 算法步骤: 1)首先在未排序序列中找到最小(大)元素,存放到排序序
阅读全文
摘要:直接插入排序是稳定排序(相同的值不会改变原来的顺序) 直接插入排序的算法思路: (1) 设置监视哨r[0],将待插入纪录的值赋值给r[0]; (2) 设置开始查找的位置j; (3) 在数组中进行搜索,搜索中将第j个纪录后移,直至r[0].key≥r[j].key为止; (4) 将r[0]插入r[j+
阅读全文
摘要:冒泡排序(Bubble Sort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡排序算法
阅读全文