自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

吴祺育的技术记录

机器学习/自然语言处理,学习中...

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

原创 关于python多重装饰器的执行顺序

装饰器是Python用于封装函数或代码的工具,网上可以搜到很多文章可以学习,我在这里要讨论的是多个装饰器执行顺序。引子大部分涉及多个装饰器装饰的函数调用顺序时都会说明它们是自上而下的,比如下面这个例子:def decorator_a(func): print('Get in decorator_a') def inner_a(*args, **kwargs): ...

2020-10-04 22:39:40 229

原创 推荐系统--系统架构

这段时间公司的事情比较多,没有时间继续写推荐系统相关的内容。现在继续来学习推荐系统,这篇作为推荐系统第一阶段(不知道还有没有第二阶段)的结束篇,讲一讲推荐系统架构。为什么将系统架构,因为之前说了,学习推荐系统主要是围绕《推荐系统实践》这本书,而这本书呢,是12年就写了,在技术的细节上,稍微是有些过时的(现在推荐系统的套路变化也不大),通过阅读,我觉得前三章内容是需要单独讲讲的,也是推荐系统里面都...

2020-07-16 01:45:32 286

原创 AutoML--参数自动搜索

最近有一个模型调优的事情,正好过年的时候看过automl里面有一个贝叶斯参数优化,尝试用了一下,感觉还比较有效。1.目前常见的调参方法Grid Search,当参数空间较小时,网格搜索是个不错的选择,并且容易并行化;当参数空间较大时,网格搜索效率会变得极低,通常该方法需结合一定的调参经验来缩小参数空间。Random Search,随机搜索,相当于对参数空间的简单随机抽样,在相同的参数空间...

2020-05-18 19:29:55 816

原创 推荐系统--冷启动问题

这两天把《推荐系统实践》差不多看完了,看下来整体感受就是,这真的是一本实践的书,一点花里胡哨的东西都没有,从头教你搭一个不用深度学习的推荐系统框架,真干货。今天要谈的问题是冷启动。关于冷启动问题首先说什么叫冷启动,简单的来讲,冷启动就相当于初始化,初始化需要做哪些事情,这就是冷启动问题。冷启动分为三类,分别是用户冷启动,物品冷启动,和系统冷启动。这三个问题其实就是怎么对新的...

2020-04-17 01:03:05 303

原创 推荐系统--隐语义模型

继续学习推荐系统,还是推荐算法的部分。因为我的学习是围绕《推荐系统实践》展开,这边书是12年写成的,所以一开始都是那年比较流行的算法模型,里面总共讲了三个算法,一个是协同过滤,一个是隐语义模型,一个图模型。图模型我觉得现在实际上用的比较少,所以我就只看了一下,这里不写出来了。后面我会研究一下深度学习在推荐系统的应用。隐语义模型(LFM)之前讲的协同过滤,不管是UserCF还是...

2020-04-12 14:00:50 210

原创 推荐系统--关于推荐系统的一些思考和协同过滤

过年前打算学习一下推荐,买了一本国内推荐系统的经典,项亮的《推荐系统实践》,因为封城,导致3月末才拿到这本书,今天好好看了一下。正式开始内容之前,想说点题外话,第一个是关于为什么要学习推荐系统,关于这个问题是因为结合19年工业界NLP和算法的发展,单纯能把NLP落地的项目已经越来越少了,但是NLP往推荐、搜索、广告方向做,落地的方式还是很广阔的,所以准备往这个方向走。第二个是关...

2020-03-29 16:57:24 310

原创 针对不同任务如何挑选机器学习模型

其实这个题目其实早就想探讨一下了,因为工作有时候会在这件事情上花费很多时间。这两天坐着思考了一下,这个问题其实应该分几个维度来讨论。当然,这里只讨论工业界。区分目的首先需要明白,你是要做什么,是要快速落地,还是提升模型效果,还是讲故事,还是做算法可行性研究,都有不同的套路,以及工作中各种形形色色的约束。讲故事--PPT型工作中,总要给客户或者领导讲各种的故事,做个看起来f...

2020-03-08 15:30:18 365

原创 AutoML初探 -- 上

前两天李沐大神团队发了一条关于AutoGluon的朋友圈“头发的生长剂”,成功引起我了我注意力,在人心惶惶的公司里坐着也是坐着,顺手学习了一下AutoML。(吐槽一下,现在觉得医护工作者,消防员,教师才是真正值得尊敬的人,资本家不值得尊敬和同情,资本永远都是嗜血的)这篇文章分两部分,上篇介绍AutoML原理,下篇实验对比。关于AutoMLAutoML的作用其实就像字面意思...

2020-01-22 17:33:07 328 1

原创 机器学习(AI)工程师面试--复习要点

这段时间换工作,在家系统的准备了一下面试,从最开始没准备的时候,被面试官问的无地自容,这个也不知道,那个就算知道是什么意思但是也说不清楚,到准备之后,面试官问机器学习相关的东西完全招架的住。这次复习重新读了西瓜书,好好研究了一下《统计学习方法》的第二版,然后把《百面机器学习》翻了一大半,外加上以前写的一些博客,知乎的一些收藏,总结了16页纸,现把要点罗列...

2019-08-11 12:19:00 304 1

原创 关于最近的NLP模型Bert、Elmo、GPT(下--2)

这篇这个系列的最后一篇文章,还是关于Bert,的下半部分。今天又读了一遍Bert的论文,这篇结尾主要从两个方面来介绍bert,一个是怎么用,一个是比较这个三个模型。Bert使用方法将bert当做一个词向量的模型,bert的输出可以作为你模型的输入,然后主要任务是你的模型做。这样的任务可以用在文本分类,语义分析等多种场景,比transformer,...

2019-07-13 11:53:00 386

原创 关于最近的NLP模型Bert、Elmo、GPT(下--1)

这篇文章介绍Bert,但是暂时还没研究完,所以只能分两部分写。这篇文章主要介绍bert的思想和创新点,下一篇文章主要介绍bert的结构。一定要看论文原文:BERT中文翻译PDF版BERT的新语言表示模型,它代表Transformer的双向编码器表示。与最近的其他语言表示模型不同,BERT旨在通过联合调节所有层中的上下文来预先训练深度双向表示。因此,...

2019-07-01 00:38:00 381

原创 关于最近的NLP模型Bert、Elmo、GPT(中)

按照计划,这一篇文章本来是应该开始详细介绍BERT,但是最近CMU和Google Brain联合推出了一个新模型XLNet,在BLEU上20项任务得分超过BERT,可以说是吊打了,所以最后一定得看看XLNet。但是最近在看Bert的时候,发现学习之前必须讲讲Transformer,要不然根本没法看懂Google的论文,所以这篇文章主要讲Transform...

2019-06-24 00:38:00 486

原创 关于最近的NLP模型Bert、Elmo、GPT(上)

有些时没有更新blog,最近被工作弄的很闹心,拖了又拖,还是把最近的一些nlp模型研究学一下。虽然现在没有这这一块工作,但是总的来说,新出来的这些个模型,还是没有让人眼前一亮的东西出来。Bert的出现可能是暂时统一了江湖,但是底层结构不改,还是在提升那1%。ElmoElmo(Embeddings from Language Models),是all...

2019-06-16 15:15:00 653

原创 搭建易配置的分布式爬虫架构

过年之后写的第一篇。最近需要研究一下爬虫,这次的爬虫不是简单的requests+selenium+bs4或者是scrapy就能搞定的。因为要解决爬取多站点(200+)的问题,考虑到工作量的问题,所以要搭建一个可以较为容易配置的分布式爬虫。一、工具选择语言:python考察过用java的爬虫库,虽然流程原理基本相同,但是相关库,python好太多。...

2019-03-09 12:41:00 540

原创 深度学习还会好吗?

这篇文章应该是过年前写的最后一篇,写的缘由是年前这几个月,在对深度学习调参过程和现在过年算法招聘市场的一些思考,同样也是对今后的展望。深度学习模型最近做的一个项目是,将表格(单元格)内文本,通过模型的方式合并起来。之前一直是通过一些矢量规则做的合并,但是矢量规则很早就遇到了瓶颈(无线表格没有明显的边界),继续做下去无非是加更多的if else,打更多...

2019-01-26 11:58:00 210

原创 Attention is all you need

最近想了一下,写这种技术博客,没有一定固定的格式和套路,总会觉得很乱,而且容易忘记。所以继上周说了尽量做demo,以后我尽量会按照这个思路写技术性的博客。是什么细节部分怎么用话不多说,开始介绍Attention机制。Attention的由来由Google Mind发表的《Recurrent Models of Visual Attent...

2019-01-20 17:50:00 195

原创 理解seq2seq并基于语料自动生成文本

今天应上篇文章里面说的来写seq2seq和attention。但是这周琢磨了一下,现在写的这些东西只是在总结原理,好像除了回顾理论知识之外,并没其他技术上的提升。所以现在改变策略,尽量在总结技术的同时,做一个小demo。(等原理总结完了,之后想写一个深度学习从零单排系列,敬请期待。)RNN的变种形式seq2seq是2014年是Google Brain...

2019-01-12 14:10:00 4190 2

原创 从random forest到adaboost到GBDT到xgboost

今天来谈一下基于集成的机器学习算法。目前主要的集成算法有两个大类,第一种是bagging,以random forest为代表;第二种是boosting,以GBDT为代表。bagging一句话概括就是基于不同分类器的结果进行投票,得票数多的结果即为最后的分类结果。boosting一句话概括就是分别赋予训练样本和结果权重,对于训练错误的样本赋予更高权重,下次迭代时更加使模型更加关注...

2019-01-05 13:00:45 205

原创 lstm和gru结构的再理解

我看大部分介绍rnn的文章里面都只画了cell的图,但是这对一个刚入门的人来说是会造成很大的误解,而正确的介绍方法应该先介绍rnn的总体结构,然后再介绍cell的结构。这才有可能对rnn有一个更清晰的认识。RNN总体结构我们在网上多是看到这样的图rnn的cell结构cell是什么呢,我们首先回到MLP结构中MLP结构...

2018-12-23 12:46:00 1238 1

原创 博客迁移至简书

实在受不了CSDN的广告了,越来越垃圾。呼吁抵制CSDN。博客迁移至简书:https://www.jianshu.com/u/ed8ec5442f76欢迎大家交流!

2018-12-21 18:57:05 278

原创 word2vector的原理,结构,训练过程

之前用word2vector模型,上网找原理,出现各种CSDN上的解答。看了一下,都是copy某个人写的东西,而且什么CBOW,什么Skip-Gram,什么哈夫曼树,层次softmax,概念很多,绕都给绕晕了。看了很多遍,只知道个大概,具体还是没看懂。今天重新整理关于word2vector的原理。以一个好的脉络把这个模型理清楚。原型:NNLM(Neu...

2018-12-21 18:55:00 3615

原创 对CNN各层的深入理解以及BP中的权重变化

继续温故,CNN篇。这次重新思考的是CNN中每层的作用,以及之前没有思考过的BP中梯度更新的过程。CNN的结构最典型的CNN的结构是由如若干个卷积层+池化层,再接若干个(一般一到两个)全连接层组成。总的来说,这个最典型的CNN结构,终究是起到一个分类器的作用。卷积层做不同特征提取,采样层负责选择相应的特征,全连接层负责分类。卷积层卷积运算这里...

2018-12-21 18:53:00 1571

原创 判断pdf中跨页的两个表格是否应该合并的思路

一、判断前表格和后表格是否为跨页的表格1.基于两张表格的明显特征用来快速过滤不可能是跨页的表格(1) 前后两页的页面方向不一致,一页的方向是纵向,一页的方向是横向;(2) 前后两张表格在同一页面内不是跨页表格;(3) 跨页的前表格只可能是前页面的最后一个表格,同理,跨页的后表格只可能是后页面的第一个表格;(4) 两张表格的表格类型必须是一样的,必...

2018-12-21 18:52:00 527

原创 关于神经网络中隐藏层和神经元的深入理解

最近复习了一下基础知识,看到MLP的结构,关于隐藏层和神经元有了新的一些理解。隐藏层的意义要说明隐藏层的意义,需要从两个方面理解,一个是单个隐藏层的意义,一个是多层隐藏层的意义。单个隐藏层的意义隐藏层的意义就是把输入数据的特征,抽象到另一个维度空间,来展现其更抽象化的特征,这些特征能更好的进行线性划分。举个栗子,MNIST分类。输出图片经过隐...

2018-12-21 18:52:00 1466 1

原创 抓取知网摘要、搜狗微信文章、搜狗新闻的爬虫

个人项目,只支持python3.需要说明的是,本文中介绍的都是小规模数据的爬虫(数据量<1G),大规模爬取需要会更复杂,本文不涉及这一块。另外,代码细节就不过多说了,只将一个大概思路以及趟过的坑。本文中涉及的阿布云IP隧道及云打码平台需要自己注册,并在code中相应部分取消注释。需要在每个模块中建立output文件夹,才能使用,文档结构如下图所...

2018-12-21 18:50:00 808

原创 短文本评分方法 (Short Text Scoring Method)

短文本评分方法 (Short Text Scoring Method)此方法是基于改进后的RAKE算法并结合word2vector,对短文本内容进行评分的一种方法。RAKE的改进原RAKE算法对划分后的短语打分机制存在一点问题,短语的长度对短语的得分影响大。也就是说,如果一个不重要的短语,但是它足够长,这个短语的分数就会高。这一点是存在较大问题的,...

2018-12-21 18:47:00 444

原创 短文本关键词提取算法RAKE & TextRank及改进

最近做的一个项目是短文本关键词提取(twitter, linkedin post),这里主要用到了两个算法,一个是TextRank, 一个是RAKE,总的来说,这两个算法思路上差别很大,但对于短文本的关键词提取来说,RAKE算法效果更为明显。TextRank 介绍TextRank 算法是一种用于文本的基于图的排序算法。其基本思想来源于谷歌的 Page...

2018-12-21 18:46:00 2297

原创 回归爬虫,拥抱scrapy&splash。抓facebook public post like、comment、share

上一个项目完成的时间是7月14日,今天是8月30日,已经过去了一个半月,这段时间做了第二个,学了一个半月的爬虫。代码写了400多行,目前为止单个项目写的最多的代码。。上班之前就有预感会做关于爬虫的东西,果不其然(捂脸)....其实上学的时候学爬虫,特别是学scrapy,我的内心是拒绝的。因为scrapy看起来是个很臃肿的框架,上学那个阶段,并没有什么项目需要用到它,用用Req...

2018-12-21 18:45:09 575

原创 pycharm输出中文出现乱码的几种解决方法以及读取时打印出现乱码的解决

pycharm打印中文出现乱码,有几种情况第一种:图片image.gif ​对于这种情况,是普通的一种,你需要检查开头,是否加了# -*- coding:utf-8 -*-image.gif还有import sysreload(sys)sys.setdefaultencoding('utf-8')...

2018-12-21 18:18:00 7273 2

原创 word2vector的原理,结构,训练过程

之前用word2vector模型,上网找原理,出现各种CSDN上的解答。看了一下,都是copy某个人写的东西,而且什么CBOW,什么Skip-Gram,什么哈夫曼树,层次softmax,概念很多,绕都给绕晕了。看了很多遍,只知道个大概,具体还是没看懂。今天重新整理关于word2vector的原理。以一个好的脉络把这个模型理清楚。原型:NNLM(Neural Network Language ...

2018-12-14 17:45:54 2647 3

原创 对CNN各层的深入理解以及BP中的权重变化

继续温故,CNN篇。这次重新思考的是CNN中每层的作用,以及之前没有思考过的BP中梯度更新的过程。CNN的结构最典型的CNN的结构是由如若干个卷积层+池化层,再接若干个(一般一到两个)全连接层组成。总的来说,这个最典型的CNN结构,终究是起到一个分类器的作用。卷积层做不同特征提取,采样层负责选择相应的特征,全连接层负责分类。卷积层卷积运算这里就不讲了,这里讲一下filter。filt...

2018-11-30 20:52:12 952

原创 判断pdf中跨页的两个表格是否应该合并的思路

一、判断前表格和后表格是否为跨页的表格1.基于两张表格的明显特征用来快速过滤不可能是跨页的表格(1) 前后两页的页面方向不一致,一页的方向是纵向,一页的方向是横向;(2) 前后两张表格在同一页面内不是跨页表格;(3) 跨页的前表格只可能是前页面的最后一个表格,同理,跨页的后表格只可能是后页面的第一个表格;(4) 两张表格的表格类型必须是一样的,必须同为有线表格或同为无线表格;(5) 前...

2018-11-23 19:15:15 2707 1

原创 知网摘要作者信息爬取和搜狗微信、搜狗新闻的爬虫

个人项目,只支持python3.需要说明的是,本文中介绍的都是小规模数据的爬虫(数据量<1G),大规模爬取需要会更复杂,本文不涉及这一块。另外,代码细节就不过多说了,只将一个大概思路以及趟过的坑。本文中涉及的阿布云IP隧道及云打码平台需要自己注册,并在code中相应部分取消注释。需要在每个模块中建立output文件夹,才能使用,文档结构如下图所示搜狗微信文章抓取目标:在搜狗微信...

2018-11-18 17:22:49 820

原创 关于神经网络中隐藏层和神经元的深入理解

最近复习了一下基础知识,看到MLP的结构,关于隐藏层和神经元有了新的一些理解。隐藏层的意义要说明隐藏层的意义,需要从两个方面理解,一个是单个隐藏层的意义,一个是多层隐藏层的意义。单个隐藏层的意义隐藏层的意义就是把输入数据的特征,抽象到另一个维度空间,来展现其更抽象化的特征,这些特征能更好的进行线性划分。举个栗子,MNIST分类。输出图片经过隐藏层加工, 变成另一种特征代表 (3个神经...

2018-11-16 16:57:45 35228 8

原创 抓取知网摘要、搜狗微信文章、搜狗新闻的爬虫

个人项目,代码已上传至我的github。只支持python3.需要说明的是,本文中介绍的都是小规模数据的爬虫(数据量<1G),大规模爬取需要会更复杂,本文不涉及这一块。另外,代码细节就不过多说了,只将一个大概思路以及趟过的坑。搜狗微信文章抓取目标:在搜狗微信模块下搜索关键词的文章,抓取链接保存文章标题,来源,时间,内容的内容采取的策略...

2018-08-27 16:12:00 323

原创 短文本评分方法 (Short Text Scoring Method)

短文本评分方法 (Short Text Scoring Method)此方法是基于改进后的RAKE算法并结合word2vector,对短文本内容进行评分的一种方法。RAKE的改进原RAKE算法对划分后的短语打分机制存在一点问题,短语的长度对短语的得分影响大。也就是说,如果一个不重要的短语,但是它足够长,这个短语的分数就会高。这一点是存在较大问题的,针对这一点,对RAKE进行了以下改进。一个短语的

2017-10-13 17:39:00 3118

原创 短文本关键词提取算法RAKE & TextRank及改进

最近做的一个项目是短文本关键词提取(twitter, linkedin post),这里主要用到了两个算法,一个是TextRank, 一个是RAKE,总的来说,这两个算法思路上差别很大,但对于短文本的关键词提取来说,RAKE算法效果更为明显。TextRank 介绍 TextRank 算法是一种用于文本的基于图的排序算法。其基本思想来源于谷歌的 PageRank算法, 通过把文本分割成若干组成单元(单

2017-09-15 16:31:48 27711 15

原创 回归爬虫,拥抱scrapy&splash。抓facebook public post like、comment、share

上一个项目完成的时间是7月14日,今天是8月30日,已经过去了一个半月,这段时间做了第二个,学了一个半月的爬虫。 代码写了400多行,目前为止单个项目写的最多的代码。。上班之前就有预感会做关于爬虫的东西,果不其然(捂脸)…. 其实上学的时候学爬虫,特别是学scrapy,我的内心是拒绝的。因为scrapy看起来是个很臃肿的框架,上学那个阶段,并没有什么项目需要用到它,用用Request和BS4已经

2017-08-31 23:53:48 10226 15

原创 上班之后完成的第一个项目

今天下午,终于在3月上班后,完成了第一个项目。项目的大致内容是,将wikipedia上的某个特定分类(n多个子分类)的所有内容抓取下来,放到gensim中的word2vector训练处模型。  再将不同的keywords的simword叠加起来,后面的similarity相加,取前topN个,生成一个重复的simword template。中间进行了很多种尝试,从公司的ES,到

2017-07-14 17:23:47 610

转载 继续深究支持向量机---超详细讲解(比三层理解SVM好)

今天又重温了一下SVM,看到一个人的博客,将的特别好,比三层理解SVM更详细一些。如果想学习可以相互对照着看。原博地址:http://blog.csdn.net/passball/article/details/7661887/(一)SVM的背景简介支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决

2017-05-19 11:04:42 2180

空空如也

空空如也

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

TA关注的人

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