7 _____miss

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 4w+

BERT 面试总结

BERT 1、整个结构的介绍(1)模型输入 输入句子分字符,字符的embedding+position embedding + segement embedding求和作为模型的输入,其中会随机掩盖掉15%的字符,其中80%用[mask]字符代替,这10%的随机替换成其它字符,10%不做改变。(2)模型输出: 预训练模型的输出是输入的各个字符经过模型编码后的embedding,两个任务是预测输入中被掩盖掉的词,以及预测输入的两句是上下两句话还是拼接的。(3)模...

2020-10-25 23:01:08

算法面试题

1、LeetCode 78.子集:https://leetcode-cn.com/problems/subsets/2、

2020-10-24 23:02:12

多标签分类方法总结——实现方法、评价指标、损失函数

分类一般分为三种情况:二分类、多分类和多标签分类。多标签分类比较直观的理解是,一个样本可以同时拥有几个类别标签,比如一首歌的标签可以是流行、轻快,一部电影的标签可以是动作、喜剧、搞笑,一本书的标签可以是经典、文学等,这都是多标签分类的情况。多标签分类的一个重要特点是样本的所有标签是不具有排他性的。 在阅读了一篇类似综述总结的博客后,做了以下总结,主要是实现多标签分类的几种思想,以及在深度网络的背景下实现多标签分类的几种方法。 实现多标签分类主要有两种思想,一种是...

2020-10-14 20:52:15

分类问题中的各种评价指标——precision,recall,F1-score,macro-F1,micro-F1

目录一、二分类评价指标1、真实标签-预测标签的混淆矩阵2、accuracy3、precision、recall和F1-score4、指标的选择问题二、多分类评价指标1、macro-F12、weight-F13、micro-F14、指标的选择问题注:这篇文章只是对常用的分类问题中的评价指标的总结。一、二分类评价指标1、真实标签-预测标签的混淆矩阵 样本被预测为正 样本被预测为负 实际样本为正 TP(true positive) .

2020-10-13 17:33:09

LeetCode 84. 柱状图中最大的矩形——Python实现(栈)

# -*- coding: utf-8 -*-"""@File : largest_rectangle_area.py@Author: zhang_san@Time : 2020/9/13 10:31@des : 题目:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为1。求在该柱状图中,能够勾勒出来的矩形的最大面积。 思路:使用栈的方式。因为柱状图的下边界是固定的,所以求柱状图中的矩形面积,其实是求以每一个柱高为上边界,可以形成的矩形的面.

2020-09-13 16:28:34

LeetCode 300.最长上升子序列——Python实现(动态规划、二分查找)

# -*- coding: utf-8 -*-"""@File : longest_increasing_subsequence_dp.py@Author: zhang_san@Time : 2020/9/5 16:04@des : 题目:给定一个无序的整数数组,找到其中最长上升子序列的长度。 输入: [10,9,2,5,3,7,101,18],输出: 4 。解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。 method 2:对动态.

2020-09-06 13:53:15

LeetCode 215. 数组中的第K个最大元素——Python实现(堆排序、快速排序)

1、用堆排序的方法# -*- coding: utf-8 -*-"""@File : heap_find_kth_largest.py@Author: zhang_san@Time : 2020/8/28 19:54@des : 在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。 即:在数组进行降序排列之后,取 第 k 个位置上的值。这里不考虑重复的情况,比如排序后为[6, 5, 5, 4,

2020-08-30 16:41:09

LeetCode 704.二分查找——Python实现

# -*- coding: utf-8 -*-"""@File : binary_search.py@Author: zhang_san@Time : 2020/8/28 17:59@des : 二分查找。"""class Solution: def search(self, nums, target) -> int: start, end = 0, len(nums) - 1 # 递归查找目标值 while star.

2020-08-28 19:49:13

LeetCode 142.环形链表II——Python实现(hash、快慢指针)

1、使用哈希查找的方法class Solution: def detectCycle(self, head: ListNode) -> ListNode: if head is None or head.next is None: return None # 用hashmap的方式存储 node_index_dict = {} i = 0 while head:

2020-08-28 11:33:18

LeetCode 141.环形链表——Python实现

1、用哈希查找的方法# -*- coding: utf-8 -*-"""@File : hash_has_cycle.py@Author: zhang_san@Time : 2020/8/27 22:19@des : 题目:给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链 表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。 方法一:利用哈希查找的方法,遍历节点,存入ha

2020-08-27 22:55:18

LeetCode 160.相交链表——Python实现

感觉LeetCode的简单、中等、困难这三个等级是按照代码的复杂程度,以及好记程度来的。。。。# -*- coding: utf-8 -*-"""@File : intersection_node.py@Author: Qiu_Nian@Time : 2020/8/27 20:43@des : 一种比较巧妙的方式是,分别为链表A和链表B设置指针A和指针B,然后开始遍历链表,如果遍历完当前链表,则将指针 指向另外一个链表的头部继续遍历,直至两个指针相遇。

2020-08-27 22:15:36

LeetCode 25.k个一组翻转链表——Python实现

1、官方给的一种解法,很直观,就是指针太多,很容易绕晕class Solution: def reverseKGroup(self, head: ListNode, k: int) -> ListNode: def reverseList(head_node, tail_node): new_tail_node = head_node visited_head = None while head_

2020-08-27 19:37:11

LeetCode 206.反转链表——Python实现

1、比较直观的方法,遍历链表,每一个节点做反转class Solution: def reverseList(self, head: ListNode) -> ListNode: visited_head = None # visited_head 是已经翻转过的链表的头节点 while head: current_head = head # 由于head连接着后面还没有翻转过的节点,所以不可以直接使用,则得使用

2020-08-27 19:30:33

LeetCode 21.合并两个有序链表——Python实现

1、比较直观的方式 用两个分别指向两个链表的指针,一起滑动. (1)用一个指针head始终跟踪当前最新的节点,也就是最终的有序链表list的最后一个元素 (2)另外l1和l2分别向后滑动进行值得比较,每一轮的比较都会将比较中的更小的那个值加入到结果链表中(结果链表通过head串联起来) (3)因为每一轮比较只加入一个值,所以最终只有最后一轮比较的其中一个节点没有添加进来class Solution: def mergeTwoLists(self, l1:...

2020-08-26 23:33:47

LeetCode 958.二叉树的完全性检验——Python实现(BFS)

题目:给定一个二叉树,确定它是否是一个完全二叉树。百度百科中对完全二叉树的定义如下: 若设二叉树的深度为 h,除第 h 层外,其它各层 (1~h-1) 的结点数都达到最大个数,第 h 层所有的结点都连续集中在最左边, 这就是完全二叉树。(注:第 h 层可能包含 1~2h个节点。)1、解题思路:(1)从完全二叉树的定义来看,除了最后一层以外,其它层的元素个数应该是达到最大的。(2)对于最后一层的元素,所有的元素必须全部靠左(3)按以上所述,如果可以获取每一层的元素,那么就可以获取每一层大大..

2020-08-26 17:04:58

LeetCode 226.翻转二叉树——Python实现(递归、迭代)

1、题目:翻转二叉树。就是一颗二叉树的所有子树都会发生左右翻转,所以这种情况用递归就可以实现class Solution(object): def invertTree(self, root: TreeNode) -> int: if root is None: return root left_node = self.invertTree(root.left) right_node = self.invertTr

2020-08-26 13:58:04

LeetCode 110.平衡二叉树——Python实现(递归)

题目:给定一个二叉树,判断它是否是高度平衡的二叉树。一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。思路:平衡二叉树的子树也是一颗平衡二叉树。所以,可以用递归的方法,从叶子节点开始,逐层向上检验子树。在每一次的 节点计算力,需要计算的是以当前节点为root,其左右子树是否平衡,如果平衡就是true,否则就是false。那么如何判断 左右子树是否平衡,就要计算左右子树的高度,也就是层数。同时,为了便于当前 root节点的上一级节点进行判断,需要返 回当前子树.

2020-08-26 11:35:03

LeetCode 543.二叉树的直径——Python实现

题目:给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。思路:基于二叉树的结构,对于一条路径上的点,要么是做向上传递信息的,要么是向两个子树传递信息。在求最大路径和的时候, 需要传递的是节点的 value,在求最长路径时,求的是这条路径的长度,每增加一个节点就增加 1,所以这里比最大路径和相对简 单,每个节点只需要向上返回自己的最大路径即可。class Solution(object): def diameterOfBinar.

2020-08-26 10:37:46

LeetCode 124.二叉树中的最大路劲和——Python实现(递归、广度优先)

1、这题真的难得要把人送走了。。。 题目:求解二叉树中的任意一条路径的最大和,不一定是要从根节点开始,思路如下: 对于二叉树的深度遍历,本质是从叶子结点计算,然后将叶子节点相关的计算的相关值向上传递。而对于一条和最大的路径,它上面的所有点只可能担任两种角色,一种在这条路径里连接左右两颗子树,那么这个时候 left+root+right就是和最大的路径,还有一种 就是这个节点只是路径上的向上传递的节点,它的任务是连接自己的最大子树和自己的父级节点。class Soluti...

2020-08-25 20:34:17

LeetCode 200.岛屿数量——Python实现(递归、广度优先)

1、通过递归的方式实现岛屿数量的计算 (1)寻找某一个 1 为入口,迭代将与它相连的 1 都标记为0,这样直到相连的一整块周围都没有 1 ,只有0的时候,迭代结束 (2)完成(1)中的 一个完整的迭代一次,就代表找到了一块岛屿 (3)在整个网格上循环找为 1 的入口,然后计算岛屿的数量class Solution: def numIslands(self, grid): def mark_zeros(grid, i, j, num_row, num_c...

2020-08-25 16:53:18

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 1024勋章
    1024勋章
    #1024程序员节#活动勋章,当日发布原创博客即可获得
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。