自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(186)
  • 收藏
  • 关注

原创 机智的叉烧 - 工作经验

reference:机智的叉烧:https://www.zhihu.com/column/c_127266200厂妹:https://www.zhihu.com/question/264459321/answer/12292593521. 算法工程师的工程能力工程能力,对于一个算法/策略需求,你能从无到有地建立好模型/设计好策略,并将其投入实际应用,包括后续的监控迭代的能力。包括:1) 数据的操纵能力一个是,懂得数据的操作,能够规范化,整理成模型需要的格式,甚至包括写SQL,确认数据的来源等等;

2021-06-02 16:24:51 304

原创 推荐系统的数据流

传统文件系统 + 数据库的数据存储和处理方法批处理大数据架构:分布式存储 + MapReduce只能批量处理已经落盘的静态数据,无法在数据采集、传输等数据流动的过程中处理数据,因此被称为批处理。过程:数据源 – ETL(服务器端预处理) – HDFS(分布式存储系统) – MapReduce(分布式数据批处理) – 数据使用如BI工具,数据分析,特征工程缺点:只能批处理HDFS中的数据,因此延迟性较大,影响实时性。流计算大数据架构:流计算平台 + 存储系统流计算大数据架构在数据流..

2021-06-02 16:23:59 455

原创 算法工程师分析问题和解决问题的能力,以及落地能力

reference:摘自机智的叉烧的知乎回答和微信推文https://www.zhihu.com/people/ceng-guan-rong-72/answershttps://mp.weixin.qq.com/s/xdJcQZgHUeGjZLzxUAp36g1. NLP二分类任务,为什么各种模型最后的训练结果(F1,ACC)都相差甚微(使用Glove词向量)?1)分析问题:遇到问题首先,要知道症在哪,要知道的核心就在于你要足够理解病症问题,对于算法问题,大到看数据整体分布,看数据整体特点,小到看

2021-05-23 16:14:40 973

原创 常用损失函数类型 for 分类 or 回归问题

https://blog.csdn.net/google19890102/article/details/50522945分类:0-1损失Log损失Hinge损失指数损失感知损失回归:平方损失绝对损失Huber损失(在|f-y|小于某阈值时为平方损失,在|f-y|大于某阈值时为线性损失...

2021-04-23 17:16:09 124

原创 数据库学习目标 and 推荐算法学习基础

摘取自:https://www.zhihu.com/question/428111565/answer/1677138599https://zhuanlan.zhihu.com/p/80065888

2021-04-22 22:54:39 118

转载 python常见面试题

摘取自:https://www.cnblogs.com/chongdongxiaoyu/p/9054847.html1、大数据的文件读取① 利用生成器generator②迭代器进行迭代遍历:for line in file2、迭代器和生成器的区别1)迭代器是一个更抽象的概念,任何对象,如果它的类有next方法和iter方法返回自己本身。对于string、list、dict、tuple等这类容器对象,使用for循环遍历是很方便的。在后台for语句对容器对象调用iter()函数,iter()是pyth

2021-04-22 22:49:26 115

原创 python常考的语言特性

1. 装饰器装饰器是修改其他函数的功能的函数。1)前期理解在python中一切皆对象,函数也是对象。当你把一对小括号放在后面,这个函数就会执行;然而如果你不放括号在它后面,那它可以被到处传递,并且可以赋值给别的变量而不去执行它。举例:def hi(name="yasoob"): def greet(): return "now you are in the greet() function" def welcome(): return "now

2021-04-21 10:29:34 116

原创 阿里一面准备:K-Means,PCA

1. K-Meanshttps://www.cnblogs.com/yoyowin/p/12023339.htmlK-means聚类指的是把集合,分组成多个类,每个类中的对象都是彼此相似的。K-means是聚类中最常用的方法之一,它是基于点与点距离的相似度来计算最佳类别归属。在使用该方法前,要注意(1)对数据异常值的处理;(2)对数据标准化处理(x-min(x))/(max(x)-min(x));(3)每一个类别的数量要大体均等;(4)不同类别间的特质值应该差异较大K-means聚类步骤:

2021-04-19 19:32:05 196

原创 代码风格

reference:cyc2018http://www.cyc2018.xyz/%E5%85%B6%E5%AE%83/%E7%BC%96%E7%A0%81%E5%AE%9E%E8%B7%B5/%E4%BB%A3%E7%A0%81%E5%8F%AF%E8%AF%BB%E6%80%A7.html起名(用名字表达代码含义)起完名字要思考一下别人会对这个名字有何解读,会不会误解了原本想表达的含义。布尔相关的命名加上 is、can、should、has 等前缀。用 min、max 表示数量范围;用 fi

2021-04-19 19:31:55 124

原创 java的封装、继承、多态

java接口:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。两种含义:一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。前者叫做“Java接口”,后者叫做“接口”。java继承:继承是面向对象编程的一种强大的代码复用方式;Java只允许单继承,所有类最终的根类是Object;protected允许子类访

2021-04-19 11:05:58 124

原创 背包问题

详情见goodnotes动态规划-背包问题。0-1背包dp数组含义:dp[i][j]表示,前i个元素(物品)能够凑成和值j(装满容量为 j 的背包)的方法数子集背包dp数组含义:dp[i][j] = x 表示,对于前 i 个物品,当前背包的容量为 j 时,若 x 为 true,则说明可以恰好将背包装满,若 x 为 false,则说明不能恰好将背包装满。base case:base case 就是 dp[…][0] = true 和 dp[0][…] = false,因为背包没有空间的

2021-04-14 12:05:02 152

原创 判断回文:回文数,回文链表,最长回文子串

1. 回文1)回文数https://leetcode-cn.com/problems/palindrome-number/判断一个整数是否是回文数。python:class Solution: def isPalindrome(self, x: int) -> bool: # 不用字符串,则用数学思想解 if x < 0 or (x % 10 == 0 and x != 0 ): return False

2021-04-13 16:43:40 164

原创 keep笔试 -有效括号:栈,DP,正向逆向结合法(最大乘积子数组)

1. 有效的括号方法一:栈给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。class Solution: def isValid(self, s: str) -> bool: if len(s) % 2 != 0: return False pairs = { ')': '

2021-04-13 09:33:56 257

原创 百度三面准备(2)

1. 对倒排索引的认识reference:https://www.cnblogs.com/zlslch/p/6440114.html在搜索引擎中每个文件都对应一个文件ID,文件内容被表示为一系列关键词的集合(实际上在搜索引擎索引库中,关键词也已经转换为关键词ID)。例如“文档1”经过分词,提取了20个关键词,每个关键词都会记录它在文档中的出现次数和出现位置。Q1: 正向索引 vs 倒排索引正向索引:“文档1”的ID > 单词1:出现次数,出现位置列表;单词2:出现次数,出现位置列表;…………

2021-04-12 12:13:09 152

原创 4.8百度三面准备

1. MAML原理讲解和代码实现https://blog.csdn.net/weixin_42392454/article/details/109891791Pretraining每次强调的都是当下这个模型能不能达到最优,而MAML强调的则是经过训练以后能不能达到最优。MAML关注的是,模型使用一份“适应性很强的”权重,它经过几次梯度下降就可以很好的适用于新的任务。那么我们训练的目标就变成了“如何找到这个权重”。而MAML作为其中一种实现方式,它先对一个batch中的每个任务都训练一遍,然后回到这个

2021-04-07 15:19:53 347

原创 4.6滴滴一面复盘

overfittingL1/L2的多种解释ME、MAPLRSVMGBDT, xgBoost, adaboost牛顿法运筹、优化强化学习CNN为什么适用于处理图像Attention在图像处理中的应用和作用

2021-04-06 20:10:59 154

原创 寒武纪 4.5笔试题

第一题通过50%, 第二题不会,第三题通过,第四题通过50%。回头搜一下为什么Q1Q4,搞清楚为什么没有accept?# Q1class Solution: def area(self, grid): m, n = len(grid), len(grid[0]) def dfs(i, j): if 0 <= i < m and 0 <= j < n and grid[i][j] == ".":

2021-04-05 20:41:57 355

转载 Python bisect模块

bisect模块提供了如下几个函数:(下面函数中的lo和hi用于指定列表的区间,默认的是整个列表)bisect.bisect_left(a, x, lo=0, hi=len(a)) 返回将x插入到列表a中的索引位置,如果已有x,则返回第一个x的位置bisect.bisect_right(a, x, lo=0, hi=len(a)) 返回将x插入到列表a中的索引位置,如果已有x,则返回最后一个x位置的下一个位置bisect.bisect(a, x, lo=0, hi=len(a))

2021-04-05 20:39:47 203 1

原创 引用赋值,浅拷贝copy.copy(),深拷贝copy.deepcopy()

1. 引用赋值对于不可变对象,修改变量的值意味着在内存中要新创建一个数据对象。所以对于不可变对象,变量之间不会相互影响。对于可变对象,变量之间是相互影响的。数值、字符串、元组是不可变对象,列表是可变对象。可变对象和不可变对象的赋值形式虽然一样,但是修改数据时的过程不一样。对于不可变对象,修改数据是直接在堆内存中新创建一个数据对象。如图:对于可变对象,修改这个可变对象中的元素时,这个可变对象的地址不会改变,所以是"原处修改"的。但需要注意的是,这个被修改的元素可能是不可变对象,可能是可变对象,如

2021-04-04 18:53:25 391

原创 python 多变量赋值、链式赋值

多变量赋值变量赋值前,右边首先完成计算。右边的表达式从左到右计算。比如:x = 1, y = 2x, y = y, x+ythen x = 2, y = 1+2 = 3x = yy = x+ythen x = 2, y = 2+2 = 4链式赋值a=b=c=1 的赋值顺序是:a=1,b=a,c=a...

2021-04-03 22:14:28 446

原创 待学:jieba分词,Regular Expressions

jieba分词https://www.cnblogs.com/zhbzz2007/p/6076246.htmlPython标准模块—Regular Expressionshttps://www.cnblogs.com/zhbzz2007/p/6813836.html

2021-04-03 10:10:07 252

原创 排序问题总结 - CSNotes

补充:堆排序(升序,降序,迭代,递归写法)https://blog.csdn.net/unspoken0714/article/details/107921229第K大的元素或者第K个最大元素可用堆排或快速选择(快排+二分)的解法。堆排:第K大的元素用最小堆或最大堆,冒K次,时间复杂度 = 建堆时间+调整堆k次 = O(n)+ O(Klogn)第K个最大元素用最大堆或最小堆,冒K次,时间复杂度一样如果是用迭代实现堆的heapify,空间复杂度为O(1),堆排序是原地排序。import

2021-03-31 18:52:42 103

原创 HMM代码 - HanLP

HanLP HMM 代码,包括概率计算(计算观测序列的条件概率)、学习(最有可能的模型参数)、预测问题(给定观测序列和模型参数,最有可能的状态序列)。/* * <author>Han He</author> * <email>me@hankcs.com</email> * <create-date>2018-06-09 7:47 PM</create-date> * * <copyright file="HiddenM

2021-03-31 14:54:50 495

原创 医药知识图谱

问答系统:

2021-03-31 09:58:05 663

原创 二分查找总结题型 - CSNotes

二分查找有很多细节要注意。x的平方根对于 x = 8,它的开方是 2.82842…,最后应该返回 2 而不是 3。在循环条件为 l <= h 并且循环退出时,h 总是比 l 小 1,也就是说 h = 2,l = 3,因此最后的返回值应该为 h 而不是 l。解法一:class Solution: def mySqrt(self, x: int) -> int: # 直接返回的情况 if x <= 1: return

2021-03-28 23:23:37 166

原创 最大值,最小值 初始化

MAX:用于初始化一个求min的变量MIN:用于初始化一个求max的变量C++INT_MAX, INT_MINJAVAInteger.MAX_VALUE 和 Integer.MIN_VALUEJava Integer取值范围是:[-2147483648, 2147483647]PYTHONfloat(“inf”), float("-inf")

2021-03-28 18:42:02 1048

原创 最长公共子序列

返回最长公共子序列的长度leetcode 1143class Solution: def longestCommonSubsequence(self, text1: str, text2: str) -> int: m, n = len(text1), len(text2) dp = [[0] * (n + 1) for _ in range(m + 1)] for i in range(1, m + 1): ..

2021-03-28 11:38:02 131

转载 python变量的作用域:局部变量和全局变量

变量定义以后,是有一定的使用范围,称之为变量的作用域。比如Java中,变量的使用范围是变量声明时所在的{}范围,而python的作用域对应的为同一个缩进。按着变量的使用范围给变量划分成如下两种: 1.全局变量:就是在函数外部定义的变量 2.局部变量:就是在函数内部定义的变量全局函数和局部函数的作用域局部变量作用域:只能在被声明的函数内部访问,函数外部使用不了。这也是不同函数里可以定义名称一样变量的原因全局变量作用域:可以在整个程序范围内访问,任意函数都可以访问原文链接

2021-03-27 16:53:14 255

原创 二叉树的层序遍历及变体

层序遍历知识点:python3的deque:https://blog.csdn.net/langb2014/article/details/100118296模板:popleft一个节点,append自己的value到level数组中(遍历该层),然后append所有他的子节点到queue中(queue存下一层的节点);将一层的节点都popleft后,将level数组存入res数组(将该层节点值加入结果数组)。python:# Definition for a binary tree node.

2021-03-24 15:58:44 164

原创 最大连续子数组和,最大连续子数组乘积

最大连续子数组和动态规划的是首先对数组进行遍历,当前最大连续子序列和为 sum,结果为 ans如果 sum > 0,则说明 sum 对结果有增益效果,则 sum 保留并加上当前遍历数字如果 sum <= 0,则说明 sum 对结果无增益效果,需要舍弃,则 sum 直接更新为当前遍历数字每次比较 sum 和 ans的大小,将最大值置为ans,遍历结束返回结果维护两个变量,在动态规划过程中,一个是tmp_sum即降维了的dp数组dp[i], 一个是最终答案ans。每个i都要记得更新一.

2021-03-24 15:55:58 281

转载 Batch Norm、Layer Norm、Instance Norm、Group Norm、Switchable Norm总结

原文:https://blog.csdn.net/qq_41997920/article/details/899459721.综述在入门深度学习时就深度学习中的一些概念做了一些介绍,但随着学习的不断深入,一些网络优化的技巧越来越多,才发现之前的理解的不够深入。在这里有对BN的理解,对出现的几种归一化进行一些个人理解的介绍,首先看一个直观图归一化层,目前主要有这几个方法,Batch Normalization(2015年)、Layer Normalization(2016年)、Instance Nor

2021-03-23 18:38:30 210

原创 腾讯一面:BERT模型压缩,BERT变种,数据分桶

BERT模型蒸馏有哪些方法?https://blog.csdn.net/c9Yv2cf9I06K2A9E/article/details/109039823BERT变种https://blog.csdn.net/qq_39006282/article/details/107251957数据分桶https://blog.csdn.net/fang156239305/article/details/107315666/

2021-03-23 11:52:50 504

原创 bert-as-service & BERT FAQ

官方github:https://github.com/hanxiao/bert-as-service#q-the-cosine-similarity-of-two-sentence-vectors-is-unreasonably-high-eg-always–08-whats-wronghttps://mp.weixin.qq.com/s/E60wUHkHo-Gj3wb9Denuag

2021-03-22 17:55:03 272

原创 X数之和

1. 两数之和TwoSum时间:O(n)来自遍历整个数组,每次遍历都查找一次hashset用时O(1) 空间:O(n)来自hashset存储之前遍历过的元素重点在这一段:Hashset对于每一个遍历的元素num,都在之前遍历过的并存入map中的元素们中找有没有target - num,如果有,返回[hashtable[target - num], i], 如果没有,将当前遍历的元素以(key,value) = (nums[i], i)的形式存入map。if target - num in ha

2021-03-22 17:54:22 287

原创 运算优先级

移位运算的优先级小于加减运算的优先级,运算时先进行加减!!所以要写成:mid = left + ((right - left) >> 1)reference:https://blog.csdn.net/yiqzq/article/details/81144342

2021-03-21 17:52:19 273

原创 3.21字节跳动笔试

二分答案#include<bits/stdc++.h>using namespace std;bool check(vector<long long>& a, long long mid){ long long temp; for(int i=0; i<a.size()-1; i++){ temp = min(a[i]*2, mid/2); if(a[i]>temp) return false; .

2021-03-21 16:02:43 824 2

转载 编程机试输入输出模板-python3

转载自:https://blog.csdn.net/weixin_43297257/article/details/105591319单输入输入形式16AC输入模板# 输入一个数字,int: 16a = int(input())# 输入一个字符/字符串,str: ACc = input()12345单行输入输入形式2 8 1ABC CSA输入模板# 输入多位数字,直接得到 list[int]:[2,8,1]line = list(map(int,i

2021-03-19 22:55:30 260

转载 Python中单引号,双引号,3个单引号及3个双引号的区别

转载自:https://blog.csdn.net/woainishifu/article/details/76105667单引号和双引号在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如str1 = ‘python’str2 = “python”str1和str2是没有任何区别的。我们知道Python以其易用性而著名,所以刚开始看教程学习看到单引号和双引号都可以使用会以为这是Python为了方便程序员,随便用哪个就好,不用担心用错。其实,背后的原因不只是这么简单。举个例子,

2021-03-19 22:32:39 134

原创 DFS

岛屿in-place(在原数组上进行修改). 若不能直接修改board,则需要一个标记数组(初始化为全0),遍历过的地方标记为1,如果这个标记数组对应的位置(i,j)不为0,那么表示这个地方已经遍历过.停止条件改为:if not 0 <= i < len(grid) or not 0 <= j < len(grid[0]) or grid[i][j] == '0' or visited[i][j] == '1': returnclass Solution: .

2021-03-19 14:37:57 83

转载 排序算法总结图

转自:https://blog.csdn.net/HuoYiHengYuan/article/details/104479754在排序算法中,我们可能会遇到In-place和Out-placein-place 占用常数内存,不占用额外内存out-place 占用额外内存In-place假如问题规模是n,在解决问题过程中,只开辟了常数量的空间,与n无关,这是原址操作,就是In-place。例如在冒泡排序中,为了将arr排序,借用了一个temp的临时变量,开辟了一个临时空间,这个空间是常数量,这就

2021-03-18 15:49:29 188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除