自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode45. 跳跃游戏 II

45. 跳跃游戏 II给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组...

2020-03-31 13:03:48 165

原创 LeetCode23. 合并K个排序链表

23. 合并K个排序链表合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6原题链接# 23. 合并K个排序链表class ListNode: def __init__(...

2020-03-30 19:39:04 139

原创 LeetCode54. 螺旋矩阵

54. 螺旋矩阵给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。示例 1:输入:[[ 1, 2, 3 ],[ 4, 5, 6 ],[ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2:输入:[[1, 2, 3, 4],[5, 6, 7, 8],[9,10,11,12]]输出: [1,...

2020-03-29 20:46:38 87

原创 LeetCode763. 划分字母区间

763. 划分字母区间字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。示例 1:输入: S = “ababcbacadefegdehijhklij”输出: [9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。...

2020-03-29 18:27:37 206

原创 PyTorch学习笔记(33)RNN

RNNRNN 循环神经网络-处理不定长输入的模型-常用于NLP及时间序列任务(输入数据具有前后关系)RNN网络结构xt:时刻t的输入,shape = (1,57)st:时刻t的状态值,shape = (1,128)ot:时刻t的输出值,shape = (1,57)U:linear层的权重参数,shape = (128,57)W:linear层的权重参数,shape = (128...

2020-03-28 22:38:40 173

原创 LeetCode269. 火星词典

269. 火星词典原题链接现有一种使用字母的全新语言,这门语言的字母顺序与英语顺序不同。假设,您并不知道其中字母之间的先后顺序。但是,会收到词典中获得一个 不为空的 单词列表。因为是从词典中获得的,所以该单词列表内的单词已经 按这门新语言的字母顺序进行了排序。您需要根据这个输入的列表,还原出此语言中已知的字母顺序。示例 1:输入:[“wrt”,“wrf”,“er”,“ett”...

2020-03-28 18:39:22 645

原创 机器学习项目(四)疫情期间网民情绪识别 (二)

文本情感分类问题机器学习方法 TFIDF+机器学习分类算法深度学习方法 TextCNN TextRNN 预训练的模型预训练的模型有哪些?bert输入有三个序列 Token(字符的序列 把文本转化成字符的编码 进行输入)Segment(段序列 用于区分是句子A 还是句子B (如果是A就设为0 B就设为1) 用于文本分类 可以全部设成0)Position(位置向量 由于tr...

2020-03-27 22:28:27 5751 21

原创 机器学习项目(四)疫情期间网民情绪识别 (一)

疫情期间网民情绪识别赛题背景2019新型冠状病毒(2019-nCoV)感染的肺炎疫情发生对人们生活生产的方方面面产生了重要影响,并引发国内舆论的广泛关注,众多网民参与疫情相关话题的讨论。为了帮助政府掌握真实社会舆论情况,科学高效地做好防控宣传和舆情引导工作,本赛题针对疫情相关话题开展网民情绪识别的任务。数据介绍训练集 10万条无标记样本90万条测试集1万条数据集依据与“新冠肺炎”相关...

2020-03-27 19:09:11 8703 25

原创 LeetCode121. 买卖股票的最佳时机

买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 ...

2020-03-27 17:00:26 82

原创 LeetCode88. 合并两个有序数组

LeetCode88. 合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,...

2020-03-26 20:18:28 77

原创 LeetCode.1116打印零与奇偶数

原题:https://leetcode-cn.com/problems/print-zero-even-odd/假设有这么一个类:class ZeroEvenOdd {public ZeroEvenOdd(int n) { … } // 构造函数public void zero(printNumber) { … } // 仅打印出 0public void even(prin...

2020-03-26 17:38:03 261

原创 算法强化 —— 反向传播

反向传播使用反向传播是为了防止路径的重复计算。为了方便,我们将之前的一个前向传播的过程复制过来:Z1=W1X+b1Z_1 = W_1X+b_1Z1​=W1​X+b1​H1=RELU(Z1)H_1 = RELU(Z_1)H1​=RELU(Z1​)Z2=W2H1+b2Z_2 = W_2H_1 + b_2Z2​=W2​H1​+b2​H2=RELU(Z2)H_2 = RELU(Z_2)H2​=...

2020-03-26 00:07:40 230

原创 算法强化 —— 前向神经网络

网络图和激活函数import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets import make_circles准备数据def load_data(): # 训练样本有300个 测试样本有100个 train_X,train_Y = make_circles(n_samples=300...

2020-03-25 16:06:06 200

原创 算法强化 —— XGBoost(三)

缺失值处理真实场景中,有很多可能导致产生稀疏。如:数据缺失、某个特征上出现很多0项、人工进行one-hot编码导致大量的0理论上,数据缺失和数值0的含义是不同的,数值0是有效的实际上,数值0的处理方式类似缺失值的处理方式,都视为稀疏特征在xgboost中,数值0的处理方式和缺失值的处理方式是同一的。这只是一个计算上的优化,用于加速稀疏特征的处理速度对于稀疏特征,只需要对有效值进行处理,无...

2020-03-25 10:19:36 251

原创 算法强化 —— XGBoost(二)

分裂点贪心算法对现有的叶节点加入一个分裂,然后考虑分裂之后目标函数降低多少,如果目标函数下降,则说明可以分裂,如果目标函数不下降,则说明该叶节点不宜分裂对于一个叶节点,加入给定其分裂点,定义划分到左子节点的样本的集合为mathbbIL={i∣q(x→i)=L}\\mathbb{I}_{L}=\left\{i | q\left(\overrightarrow{\mathbf{x}}_{i}\ri...

2020-03-24 21:43:02 121

原创 算法强化 —— XGBoost

XGBoostxgboost也是使用提升树相同的前向分步算法。其区别在于:xgboost通过结构风险极小化来确定下一个决策参数Θm{\Theta}_{m}Θm​Θ^m=arg⁡min⁡Θm∑i=1NL(y~i,fm(x→i))+Ω(hm(x→))\hat{\Theta}_{m}=\arg \min _{\Theta_{m}} \sum_{i=1}^{N} L\left(\tilde{y}_{i...

2020-03-24 15:26:41 170

原创 算法强化 —— 提升树算法(四)

多分类问题对于多分类问题,与二分类问题类似,仅在损失函数部分有所区别,对于多分类问题,原论文中选择的是交叉熵损失函数L({yk,Fk(x)}1K)=−∑k=1Kyklog⁡pk(x)L\left(\left\{y_{k}, F_{k}(x)\right\}_{1}^{K}\right)=-\sum_{k=1}^{K} y_{k} \log p_{k}(x)L({yk​,Fk​(x)}1K​)=...

2020-03-24 10:57:57 127

原创 算法强化 —— 提升树算法(三)

二分类问题对于二分类问题,原论文中使用的对数损失函数:L(y,F)=log(1+exp(−2yF)),y∈−1,1L(y,F) = log(1+exp(-2yF)),y \in -1,1L(y,F)=log(1+exp(−2yF)),y∈−1,1其中F(x)=12log[Pr(y=1∣x)Pr(y=−1∣x)]F(x) = \frac{1}{2}log \left[\frac{Pr(y=1...

2020-03-23 22:58:56 154

原创 算法强化 —— 提升树算法(二)

梯度提升树梯度提升树,是利用损失函数的负梯度在当前模型的值作为残差的一个近似值,进行拟合回归树,这样只要可以求梯度的函数,我们都可以进行求解。为了简便去掉求和符号和下标,改用向量化表示,则损失函数为:loss=L(y,fm(x))=L(y−fm−1(x)−hm(x;am))\text {loss}=L\left(y_, f_{m}\left(x\right)\right)=L \left(y...

2020-03-23 16:59:03 190

原创 算法强化 —— 提升树算法(一)

GDBT首先GBDT是集成学习的一种,而且属于boosting家族。我们知道Bagging的思想比较简单,即每一次从原始数据中根据均匀概率分布有放回的抽取和原始数据大小相同的样本集合,样本点可能出现重复,然后对每一次产生的训练集构造一个分类器,再对分类器进行组合。常见的随机森林算法就是bagging的集成算法。boosting的每一次抽样的样本分布都是不一样的。每一次迭代,都根据上一次迭代的结...

2020-03-23 15:30:20 206

原创 算法强化 —— GRU和LSTM

GRU(Gated Recurrent Unit)一个带门的RNN一般RNN模型中,每个元素受其周围附近的影响较大,难以建立跨度较大的依赖性。由于跨度较大,普通的RNN模型就容易出现梯度消失,捕捉不到他们之间的依赖,造成语法错误。其中,a<t>a^{<t>}a<t>的表达式为a<t>=tanh(Wa[a<t−1>,x<t&...

2020-03-22 23:37:25 340

原创 算法强化 —— 循环神经网络(RNN)

循环神经网络(RNN)为了更好地解决序列信号问题,例如语音识别,机器翻译,情感分类,音乐发生器等,需要构建一种新的神经网络模型,RNN就是这样的序列模型传统的神经网络模型x<1>,x<2>,...,x<Ts>x^{<1>},x^{<2>},...,x^{<T_s>}x<1>,x<2>,...,x...

2020-03-22 22:31:39 418

原创 机器学习项目(二) 人工智能辅助信息抽取(九)

关系抽取关系抽取的应用1.建立新的结构化的知识库2.扩大现有知识库3.支持QA系统关系分类VS关系抽取关系分类:一般是判断一个句子中两个实体(entity)是哪种关系,属于多分类问题。关系抽取:从一个句子中判断两个entity是否有关系,一般是一个二分类问题,指定某种关系。关系抽取方式1.手写规则2.监督学习3.半监督/无监督学习人工规则优点:有高准确率、可以为特定领域定...

2020-03-22 20:26:46 324

原创 算法强化 —— HMM模型(二)

HMM——三个基本问题的计算宇宙公主有金银铜三个首饰盒。金首饰盒里有两件红宝石、一件蓝宝石,一件珍珠首饰和一件珊瑚;银首饰盒里有红宝石、珍珠,珊瑚和蓝宝石首饰各一件;铜首饰盒里有珍珠、红宝石和珊瑚首饰各一件。她准备这样做:把三个首饰盒放在一个轮盘上,随机转动轮盘。停下时,哪个盒子在她眼前,她就从这个首饰盒里随机拿出一件首饰,记录首饰的材质后,把首饰放回原盒中。宇宙公主将重复上述动作3次,如果...

2020-03-22 16:18:46 137

原创 算法强化 —— HMM模型(一)

HMM模型HMM–定义和假设概率模型所谓概率模型,顾名思义,就是将学习任务归结于计算变量的概率分布的模型概率模型非常重要。在生活中,我们经常会根据一些已经观察到的现象来预测和估计未知的东西————这种需求,恰恰是概率模型的推断(inference)行为所做的事情。推断(inference)的本质是:利用可观测变量,来推测未知变量的条件分布。生成模型VS判别模型概率模型又可以分为两类:...

2020-03-21 21:27:00 464

原创 算法强化 —— K-means

k-means主要思想有四个牧师去郊区布道,一开始牧师们随意选择了几个布道点,并且把这几个布道点的情况公告给了郊区所有的居民,于是每个居民到离自己家最近的布道点去听课。听课之后,大家觉得距离太远了,于是每个牧师统计了一下自己上课所有居民的地址,搬到了所有地址的中心地带,并且在海报上更新了自己的布道点的位置。牧师每一次移动不可能离所有人都很近。有的人发现A牧师移动以后自己还不如去B牧师出听课更近...

2020-03-21 16:23:50 210

原创 机器学习项目(二) 人工智能辅助信息抽取(八)

BiLSTM-CRF 模型BiLSTM-CRF1.句中转化为字词向量序列,字词向量可以在事先训练好或随机初始化,在模型训练时还可以再训练2.经过BiLSTM特征提取,输出是每个单词对应的预测标签3.经CRF层约束,输出最优标签序列发射分数(emission score)发射分数 来自BiLSTM层的输出用XiyjX_{iyj}Xiyj​代表发射分数,i是单词的位置索引,yjy_jyj...

2020-03-20 21:52:42 345

原创 算法强化 —— 最长公共子序列 LCS

最长公共子序列LeetCode 1143. 最长公共子序列给定两个字符串text1和text2,返回这两个字符串的最长公共子序列。一个字符串的子序列是指这样一个新的字符串:它是由原字符串在不改变字符的相对顺序的情况下删除某些字符(也可以不删除任何字符)后组成的新字符串。例如,"ace"是"abcde"的子序列,但"aec"不是"abcde"的子序列。两个字符串的「公共子序列」是这两个字符串...

2020-03-19 16:46:08 112

原创 算法强化 —— 最长上升子序列 LIS

最长上升子序列 LIS给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。暴力解法 列出所有子序列,再判断这个子序列是不是上升子序列状态和状态转移方程状态: 定义dp[i],表示以第i个数字为结尾的最长上升子序列的长度dp[i]表示范围[0,i]...

2020-03-19 16:10:25 141

原创 算法强化 —— 动态规划

动态规划1.斐波那契数列2.记忆化搜索3.动态规划def f1(n): if n == 0: return 0 if n == 1: return 1 return f1(n-1)+f1(n-2)记忆化搜索我们已经知道哥哥的递归计算方式的问题是重复计算,那么我们把已经计算过的内容存下来就好了,这种方法叫做记忆化搜索m...

2020-03-19 14:19:48 174

原创 算法强化 —— 递归(回溯法)

回溯法全排列问题机器人的运动范围LeetCode 46 全排列给定一个没有重复数字的序列,返回其所有可能的全排列。示例:输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]什么是回溯法1.递归一定会发生回溯2.通常讲的回溯法师一种暴力的搜索方法class Solution: ...

2020-03-18 23:54:17 177

原创 算法强化 —— 递归

递归1.斐波那契数列2.什么是递归3.记忆化搜索4.跳台阶问题5.变态跳台阶问题斐波那契数列F(0)=0F(0) = 0F(0)=0F(1)=1F(1) = 1F(1)=1F(n)=F(n−1)+F(n−2)F(n) = F(n-1)+F(n-2)F(n)=F(n−1)+F(n−2) def f1(n): if n == 0: ...

2020-03-18 20:28:35 123

原创 算法强化 —— 二叉搜索树 和 平衡搜索树

二叉搜索树 和 平衡搜索树二叉搜索树定义二叉查找树(Binary Search Tree):1.它或者是一颗空树2.或者是具有下列性质的二叉树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;若它的右子树不空,则右子树上所有结点的值均大于它的根节点的值,它的左右子树也分别为二叉排序树平衡搜索树定义AVL树本质上还是一颗二叉搜索树,它的特点是1.本身首先是一颗二叉搜索树...

2020-03-18 16:54:38 110

原创 算法强化 —— 二叉树的遍历

二叉树的遍历二叉树的数据结构class TreeNode: def __init__(self,x): self.val = x self.left = None self.right = None二叉树的前序遍历 def preorder(root): if root: print(root.v...

2020-03-18 15:06:53 79

原创 算法强化 —— 最小生成树

最小生成树并查集思想:用集合中的一个元素代表集合操作:合并(Union):把两个不想交的集合合并为一个集合查询(Find):查询两个元素是否在同一个集合中LeetCode 684 冗余检测在本问题中, 树指的是一个连通且无环的无向图。输入一个图,该图由一个有着N个节点 (节点值不重复1, 2, …, N) 的树及一条附加的边构成。附加的边的两个顶点包含在1到N中间,这条附加的边不属...

2020-03-17 22:44:13 183

原创 算法强化 —— 最短路径

最短路径Dijkstra算法Bellman-Ford算法Dijkstra步骤1.第一个核心步骤:找到当前未处理过的顶点中Distance最小的点V,(由于起点到起点的消耗为0,所以算法开始时V必定代表起点)2.第二个核心步骤:若V有邻居,则计算经过V的情况下起点到达各邻居的消耗Distance,并选择是否更新V邻居的Distance值。若没有邻居则对该点的处理结束3.重复以上两个核心...

2020-03-17 19:33:28 328

原创 算法强化 —— BFS和DFS

广度优先 深度优先BFS算法过程:1.首先将根节点放入队列中2.从队列中取出第一个节点,进行访问,并将其所有未访问过的邻居加入队列汇总3.若队列为空,则算法结束时间复杂度不确定,|V|代表节点数量,|E|代表边的数量邻接表表示时,查找所有顶点的邻接点所需时间为O(|E|),访问顶点的邻接点所花时间为O(|V|),总的时间复杂度为O(|V|+|E|)邻接矩阵表示时,查找每个顶点的邻...

2020-03-17 17:07:21 215

原创 机器学习项目(二) 人工智能辅助信息抽取(七)

文本特征抽取文本特征抽取利用深度学习自动发现特征的优势,学习到对最终任务有用的特征。nlp任务特征:1.序列输入,前后依赖2.输入不定长3.位置敏感卷积神经网络卷积 -> 池化 -> 全连接局部感知,参数共享,并行化,速度快卷积神经网络在图像中应用局部特征:N-Gram无法捕捉长距离特征卷积神经网络在文本中应用膨胀Dilated CNN为传统CNN的f...

2020-03-16 17:04:10 3096

原创 机器学习项目(二) 人工智能辅助信息抽取(六)

传统方法解决NER问题1.基于规则的专家系统:召回低,规则维护复杂,泛化能力差2.基于特征的监督学习:需要大量特征工程,泛化能力一般基于DL的NER模型成为主流,并取得了SOTA深度学习的关键优势在于其强大的表示学习能力,通过向量表示和神经网络学习复杂的组合语义深度学习可以通过对原始数据进行训练,自动发现分类或检测所需的语义表示NLP监督任务基本套路:文本数据搜集合预处理将文本...

2020-03-16 15:24:43 322

原创 算法强化 —— 链表

链表1.信息域:当前节点的值(Data or Value)2.指针域:指向下一个节点的指针链接(Reference or Link)注:1.必须明确指定链表的第一项的位置。一旦我们知道第一项在哪里,第一项目可以告诉我们第二项是什么,依次类推。按照一个方向遍历,直到最后一项(最后一个节点),最后一项需要知道没有下一项。2.这些节点在逻辑上是相连的,但是要知道他们在物理内存上并不相连链表是...

2020-03-15 19:34:50 92

空空如也

空空如也

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

TA关注的人

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