人工智能
文章平均质量分 78
Echo-Niu
这个作者很懒,什么都没留下…
展开
-
redis简介
泛指非关系型的数据库不支持SQL语法存储结构跟传统关系型数据库中的那种关系表完全不同,nosql中存储的数据都是KV形式NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的api和语法,以及擅长的业务场景NoSQL中的产品种类相当多:RedisMongodbRedis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。原创 2023-02-07 07:50:29 · 184 阅读 · 0 评论 -
卷积神经网络(CNN)简介
公式dropout 的缺点是成本函数无法被明确定义,保证损失函数是单调下降的,确定网络没有问题,再次打开droupout才会有效。指定丢失率早停止法和数据增强。原创 2023-02-07 07:43:46 · 1485 阅读 · 0 评论 -
神经网络与tf.keras
Keras 遵循减少认知困难的最佳实践: 它提供一致且简单的 APIKeras 被工业界和学术界广泛采用Keras 拥有强大的多 GPU 和分布式训练支持获取数据集keras.layers:构建网络的每一层])优化算法:from tensorflow.python.keras.optimizers import SGD优化器,损失计算,准确率sparse_categorical_crossentropy:对于目标值是整型的进行交叉熵损失计算。原创 2023-02-06 07:55:12 · 296 阅读 · 0 评论 -
深度学习与机器学习的区别
ubuntu安装MacOS安装tf.keras构建、训练和验证您的模型tf相关API用于损失计算修改,tensorflow提供模型训练模型部署图(graph)与会话(session), 节点(operation)和张量(Tensor)原创 2023-02-06 07:53:54 · 785 阅读 · 0 评论 -
TensorFlow Serving模型部署
TensorFlow Serving是一种灵活的高性能服务系统,适用于机器学习模型,专为生产环境而设计。TensorFlow Serving可以轻松部署新算法和实验,同时保持相同的服务器架构和API。TensorFlow Serving提供与TensorFlow模型的开箱即用集成,但可以轻松扩展以提供其他类型的模型和数据。运行tf serving(即创建一个docker容器来运行)获取最新TF Serving docker镜像。安装过程详细参考官网。查看docker镜像。原创 2023-02-05 14:04:37 · 482 阅读 · 0 评论 -
WDL模型导出
我们开发了一个高可用的同步组件:用户只需要提供线下训练好的模型的HDFS路径,该组件会自动同步到线上服务机器上。该组件基于HTTPFS实现,它是美团离线计算组提供的HDFS的HTTP方式访问接口。离线训练好的模型只有参与到线上真实流量预估,才能发挥其价值。在演化的过程中,我们开发了一套稳定可靠的线上预估体系,提高了模型迭代的效率。使用这种方式,线上服务需要将特征发送给TF Serving,这不可避免引入了网络IO,给带宽和预估时延带来压力。依赖这一组件,我们实现了在2min内可靠的将模型文件同步到线上。原创 2023-02-05 14:01:55 · 336 阅读 · 0 评论 -
排序模型进阶-Wide&Deep&WDL模型导出
它的突出优点是:和TensorFlow无缝链接,具有很好的扩展性。我们开发了一个高可用的同步组件:用户只需要提供线下训练好的模型的HDFS路径,该组件会自动同步到线上服务机器上。离线训练好的模型只有参与到线上真实流量预估,才能发挥其价值。在演化的过程中,我们开发了一套稳定可靠的线上预估体系,提高了模型迭代的效率。使用这种方式,线上服务需要将特征发送给TF Serving,这不可避免引入了网络IO,给带宽和预估时延带来压力。依赖这一组件,我们实现了在2min内可靠的将模型文件同步到线上。原创 2023-02-04 14:16:28 · 522 阅读 · 0 评论 -
排序模型进阶-FTRL
在实际项目的时候,经常会遇到训练数据非常大导致一些算法实际上不能操作的问题。比如在推荐行业中,因为DSP的请求数据量特别大,一个星期的数据往往有上百G,这种级别的数据在训练的时候,直接套用一些算法框架是没办法训练的,基本上在特征工程的阶段就一筹莫展。SGD算法是常用的online learning算法,它能学习出不错的模型,但学出的模型不是稀疏的。为此,学术界和工业界都在研究这样一种online learning算法,它能学习出有效的且稀疏的模型。对1采用On-line-learning的算法。原创 2023-02-04 14:14:32 · 422 阅读 · 0 评论 -
深度学习与排序模型发展
其中一个重要不同,就是图像都是稠密特征,而推荐、搜索中大量用到的是稀疏的类别/ID类特。LR可以视作单层单节点的“DNN”, 是一种宽而不深的结构,所有的特征直接作用在最后的输出结果上。模型优点是简单、可控性好,但是效果的好坏直接取决于特征工程的程度,需要非常精细的连续型、离散型、时间型等特征处理及特征组合。,模型复杂度(模型容量)的提升,带来的都是结果的提升。模型覆盖了LR的宽模型结构,同时也引入了交叉特征,增加模型的非线性,提升模型容量,能捕捉更多的信息,对于CTR预估等复杂场景有更好的捕捉。原创 2023-02-03 07:56:58 · 345 阅读 · 0 评论 -
案例:DNN进行分类
对鸢尾花进行分类:概览本文档中的示例程序构建并测试了一个模型,此模型根据鸢尾花的花萼和花瓣大小将其分为三种不同的品种。从左到右:山鸢尾(提供者:Radomil,依据 CC BY-SA 3.0 使用)、变色鸢尾(提供者:Dlanglois,依据 CC BY-SA 3.0 使用)和维吉尼亚鸢尾(提供者:Frank Mayfield,依据 CC BY-SA 2.0 使用)。数据集鸢尾花数据集包含四个特征和一个目标值。花萼长度花萼宽度花瓣长度花瓣宽度山鸢尾 (0)变色鸢尾 (1)原创 2023-02-03 07:54:53 · 1176 阅读 · 0 评论 -
神经网络基础与原理
我们不会详细地讨论可以如何使用反向传播和梯度下降等算法训练参数。训练过程中的计算机会尝试一点点增大或减小每个参数,看其能如何减少相比于训练数据集的误差,以望能找到最优的权重、偏置参数组合。原创 2023-02-02 07:52:33 · 2042 阅读 · 0 评论 -
TFAPI使用2.0建议
TFRecords其实是一种二进制文件,虽然它不如其他格式好理解,但是它能更好的利用内存,更方便复制和移动,并且不需要单独的标签文件。TFRecords文件包含了协议内存块(protocol buffer)(协议内存块包含了字段Features可以获取你的数据, 将数据填入到Example协议内存块(protocol buffer),将协议内存块序列化为一个字符串, 并且通过写入到TFRecords文件。文件格式 *.tfrecords。原创 2023-02-02 07:43:02 · 294 阅读 · 0 评论 -
TensorFlow框架之案例:实现线性回归
根据数据建立回归模型,w1x1+w2x2+…..+b = y,通过真实值与预测值之间建立误差,使用梯度下降优化得到损失最小对应的权重和偏置。最终确定模型的权重和偏置参数。这里将数据分布的规律确定,是为了使我们训练出的参数跟真实的参数(即0.8和0.7)比较是否训练准确。2、 tf.app.flags.,在flags有一个FLAGS标志,它在程序中可以调用到我们。是代码结构更加清晰,Tensorboard图结构清楚。trainable的参数作用,指定是否训练。如要判断模型是否存在,直接指定目录。原创 2023-02-01 07:43:06 · 287 阅读 · 0 评论 -
tensorflow框架之会话、张量、变量OP
会话可能拥有的资源,如 tf.Variable,tf.QueueBase和tf.ReaderBase。因此,需要调用tf.Session.close会话中的方法,或将会话用作上下文管理器。1 TensorFlow 使用 tf.Session 类来表示客户端程序(通常为 Python 程序,但也提供了使用其他语言的类似接口)与 C++ 运行时之间的连接。2 tf.Session 对象使用分布式 TensorFlow 运行时提供对本地计算机中的设备和远程设备的访问权限。Tensor具有以下两个重要的属性。原创 2023-02-01 07:37:34 · 216 阅读 · 0 评论 -
TF数据流图&图与TensorBoard
TensorFlow是一个采用数据流图(data flow graphs),用于数值计算的开源框架。节点(Operation)在图中表示数学操作,线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。图包含了一组tf.Operation代表的计算单元对象和tf.Tensor代表的计算单元之间流动的数据。原创 2023-01-31 07:42:55 · 659 阅读 · 3 评论 -
推荐系统与深度学习关联
目标无应用无。原创 2023-01-31 07:37:42 · 324 阅读 · 0 评论 -
推荐系统之推荐缓存服务
2、redis没有数据,进行wait_recommend读取,放入redis中。grpc启动灰将spark相关信息初始化。1、redis 8 号数据库读取。3、推荐出去的结果放入历史结果。获取排序之后前N个文章。文章特征中心存的顺序。原创 2023-01-30 07:48:46 · 451 阅读 · 0 评论 -
推荐系统之召回集读取服务
热门文章读取:热门文章记录了很多,可以选取前K个。在init文件中添加相关初始化数据库变量。初始化redis,hbase相关工具。目的:读取离线和在线存储的召回结果。并且添加了获取结果打印日志设置。最后相似文章读取接口代码。原创 2023-01-30 07:41:48 · 344 阅读 · 0 评论 -
推荐系统之推荐中心逻辑
如果历史时间戳最近的一次小于用户请求时候的时间戳,Hbase的时间戳是time.time() * 1000这个值的大小,与Web后台传入的一样类型,如果Web后台传入的不是改大小,注意修改。推荐中一般作为整体召回结果读取与排序模型进行排序过程的作用,主要是产生推荐结果的部分。放入历史数据,存在时间戳,到时候取出历史数据就是每个用户的历史时间戳可以。5.5.4 feed流 推荐中心逻辑。获取多路召回结果,过滤历史记录逻辑。获取这个用户该频道的历史结果。创建一个历史hbase结果。HBASE 数据库表设计。原创 2023-01-29 10:04:50 · 554 阅读 · 0 评论 -
推荐系统之ABTest实验中心
我们根据用户ID将流量切分为多个桶(Bucket),每个桶对应一种排序策略,桶内流量将使用相应的策略进行排序。个性化推荐系统、搜索引擎、广告系统,这些系统都需要在线上不断上线,不断优化,优化之后怎么确定是好是坏。这时就需要ABTest来确定,最近想的办法、优化的算法、优化的逻辑数据是正向的,是有意义的,是提升数据效果的。实时效果分析统计,将分流后程序点击、浏览等通过hive、hadoop程序统计后,在统计平台上进行展示。一个是ABTest实时分流服务,根据用户设备信息、用户信息进行ab分流。原创 2023-01-29 10:02:28 · 588 阅读 · 0 评论 -
实时推荐业务介绍& grpc接口对接
目标无应用无gRPC是由Google公司开源的高性能RPC框架。gRPC支持多语言gRPC原生使用C、Java、Go进行了三种实现,而C语言实现的版本进行封装后又支持C++、C#、Node、ObjC、 Python、Ruby、PHP等开发语言gRPC支持多平台支持的平台包括:Linux、Android、iOS、MacOS、WindowsgRPC的消息协议使用Google自家开源的Protocol Buffers协议机制(proto3) 序列化。原创 2023-01-28 10:34:04 · 455 阅读 · 0 评论 -
热门与新文章召回
新文章如何而来,黑马头条后台在文章发布之后,会将新文章ID以固定格式传到KAFKA的new-article topic当中。然后,并且在kafka启动脚本中添加,关闭flume与kafka,重新启动。测试:pip install kafka-python。通过对日志数据的处理,来实时增加文章的点击次数等信息。新文章由头条后台审核通过的文章传入kafka。增加一个新文章的topic,这里会与后台对接。最后查询redis当中是否存入结果热门文章。查看所有本地topic情况。可以得到redis结果。原创 2023-01-28 10:30:37 · 394 阅读 · 0 评论 -
实时召回集业务
配置StreamingContext,在online的__init__.py文件添加,导入模块时直接使用。配置streaming 读取Kafka的配置,在配置文件中增加KAFKAIP和端口。创建spark streaming配置信息以及happybase。导入默认的配置,SPARK_ONLINE_CONFIG。创建online_update文件,建立在线召回类。创建online文件夹,建立在线实时处理程序。实时召回会用基于画像相似的文章推荐。开启实时运行,同时增加日志打印。原创 2023-01-27 10:50:03 · 723 阅读 · 0 评论 -
实时计算业务介绍&实时日志分析
目标了解实时计算的业务需求知道实时计算的作用应用无。原创 2023-01-27 10:06:11 · 705 阅读 · 0 评论 -
离线ctr特征中心更新
特征服务中心可以作为离线计算用户与文章的高级特征,充当着重要的角色。可以为程序提供快速的特征处理与特征结果,而且不仅仅提供给离线使用。还可以作为实时的特征供其他场景读取进行。原则是:用户,文章能用到的特征都进行处理进行存储,便于实时推荐进行读取。存储这些特征以便于后面实时排序时候快速使用特征。添加apscheduler定时运行。添加update.py更新程序。指定所有文章特征进行合并。创建HIVE外部表,原创 2023-01-26 23:07:32 · 747 阅读 · 0 评论 -
离线用户召回定时更新系列二
probability结果中有对某个文章点击(1为目标)的概率,和不点击(0为目标)的概率。输入模型的特征格式指定,通过VectorAssembler()收集。画出ROC图,使用训练的时候的模型model中会有。读取用户画像HIVE的外部表,构造样本。使用model模型加载预估。合并文章画像的权重特征。进行行为日志数据读取。原创 2023-01-26 22:54:07 · 128 阅读 · 0 评论 -
离线用户召回定时更新
【代码】离线用户召回定时更新。原创 2023-01-25 11:59:04 · 962 阅读 · 0 评论 -
离线用户基于内容召回集
用户每次操作文章进行相似获取并进行推荐。原创 2023-01-25 11:53:33 · 922 阅读 · 0 评论 -
离线召回与排序介绍
目标了解召回排序作用知道头条推荐召回排序设计应用无召回:从海量文章数据中得到若干候选文章召回集合(数量较多)排序:从召回集合中读取推荐文章,构建样本特征进行排序过滤筛选3.3.1.1项目召回与排序业务流程。原创 2023-01-24 18:15:36 · 1542 阅读 · 0 评论 -
用户画像增量更新系列二
原始日志数据结果:思路:按照user_id的行为一条条处理,根据用户的行为类型判别。这里面需要根据用户ID和文章ID分组。原创 2023-01-24 18:05:57 · 533 阅读 · 0 评论 -
用户画像计算更新
构建用户标签库其实比较简单,因为我们在上述采集用户行为过程中,已经把用户喜好的内容采集下来了,所以基础标签并可以直接运用内容的标签。的事情,不仅可以运用于精准推送、精准推荐、精准营销,更可以作为网站的用户属性分析,用户行为分析,商业化转化分析等。要做精准推送同样可以使用多种推荐算法,例如:基于用户协同推荐、基于内容协同的推荐等其他的推荐方式,但是以上方式多是基于相似进行推荐。其实用户标签并不等同于用户画像,只是用户标签是用户画像直观的呈现,并且是比较好且常用的运用方式。这里我们对用户画像更新的频率,原创 2023-01-23 07:16:16 · 1255 阅读 · 0 评论 -
文章相似度增量更新
每天、每小时都会有大量的新文章过来,当后端审核通过一篇文章之后,我们推荐给用户后,一旦发生点击行为了,就会有相应相似文章计算需求。没有选择去在线计算中处理,新文章来了之后立即推荐召回给用用户,这样增加新文章推荐曝光的比例,达到一定速度的曝光。在线需要用用到离线仓库中部分数据,所以速度会受影响。添加函数到update_article.py文件中,修改update更新代码。原创 2023-01-23 07:09:47 · 1055 阅读 · 0 评论 -
Word2Vec与文章相似度--相似度计算
定义保存HBASE函数,确保我们的happybase连接hbase启动成功,Thrift服务打开。hbase集群出现退出等问题常见原因,配置文件hadoop目录,地址等,还有。对于计算出来的相似度,是要在推荐的时候使用。那么我们所知的是,HIVE只适合在离线分析时候使用,因为运行速度慢,所以只能将相似度存储到HBASE当中。目的:将所有文章对应相似度文章及其相似度保存。我们需要建立一个HBase存储文章相似度的表。计算相似的文章以及相似度。原创 2023-01-21 15:28:30 · 1377 阅读 · 0 评论 -
Word2Vec与文章相似度
2.7.2.2 为什么介绍Word2Vec计算相似度:寻找相似词、或者用于文章之间的相似度文本生成、机器翻译等2.7.2.2 词向量是什么定义:将文字通过一串数字向量表示词的独热表示采用稀疏方式 存储,简单易实现灯泡:[0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0]、灯管:[0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0]维度过大词汇鸿沟现象:任意两个词之间都是孤立的。光从这两个向量中看不出两个词是否有关系,哪怕”灯泡”和”灯管”这两个词是同义词也不行。原创 2023-01-21 15:25:15 · 857 阅读 · 0 评论 -
Apscheduler定时更新文章画像
任务持久化仓库,默认保存任务在内存中,也可将任务保存都各种数据库中,任务中的数据序列化后保存到持久化数据库,从数据库加载后又反序列化。: 执行任务模块,当任务完成时executors通知schedulers,schedulers收到后会发出一个适当的事件。等,它是跨平台的,用于取代Linux下的cron daemon或者Windows下的task scheduler。: 任务调度器,控制器角色,通过它配置job stores和executors,添加、修改和删除任务。原创 2023-01-20 14:59:55 · 753 阅读 · 0 评论 -
离线增量文章画像计算
1、toutiao 数据库中,news_article_content 与news_article_basic—>更新到article数据库中article_data表,方便操作。2、刚才新更新的文章,通过已有的idf计算出tfidf值以及hive 的textrank_keywords_values。第一次:所有更新,后面增量每天的数据更新26日:1:00~2:00,2:00~3:00,左闭右开,一个小时更新一次。前面这些得到textrank_keywords_df,接下来往后进行文章的画像更新。原创 2023-01-20 09:58:55 · 1515 阅读 · 0 评论 -
离线文章画像计算--Tfidf计算
得到了两个少量文章测试的模型,以这两个模型为例子查看结果,所有不同的词。两个模型训练需要很久,所以在这里我们上传已经训练好的模型到指定路径。后续计算tfidf画像需要使用,避免放入内存中占用过多,持久化使用。获取两个模型相关参数,将所有的关键字对应的idf值和索引保存。模型计算得出N篇文章的TFIDF值,IDF索引结果合并得到词。想要用TFIDF进行计算,需要训练一个模型保存结果。2.4.2.3 计算N篇文章数据的TFIDF值。对于词频处理之后的结果进行计算。2.4.2.1 目的。2.4.2.3 实现。原创 2023-01-19 08:39:15 · 1379 阅读 · 0 评论 -
【无标题】
新建一个目录,用于进行文章内容相关计算目录,创建reco_sys推荐系统相关计算主目录:下面建立离线offline以及full_cal。由于每次调试运行spark时间较长,我们最终代码放在pycharm开发目录中,使用jupyter notebook进行开发。为了方便与进行文章数据操作,将文章相关重要信息表合并在一起。运行需要时间等待成功,如果还有其他程序运行,手动释放内存,避免不够。创建合并文章类,集成sparksessionbase。文章画像,就是给每篇文章定义一些词。文件中,创建一个经常用到的基类。原创 2023-01-19 08:36:11 · 361 阅读 · 0 评论 -
离线画像业务介绍
目标了解画像的构建应用无。原创 2023-01-18 08:34:30 · 431 阅读 · 1 评论 -
用户行为收集到HIVE
用户行为日志收集的相关工作流程flume收集到hive配置supervisor进程管理工具使用。原创 2023-01-18 08:21:52 · 409 阅读 · 0 评论