自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NLP transformer抽取式问答项目详解

详细介绍NLP抽取式问答项目的一些细节,以及对应的代码实现

2023-01-02 18:10:37 1305

原创 NLP之一文搞懂word2vec、Elmo、Bert演变

导读自然语言处理本质是解决文本相关的问题,我们可以把它的任务分为大致两部分:预训练产生词向量以及对词向量进行操作(下游NLP具体任务)。在自然语言处理中有词向量模型word2vec、Elmo以及Bert等,也有RNN,LSTM等下游encoding模型,初学者很容易搞混,下面就分别介绍这几个模型之间的区别和联系,以及NLP技术的发展之路。word2vec1.原理word2vec是一种编码方式,于2013年由google实验室提出,它的特点是将所有词表示成低位稠密向量,它解决了one-hot词袋编码的

2021-05-28 15:05:13 2183

原创 Neo4j使用方法总结

导读使用版本:Neo4j 1.4.5来到主界面,单机Graph DBMS的start按钮,等待启动启动之后按左边第3个按钮,找到Neo4j Browser,点击open启动,来到neo4j的网页交互页面。插入数据首先先删除之前创建好的图(若有),语句为:MATCH(n) DETACH DELETE n这里,MATCH是匹配操作,而小括号()代表一个节点node(可理解为括号类似一个圆形),括号里面的n为标识符。接着创建人物节点:CREATE (n:Person {name:'Joh

2021-05-26 11:01:14 7130 1

原创 机器学习之期望最大算法

导读机器学习之EM算法

2021-05-25 17:01:49 279

原创 机器学习之隐马尔可夫模型(HMM)、最大熵马尔可夫模型(MEMM)、条件随机场(CRF)

导读HMM—MEMM—CRF

2021-05-25 10:30:52 1365 3

原创 机器学习之决策树终极分类器:XGBoost

导读:XGBoost被认为是各类赛事排名第一的算法Ensenble是集成算法,分为两类:bagging和boostingbagging:每个人都是专家(List of experts),容易过拟合;把多个拼接到一起,降低方差,即模型的稳定性boosting:每个人都是普通人(List of weak learners),容易欠拟合XGBoost1.优势:Speed and Performance并行化有大量可调节参数2.学习路径:如何构造目标函数(Objective function

2021-05-25 10:28:41 764

原创 机器学习之决策树算法

导读决策树—随机森林—GBDT

2021-05-25 09:53:09 750

原创 NLP系列之LSTM网络

导读LSTM是一个非常经典的RNN模型,它在普通的RNN基础上加入了若干个参数,改成了能把很久之前记忆的量都加了进来,本文就以Colah大神的原文谈一下我的个人理解,希望看完之后对你有帮助。本文一共分为4个部分:循环神经网络RNN的由来;传统RNN结构的缺点以及LSTM的引入;LSTM网络的结构特点以及公式推导;LSTM的一些变形;一、循环神经网络RNN的由来人类并不是每时每刻都从一片空白的大脑开始他们的思考。在你阅读这篇文章时候,你都是基于自己已经拥有的对先前所见词的理解来推断当前词的

2021-04-18 09:37:38 713

原创 隐马尔可夫模型之维特比算法案例讲解

111

2021-04-12 23:37:52 1250

原创 团灭系列之动态规划买卖股票问题

导读本系列一共分6道题,分别是Leetcode题号题目121买卖股票的最佳时机122买卖股票的最佳时机 II123买卖股票的最佳时机 III188买卖股票的最佳时机 IV309最佳买卖股票时机含冷冻期714买卖股票的最佳时机含手续费以上算法均是用动态规划的思想求解,下面分别看每个题是如何解决的。通用模板:状态数组dp[i][k][0,1]:即第i天,最多允许交易k次,当前持有[1]或不持有[0]所获得的最大利润base case:

2021-04-11 10:58:50 231

原创 Leetcode复盘9——动态规划

导读动态规划作为面试高频的考点被大多数程序员所重视,本期就带来的是动态规划的一些基本题目以及解答思路,希望能对大家有所帮助1.打家劫舍 / 强盗抢劫LeetCode198难度:中等Mediumidea:状态dp[i]:第[i]间房舍必偷获得的最高金额(注意此时第[i-1]间就不能偷了)状态转移方程:取第[i-1]间必偷的最高金额和第[i-2]间必偷的最高金额加上偷当前房租的金额之间的较大值,即dp[i]=max(dp[i−1],dp[i−2]+nums[i]) dp[i]=max(dp[i-1]

2021-03-13 15:50:58 280

原创 Leetcode刷题之旅3——爬楼梯

导读这次带来的是动态规划经典问题:爬楼梯,动态规划只要找到两个东西就可以解了,状态dp[i]状态转移方程题目难度:简单Easy题目描述:有 N 阶楼梯,每次可以上一阶或者两阶,求有多少种上楼梯的方法。状态dp[i]:表示走到第iii阶楼梯一共有多少种方法;状态转移方程:因为每次只能上一到两阶楼梯,故上到第i阶楼梯的方法数等于上到第i−1i-1i−1阶的方法数和上到第i−2i-2i−2阶的方法数之和,即dp[i]=dp[i−1]+dp[i−2]dp[i]=dp[i-1]+dp[i

2021-03-12 09:15:52 180

原创 Leetcode团灭系列之单调栈问题

团灭系列之单调栈问题

2021-03-11 17:33:07 145

原创 机器学习之反向传播BP算法

机器学习之反向传播BP算法导语这是我写的第一篇关于机器学习的文章,以后还会有更多有关机器学习以及深度学习的总结,敬请期待

2021-03-09 17:10:49 87

原创 Leetcode团灭系列之中序遍历二叉搜索树问题

团灭系列之中序遍历二叉搜索树问题

2021-03-06 22:10:28 90

原创 Leetcode复盘7——图

Leetcode复盘3——栈和队列导读1.判断二分图 / 判断是否为二分图(Leetcode785)难度:简单Easyidea: 双栈(two Stack)由栈的特点,即先入后出,队列里面的值先进入第一个栈(in栈)后顺序被颠倒过来了,从in栈进到第二个栈(out栈)顺序又被反过来了,这样就实现了先入先出的方法代码:Java版class MyQueue { // 在所有函数外定义两个栈,第一个函数体中赋值 private Stack<Integer> in =

2021-03-02 22:34:40 149

原创 Leetcode复盘6——数组与矩阵

Leetcode复盘6——数组与矩阵导读1.移动零 / 把数组中的 0 移到末尾相同(Leetcode283)难度:简单Easyidea:定义一个游动下标idx,先把nums里非零数字放到前面,再把后面的位置置0取数组大小,Java里是nums.length,C++是nums.size()代码:C++版class Solution {public: void moveZeroes(vector<int>& nums) { //

2021-03-02 14:42:48 265

原创 Leetcode复盘8——位运算

Leetcode复盘8——位运算导读基本原理0s 表示一串 0,1s 表示一串 1。x ^ 0s = x x & 0s = 0 x | 0s = xx ^ 1s = ~x x & 1s = x x | 1s = 1sx ^ x = 0 x & x = x x | x = x利用x ^ 1s = ~x的特点,可以将一个数的位级表示翻转;利用x ^ x = 0的特点,可以将三个数中重复的两个数去除,只留下另一

2021-02-28 15:42:21 329 3

原创 Leetcode复盘5——字符串

Leetcode复盘2——链表导读1.有效的字母异位词 / 两个字符串包含的字符是否完全相同(Leetcode242)难度:简单Easyidea: 哈希表(HashMap) / 字典(dict)用字典来存储每个单词出现的次数,最后看两个字符串相同字母出现的次数是否一样,或者因为只有26个字母,故可以用一个长度为26的字符串来记录每个字母出现的次数,分别扫描两个字符串,一个用来加,另一个用来减,最后再检查一遍是否每个字母出现次数都为0了代码:Java版class Solution {

2021-02-24 18:35:57 327

原创 Leetcode复盘4——哈希表

Leetcode复盘2——链表导读1.两数之和 / 数组中两个数的和为给定值(Leetcode160)难度:简单Easyidea: 哈希表(Hashmap)把数组中所有的元素按key=数字,value=下标存进哈希表中遍历一遍,对于每个数nums[i],在已有的哈希表里查找"target - num[i]"是否已经在表里了,如果找到了key,则返回它对应的value(即下标)和当前值的下标;若不存在,把当前值按key=数字,value=下标存进哈希表中.代码:Java版class Solu

2021-02-24 18:22:01 220

原创 Leetcode复盘3——栈和队列

Leetcode复盘2——链表导读这是我写的第二篇复盘总结,总结了10道链表相关的题目,里面包含了所有链表的基本操作,包括:如何定义一个指针(C++ ListNode *pA = head, Java ListNode pA = head)如何反转链表;(设置一个临时指针temp,先记录cur的下一个,反转,pre和cur各往前走一步)如何区分指针移动和指向:当为指向时“.next”在等号左边,即用当前指针指向等号右边的节点;当为移动时”.next”在等号右边,即把某一个指针指向的节点赋值给等号

2021-02-24 18:03:19 193

原创 Leetcode复盘2——链表

Leetcode复盘2——链表导读这是我写的第二篇复盘总结,总结了10道链表相关的题目,里面包含了所有链表的基本操作,包括:如何定义一个指针(C++ ListNode *pA = head, Java ListNode pA = head)如何反转链表;(设置一个临时指针temp,先记录cur的下一个,反转,pre和cur各往前走一步)如何区分指针移动和指向;1.相交链表 / 找出两个链表的交点(Leetcode160)难度:简单Easyidea: 双指针法(two pointers)

2021-02-19 17:17:04 268

原创 Leetcode刷题之旅2——160相交链表/找出两个链表的交点

160题 相交链表/找出两个链表的交点难度:简单Easy题目描述:给定如下面的两个链表:在节点 c1 开始相交。注意:如果两个链表没有交点,返回 null.在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循环。程序尽量满足 O(n) 时间复杂度,且仅用 O(1) 内存。思路设链表 A 的长度为 a + c,B 的长度为 b + c,其中 c 为尾部公共部分长度,可知 a + c + b = b + c + a。当访问 A 链表的指针访问到链表尾部时,令它从链表

2021-02-18 09:46:45 304

原创 Leetcode复盘1——树

Leetcode复盘1——树——递归导读:这是我写的第一次复盘总结,利用递归法解决数相关的题目,里面还会涉及到其他的概念例如前缀和等等。树的递归解法一共分四步:1.terminator——终结者,即下探到底该往上返回了;2.process the current logic——处理当前层的逻辑(包括最后一句返回);3.drill down——下探,分别下探左右子树(若存在);4.reverse——回溯,若有全局变量,例如map等,往上返回时,要把当前层的值或者节点从map里除去。1.二叉树的

2021-02-09 20:09:01 410

原创 Leetcode刷题之旅1——671二叉树中的第二小节点

671题 二叉树中的第二小节点难度:Easy简单题目描述:给定一个非空特殊的二叉树,每个节点都是正数,并且每个节点的子节点数量只能为 2 或 0。如果一个节点有两个子节点的话,那么该节点的值等于两个子节点中较小的一个。更正式地说,root.val=min(root.left.val,root.right.val)root.val = min(root.left.val, root.right.val)root.val=min(root.left.val,root.right.val) 总成立。给出这

2021-02-09 16:52:06 162

空空如也

空空如也

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

TA关注的人

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