自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

尚拙的博客

永远不要看低自己,相信勤奋的力量!

  • 博客(46)
  • 收藏
  • 关注

原创 【大道至简】机器学习算法之EM算法(Expectation Maximization Algorithm)详解(附代码)---通俗理解EM算法。

通过上面的分析,我们终于可以总结一下EM算法啦!总的来说,EM算法分为E步和M步:(1)给参数θ即第0步赋初值;(2)如果是第一轮迭代,那么令θ=来计算Q函数;如果是>1轮迭代,则θ的值由上一次M步计算出的θ值决定。由于E步时θ已知,所以只需要计算Q,公式如下:也就是给定θ和已知的观测数据x的条件下,求一下隐变量z的条件概率。(3)根据E步计算出来的Q,按如下公式计算θ:也就是固定Q(z也固定)和已知的观测数据x,算一下θ。(4)重复(3)和(4)直至收敛。

2022-10-25 21:21:43 22072 34

原创 浅谈自然语言处理(NLP)学习路线(一)--- 概述

好了,告一段落,对NLP基础学习路线做个总结:1. 数学基础:重点是函数性质、导数(特别是对矩阵求偏导)、不同概率的定义和性质、数学期望、参数估计、梯度下降法2. 机器学习:重点是LR、Xgboost、HMM、CRF3. 传统文本算法: n-gram、tf-idf、textrank、lda4. 经典神经网络语言模型:LSTM、NNLM、word2vector、fasttext5. 进阶神经网络语言模型:elmo、transformer、gpt、bert。

2022-08-19 12:11:08 6645 9

原创 【大道至简】机器学习算法之逻辑回归(Logistic Regression)详解(附代码)---非常通俗易懂!

逻辑回归详细推导,一文让你彻底搞懂逻辑回归LR,附github代码

2022-08-10 15:06:50 6255 5

原创 18. 四数之和

本题虽然是四数之和,但和我们之前做过的所有x数之和都是换汤不换药,思路是一样的,只不过这里可能需要多一个循环,即4个指针共同来完成此题。请你找出并返回满足下述全部条件且。

2024-01-17 14:49:42 396

原创 16. 最接近的三数之和

那么“最接近”该怎么判断呢?也很好理解,既然是最接近,那必然是求距离的问题,要求最小距离,我们设置一个变量minx来始终记录距离最小的值,因此我们只需要在三段式判别之下再多一个判断,即判断当前三数之和与target之差的绝对值是否小于minx即可,显然,当当三数之和与target的差值为0时,说明三数之和直接等于target,距离达到最小,为0,那么minx就为0。遇到这种x数之和的问题,不要纠结,优先考虑多指针的解法。中选出三个整数,使它们的和与。假定每组输入只存在恰好一个解。

2024-01-15 11:44:29 416

原创 15. 三数之和

题目:给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。

2024-01-14 21:15:51 438

原创 14. 最长公共前缀

题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。

2024-01-09 15:46:41 353

原创 11. 盛最多水的容器

题目:给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。(废话)

2024-01-09 10:34:15 456

原创 5. 最长回文子串

还以`aacabaccba`举例,假设此时我们遍历到首尾字符所组成的子串为`cabac`,c和c相同,但`cabac`长度超过3,所以向内缩为`aba`,这个时候我们只需要判断`aba`是否为回文即可确定`cabac`是否为回文,而`aba`在之前肯定已经判断过了,在哪呢?拿`aacabaccba`来举例,如果相邻的两个字符一样,如“aa”,那它肯定是回文串,如果如果两个一样的字符不相邻但中间只裹挟一个字符,如“aca”,那它也必然是回文串,除此之外,其它的情况就不一定了;不要多想,本题就用动态规划解决。

2024-01-05 11:24:31 405

原创 4. 寻找两个正序数组的中位数

综合上述分析,本题实际上就是要从两个有序数组中找第k大的数,且这个第k大的数是两个数组的中位数。我们虽然不能直接将两个数组合并,但是,由于两个数组都是有序数组,所以当我们取每个数组的前k/2个数时,会出现两种情况,第一个数组的第k/2个数小于第二个数组的第k/2个数,或者第一个数组的第k/2个数大于第二个数组的第k/2个数,我们拿前者的情况举例

2024-01-04 15:51:02 844

原创 3. 无重复字符的最长子串

这是个常规题,我们在遍历字符串的时候,始终存储一个没有重复字符的子字符串的即可, 当遍历的指针指向的字母一旦已经存在在我们存储的子字符串中,那么子字符串就应当去掉重复字符及其之前的那些字符,并拼接当前指针指向的字符,从而成为一个新的无重复子串。,请你找出其中不含有重复字符的。题目:给定一个字符串。

2023-12-19 21:00:48 372

原创 2.两数相加

解题思路:两个数相加,无非就是考虑两个数中每个数字相加后的进位问题,怎么进位?大于9的进1位,小于10的不用进位,所以每个数字相加后要记录的数有两个:和相对于10的余数以及和相对于10的商的整数。10=1余7,所以在构建结果链表的时候,需要将7添加到链表节点,同时在下一次两数相加的时候再加上1。这个没啥说的,就是小学都会的求和运算。你可以假设除了数字 0 之外,这两个数都不会以 0 开头。的链表,表示两个非负的整数。请你将两个数相加,并以相同形式返回一个表示和的链表。的方式存储的,并且每个节点只能存储。

2023-12-13 21:40:49 451

原创 1. 两数之和

题目:给定一个整数数组nums和一个整数目标值target,请你在该数组中找出target的那整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。这题比较简单,用的方法很容易就能解答,现在直接上的方法。

2023-12-13 15:41:36 503

原创 如何用python生成动态随机验证码图片

验证码图片是需要画的,因此必须要使用python中画图工具,这里使用pillow,pip install pillow即可,然后在项目代码中导入PIL即可,注意,一定是PIL而不是pillow!3. 由于验证码图片中的字体多种多样,需要额外下载需要的字体文件,我这里使用的是Monaco.ttf,下载地址。今天就带大家用实现一波这种验证码图片的生成,这在Django开发中可以拿来即用~下载完成后,将字体文件放在代码目录同一级即可。小伙伴们快来试一试吧~4. 用PIL画验证码图片。

2023-11-10 16:16:14 396

原创 ChatGPT追祖寻宗:GPT-3技术报告要点解读

回顾一下GPT-1和GPT-2,GPT-1中主要用到了改变输入样式的方式让模型学会执行不同任务,GPT-2作者通篇在强调零样本学习,放弃用在输入中加入特殊符号区分不同任务的做法,改用纯自然语言输入的方式执行不同的任务,而在GPT-3中,作者又不再强调零样本的事了,也认为依靠大量的标注数据进行任务相关的微调不是个好主意,因为作者提到,人类对于新的任务的学习,往往只需要少量的样本就能学到新知识,估计作者认为也不能一个样本都不给,因此,作者想到了一个few-shot的方法,牛掰!

2023-09-21 22:46:12 1221 1

原创 ChatGPT追祖寻宗:GPT-2论文要点解读

这是摘要中值得注意的第一个点,作者提到,当他们在一个新的数据集(WebText)上训练GPT时,发现了语言模型能够在没有明确监督的情况下就具有学习不同任务的能力,这个发现可以说是非常之重要了,我比较好奇的是,为啥其它机构的大佬没有发现?这是第二个值得关注的地方,作者提到了一个目前看来很正确的结论,那就是模型的容量对于零样本任务迁移的成功以及模型的性能至关重要。作者举了个例子,它们的GPT-2拥有15亿个参数,所以在8个测试数据集中有7个测试取得了SOTA的结果。

2023-09-13 17:06:11 614

原创 ChatGPT追祖寻宗:GPT-1论文要点解读

摘要部分其实是介绍了一下GPT研究的动机,值得一提的是,GPT可以算是预训练+微调这种范式在NLP领域成功应用的先河,它比BERT还早几个月。摘要中提到,无标注数据是很多的,但是特定领域带标数据匮乏,这对于许多NLP任务中模型的训练是一个很大的挑战。先在大规模无标注数据集上训练一个预训练模型,接着再将此预训练模型放到特定任务中用少量数据微调。

2023-09-05 10:46:29 1076

原创 BART论文要点解读:看这篇就够了

BART沿用了标准的Transformer结构,也就是Encoder-Decoder的Transformer。BART的预训练主要依据以下两步走的思路:1)通过随机噪声函数(说白了就是能够制造破坏文档结构的任何方法)来破坏文章结构;2)逼迫模型能够学会将结构已经被破坏了的文章进行重构,使文章变回原来的样子;至于如何破坏文章结构呢?

2023-06-27 17:14:04 2495 5

原创 N-Gram语言模型工具kenlm的详细安装教程

【本配置过程基于Linux系统】OK, kenlm安装完成~

2023-06-16 09:15:38 1459

原创 在MacOS上输入“mysql -u root -p”报错:ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket

【代码】在MacOS上输入“mysql -u root -p”报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket。

2023-06-12 22:35:39 1290

原创 Python-web开发学习笔记(4):CSS基础

本文主要介绍了一下几方面内容:1. css的三种使用方式:在head中、在标签中、从css文件导入;2. 五种选择器:id选择器、类选择器、标签选择器、属性选择器、后代选择器;3. 高度和宽度。要注意对span标签默认无效、通过display实现块级标签和行内标签互相转换;4. 字体格式:大小font-size、颜色color、样式font-family等;5. 文字对齐方式:注意垂直方向无center属性值;6. 浮动:能够让块内容顺序排列。但要注意避免块漂浮而脱离文档流,可以用c7. 内边

2023-06-05 23:04:57 714

原创 Transformers中文本生成方法model.generate()参数解释

本博客仅作为记录,参考:LLM(大语言模型)解码时是怎么生成文本的? - 爱码网

2023-06-02 10:29:16 5976 2

原创 Python-web开发学习笔记(3):Flask Demo,一个网站开发小案例

介绍完HTML标签,我们来搞一个简单的网站小案例,带大家更进一步理解HTML网页和web框架之间是怎么运作的,本篇以做一个简单的注册页面为例。本文为了方便,使用轻量级的flask框架进行案例的设计,快速制作一个简单的实现注册账户的web服务。浏览器通过我们用户进行的一些操作,向后台发起请求,后台接收到请求后,会解析请求字段,根据字段对应的要求,执行对应的功能模块(例如执行def xxx方法),并将执行结果返回到某个HTML文件中,后台接收到返回后,会作为请求的响应返回给浏览器,响应中包含了一堆HTML标签,

2023-05-24 22:51:44 3821

原创 Python-web开发学习笔记(2)--- HTML基础

至此,我们便已将几个常用的HTML标签学完。但特别强调,HTML标签远远不止我介绍的这些,且我介绍的这些标签的用法也不止于本系列文章,但各位没必要全部记住,也不可能全部记住,大家只需要对这些常用的HTML标签有个大概的掌握即可,最重要的是知道HTML标签究竟是怎么回事。至于其它更多的标签以及标签的不同用法,各位今后在学习工作中用到了再查就行。:头声明:网页标题~:内容标题:块级标签,用于内容单独成块,使用该标签后,内容强制占用网页的一整行。

2023-05-22 22:47:18 585

原创 Python-web开发学习笔记(1)--- HTML基础

首先说明一点,HTML并不是正儿八经的编程语言,也可以说,它不在计算机编程语言的范畴里,它只是一些具有特定格式的符号标签,这些符号标签相互配合,如果一些文本、媒体等内容被这些符号标签以不同方式渲染后,就会产生不同的渲染效果,当然最重要最特殊的是,这些标签是能够被我们的浏览器识别的标签,这就是HTML标签。所以本质上讲,我们学HTML实质上是去记住它的常见的一些符号标签的写法以及用法,仅此而已。接下来我就介绍一个常见的HTML符号标签。

2023-05-06 16:43:01 2227

原创 我的创作纪念日

很早就想写博客了,一方面对自己已学过的知识做一个系统性的记录和总结,另一方面,也想把知识分享给大家,自己也收获一份快乐。结果就是,对于我搜到的大部分博客,当我顺着博客内容寻找我想得到的线索时,每每马上就到卡住我的知识点的地方,来了句“不再赘述”。里头说了一个观点,你做文章,要想好给什么人阅读,给什么人看,要用阅读对象能听得懂的语言来写,如果不求事实,不做深入的调查研究,只会套用一二三甲乙丙的格式,凑个字数,或者时不时创造一些晦涩难懂的“专业术语”,我想这一类人,简直就是故意不想给别人看而已。

2023-04-26 10:31:34 699

原创 脚本里将GPU设置为os.environ[‘CUDA_VISIBLE_DEVICES‘]后为何不起作用?

第二个原因很可能就是你的batch size设置过大,这是很纯粹的原因,改一下batch size值就行了。这行代码必须在所有调用gpu的代码之前进行设置,特别是import torch必须要在指定gpu之后;最好的方法就是在你的脚本文件开头就写上调用代码。而且你本来就是因为显卡0已经占用着了,所以想用其它显卡启动训练,可偏偏还总是报GPU0显存不够的错误。很多时候我们明明在脚本里设置了。

2023-04-04 16:57:58 1440

原创 浅谈自然语言处理(NLP)学习路线(二):N-Gram模型,一文带你理解N-Gram语言模型

你现在在看我的文章,这是一些文字,但是这些文字实质上是以像素点的形式呈现给你的,所以不要以为这些文字是计算机理解的元素,它不过是一些像素点组合出的可视化图像而已。可是我们现在有很多时候不仅仅是想让文字呈现在我们计算机屏幕上这么简单,更多的是想让计算机接收到一些文字信息后能够在它“心里”对这些文字信息进行理解、分析和处理,怎么办呢?这个时候,语言模型就派上用场了。我们知道,计算机接收到的所有类型的信息,本质上都是转化成“0、1”这两个数进行存储或者处理的,语言文字也不例外。

2023-03-25 23:09:48 2114 7

原创 用Python自己写一个分词器,python实现分词功能,隐马尔科夫模型预测问题之维特比算法(Viterbi Algorithm)的Python实现

用python实现一个分词器,基于隐马尔科夫模型HMM预测问题之维特比(viterbi)算法的分词功能python实现。事实上维特比算法属于隐马尔科夫模型的“应用篇”,特别是在NLP的分词领域,维特比算法无处不在。我们先需要根据HMM的学习算法来学习得到一个模型λ=(π,A,B),然后再通过这个模型,利用维特比算法对数据进行预测。本篇基于维特比算法实现一个简单的分词器,有助于大家深入理解。也是利用python实现维特比(viterbi)算法的实战。

2023-03-02 10:15:05 1675 4

原创 隐马尔科夫模型HMM之Baum-Welch算法Python代码实现

隐马尔科夫模型学习问题Baum Welch算法python代码实战

2023-02-21 11:18:21 2236 4

原创 隐马尔科夫模型HMM之前后向算法Python代码实现,包括2个优化版本

利用python实现隐马尔科夫模型HMM中前向算法和后向算法实战

2023-02-19 21:14:49 1312

原创 【大道至简】机器学习算法之隐马尔科夫模型(Hidden Markov Model, HMM)详解(3)---预测问题:维特比算法(Viterbi Algorithm)详解及Python代码实现

其实到本篇文章,关于HMM三个基本问题中最难的部分已经在前两篇介绍过了,但第三个问题却又是HMM中最具实际应用价值的,本文即将介绍的维特比算法,不严格的说,实际上都有我们熟悉的影子:概率计算和动态规划,我对该算法的理解是,并不难,但最重要。我尝试着从《统计学习方法》一书的角度出发来构思该算法的讲解,但我发现并不可行,原因是教科书总是喜欢把复杂的问题简单讲,把简单的问题复杂化,但是书中的例子还是值得一品的。学习本算法,强烈建议读者们先行学习HMM的定义以及前两个基本问题,最后好好学一下动态规划的思想。

2023-02-12 10:11:17 1820 7

原创 【大道至简】机器学习算法之隐马尔科夫模型(Hidden Markov Model, HMM)详解(3)---学习问题:Baum-Welch算法推导及Python代码实现

​求解含有隐变量的模型,其实就是求解含有隐变量的模型参数估计问题。学过EM算法的同学一定对这句话特别熟,没错,Baum-welch算法本质上就是EM算法,EM算法就是要解决这种含有隐变量的参数估计问题。所以要学懂Baum-welch算法,还是需要先学好EM算法的基础,大家可以参考我写过关于EM算法原理介绍的博客。当然,Baum-welch算法提出的时候,还没有提出EM算法,但是很多教科书基本上都是把EM的学习放在前,Baum-welch算法放在后,因为EM更加通用更加基础。隐马尔科夫模型Python实现

2023-02-07 11:09:47 1978 3

原创 解决USB无线网卡在Ubuntu系统中的适配问题:Ubuntu系统安装无线网卡驱动

之前为了我的一台Windows系统的台式机,在京东上买了一个免驱无线网卡。最近新增了一台Ubuntu系统的台式机作为我的工作主机,所以想着省点钱不新买网卡了,于是将旧的免驱网卡插入Ubuntu台式机,结果啥反应没有。问了京东客服,被告知所有免驱无线网卡都不支持Linux系统:理论上只要有系统适配驱动对无线网卡进行识别和执行,应该可以兼容啊,于是我不信邪,经过一番折腾,果然找到了相关驱动,并成功用上了无线网卡,看来客服不是为了清库存,就是自己鸟都不懂。幸亏没听他的,省了百来块钱。

2023-01-18 09:38:50 8273 2

转载 记录一下flask并发请求解决方案

Flask 处理高并发、多线程_51CTO博客_flask 多线程

2023-01-05 17:08:24 624

原创 【大道至简】机器学习算法之隐马尔科夫模型(Hidden Markov Model, HMM)详解(2)---计算问题:前向算法和后向算法原理详解公式推导及Python实现

对于后向算法的理解,从定义出发非常重要。我看网上包括很多教学视频,对这部分内容的讲解几乎是一笔带过,基本上都是说:和前向算法类似,只不过这边是反过来计算而已,这里不再多说了,大家自己看书。我觉得这么说是很不负责任的,因为对于大多数数学天赋没那么好的人真的仔细理解后向算法,还是需要花点时间的,如果没有人指点,可能真的就需要费很大劲(我就是)。为了让大伙不再走太多弯路,我接下来尽最大可能把自己已经搞明白的知识给大家分享。

2022-12-17 13:10:53 2968 5

原创 【大道至简】机器学习算法之隐马尔科夫模型(Hidden Markov Model, HMM)详解(1)---开篇:基本概念和几个要素

欢迎各位小伙伴来到本阶段新模型的学习之旅~接下来我要介绍一下一个非常重要应用非常广泛的模型---隐马尔科夫模型(HMM)的相关原理。该模型我会分四篇文章来讲这个模型,本篇为开篇,主要介绍一下隐马尔科夫模型的基本概念以及模型组成的几个重要元素。目录总结一、概念二、隐马尔科夫模型三要素(1)状态序列I、观测序列O(2)状态转移概率矩阵A、观测概率矩阵B(3)初始状态概率向量π三、例子四、观测序列的生成五、总结图1 隐马尔科夫模型图示定义:结构:状态序列以及对应的状态集合Q,以及每个状态互相转换的概率矩阵A;观测

2022-12-07 23:13:04 2047 2

原创 【一起来刷题】基础排序问题之堆排序算法---手把手一步步图示剖析讲解,非常详细!一目了然,通俗易懂!

持续更新中……更多精彩文章,欢迎大家关注我,一起学习,一起进步~堆排序是基础排序问题中要介绍的最后一个十分重要的排序算法。在学习堆排序算法之前,需要明确几个基本概念:完全二叉树、大根堆,以及3个公式(见下文)。完全二叉树是在一棵树中,每一层并列的节点排列顺序必须是从左往右不留空的排列,如下图,左边是完全二叉树,右边不是:【拓展】如果每一层节点都排满了,那么它就是一个满二叉树:所以,满二叉树是一种特殊的完全二叉树。在一棵完全二叉树中,以任意节点为头结点的树中,头结点的值最大,称为大根堆。

2022-11-17 12:31:00 1179 1

原创 【一起来刷题】链表操作问题之两两交换链表中的节点

(5)通过以上几步,我们将1和2交换了位置。这是一道中等题,但是是链表的常规操作题,需要对链表结构足够熟悉,就能轻松解答。推荐解题前,自己画个简图,然后一步一步改变节点连接,一目了然。(2)接下来就开始调整两个节点的指向。Ok,第一轮交换完成。后续操作就是重复上述步骤即可。更多精彩文章,欢迎大家关注我,一起学习,一起进步~

2022-11-04 11:33:45 1153

原创 【一起来刷题】基础排序问题之归并排序,链表操作问题之合并K个升序链表

持续更新中……更多精彩文章,欢迎大家关注我,一起学习,一起进步~本文介绍一下另一个重要的排序算法:归并排序。

2022-11-02 11:40:37 352

空空如也

空空如也

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

TA关注的人

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