推荐算法和机器学习系列 - 协同过滤推荐算法和余弦相似性算法

协同过滤推荐算法总结     推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。 1. 推荐算法概述     推荐算法是非常古老的,在机器学习还没有兴起的时候就有需求和应用了。概括来说,可以分为以下5种:     1)基于内容的推荐:这一类一... 阅读详情

协同过滤算法

协同过滤(CF)推荐算法通过在用户活动中寻找特定模式来为用户产生有效推荐。它依赖于系统中用户的惯用数据,例如通过用户对其阅读过书籍的评价可以推断出用户的阅读偏好。这种算法的核心思想就是:如果两个用户对于一些项的评分相似程度较高,那么一个用户对于一个新项的评分很有可能类似于另一个用户。值得注意的是,他们推荐的时候不依赖于项的任何附加信息(例如描述、元数据等等)或者用户的任何附加信息(例如喜好、人口统计相关数据等等)。CF的方法大体可分为两类:分别为邻域和基于模型的方法。邻域方法(即基于内存的CF)是使用用户对已有项的评分直接预测该用户对新项的评分。与之相反,基于模型的方法是使用历史评分数据,基于学习出的预测模型,预测对新项的评分。通常的方式是使用机器学习算法,找出用户与项的相互作用模型,从而找出数据中的特定模式。

基于邻域的CF方法意在找出项与项之间的联系(基于项的CF),或者用户与用户之间的联系(基于用户的CF)。

  • 基于用户的CF通过找出对项的偏好与你相似的用户从而基于他们对于新项的喜好来为你进行推荐。
  • 基于项的CF会向用户推荐与用户喜欢的项相似的项,这种相似是基于项的共同出现几率(例如用户买了X,通时也买了Y)。

首先,在做基于项的协同过滤之前,我们先通过例子来看一下基于用户的协同过滤。

假设我们有一组用户,他们表现出了对一组图书的喜好。用户对一本图书的喜好程度越高,就会给其更高的评分,范围是从1到5。我们来通过一个矩阵来展示它,行代表用户,列代表图书(图1)。

图1:用户对图书的评分。所有的评分范围从1到5,5代表喜欢程度最高。第一个用户(行1)对第一个图书(列1)的评分是4。空的单元格代表用户未给图书评价。

使用基于用户的协同过滤方法,我们首先要做的是基于用户给图书作出的评价计算出用户之间的相似度。让我们从一个单一用户的角度考虑这个问题,看图1中的第一行。要做到这一点,常见的做法是将使用包含了用户喜好项的向量(或数组)代表每一个用户。相较于使用多样化的相似度量这种做法非常直接。在这个例子中,我们将使用余弦相似性。当我们把第一个用户和其他五个用户进行比较时,就能直观地看到他和其他用户的相似程度(图2)。对于大多数相似度量,向量之间相似度越高,代表彼此更相似。本例中,第一个用户与两位其他用户非常相似,有两本共同书籍,与另两位用户的相似度低一些,只有一本共同书籍,而与最后一名用户完全不相似,没有一本共同书籍。

图2:第一个用于与其他用户的相似度。可以使用余弦相似性在一个单一维度绘制用户之间的相似度。

更一般地,我们可以计算出每个用户的相似性,并且在相似矩阵中表示它们(图3)。这是一个对称矩阵,这意味着对它进行数学计算会有一些有用的特性。单元格的背景颜色表明用户相似度的高低,更深的红色表示他们之间更相似。

图3:用户间的相似矩阵。用户之间的相似度基于用户对所读图书的评价数据的相似度

现在我们使用基于用户的协同过滤方法准备好了为用户生成推荐。在一般情况下,对于一个给定的用户,这意味着找到最相似的用户,并推荐这些类似的用户欣赏的项,并根据用户相似度对其进行加权。我们先来看第一个用户,为他们生成一些推荐。首先,我们找到了与第一个用户最相似的另一用户,删除用户已经评价过的书籍,给最相似用户正在阅读的书籍加权,然后计算出总和。在这种情况下,我们计算出n=2,表示为了产生推荐,需要找出与目标用户最相似的两个用户。这两个用户分别是2和3(图4)。然后,第一个用户已经评价了5和1,所产生的推荐书是3(4.5分)和4(3分)。

图4:为一个用户进行推荐。我们将选取最相似的两个用户所评价的书,进行加权,然后推荐加权分数最高且目标用户未评价过的图书。

通过基于用户的协同过滤让我们对协同过滤有了一定的理解。接着让我们再看一个例子,基于项的协同过滤。同样地,我们以评价过一些书籍的一组用户为基础(图1)。
类似于基于用户的协同过滤,在基于项的协同过滤中,我们要做的第一件事也是计算相似矩阵。然而,这一次,我们要看的是项,而非用户的相似性。类似地,我们要计算出一本书和其它书的相似性,我们将使用评价过一本书的用户向量(或数组)表示这本图书,并比较他们的余弦相似性函数。在第一列的第一本书,最类似于第五列的第五本书,因为评价他们的用户大致相同(图5)。第三本书有两个相同的评价用户,第四和第二本书只有一个共同评价用户,而最后一本书是不认为是相似的,因为同它有没有共同的评价用户。

图5:第一个图书和其它图书的对比。图书用评价过它们的用户表示。使用相似值(0-1)表示相似度。两本书越相似则相似值越高

为了更充分地显示结果,我们可以显示表示所有图书之间相似度的相似矩阵(图6)。同样地,单元格背景颜色的深浅表示相似度的高低,颜色越深表明相似度越高。

图6:书的相似矩阵

现在,我们已经知道了图书之间的相似度,我们可以为用户进行推荐。在基于项的方法中,我们采用被用户评价过的项,推荐和被采取项最相似的项。在我们的例子中,第一个用户首先将被推荐第三本书,其次是第六本书(图7)。另外,我们只推荐和用户已经评价过图书最相似的前两本书。

图7:为用户进行推荐。我们选取他们评价过的图书,找出与他们最相似的前两本书,进行加权,然后推荐给用户加权分最高且他没有读过的书。

鉴于基于用户和基于项的协同过滤的描述听起来非常相似,有趣的是它们可以产生不同的推荐结果。即使在我们这里给出的简易的例子中,即使使用的数据相同,这两种方法产生对于同一用户产生的推荐结果也不相同。当你构建推荐系统的时候,这两种协同过滤方式都是值得考虑的。即使将这两种方式描述给非专家听,它们听起来也非常相似,在实践中,他们可以产生不同的结果,为用户提供了不同的体验。

邻域方法由于其简单性和效率具有相当的知名度,同时也是由于它们有产生准确的和个性化的推荐的能力。然而,它们也有一些可扩展性的限制,因为在用户数量和项的数量增长的情况下,它们需要一个相似度的计算(基于用户或项)。在最坏的情况下,这种计算的时间复杂度可能是O(m*n),但在实践中的情况稍微好一点O(m+n),部分原因是由于利用了数据的稀疏度。虽然稀疏有助于可扩展性,它也对基于邻域的方法提出了一个挑战,因为我们的用户仅仅对庞大数量项中的很少一部分进行了评分。例如,在Mendeley,我们有数以百万计的文章而一个用户可能只读了其中几百篇文章。两个读过100篇文章的用户有一篇相同文章的概率(共5000万篇文章)是0.0002。

基于模型的方法可以帮助克服一些基于邻域的方法的局限性。它不像基于邻域的方法,使用用户项评分直接预测新的项。基于模型的方法会在使用评分去学习预测模型的基础上,去预测新项。一般的想法是使用机器学习算法建立用户和项的相互作用模型,从而找出数据中的模式。在一般情况下,基于模型的CF被认为是建立CF推荐系统的更先进的算法。有许多不同的算法可用于构建模型并基于这些模型进行预测,例如,贝叶斯网络、聚类、分类、回归、矩阵分解、受限玻尔兹曼机等等。这些技术在为了最终赢得Netflix奖的解决方案中扮演了关键角色。Netflix发起了一个竞赛,从2006年到2009年提供一百万美元奖金,颁发给产生的推荐比他们自己的推荐系统精确10%以上的推荐系统团队。成功获奖的解决方案是Netflix研发的一个集成(即混合)了超过100种算法模型,这些算法模型都采用了矩阵分解和受限玻尔兹曼机。

矩阵因子分解(如奇异值分解,奇异值分解+ +)将项和用户都转化成了相同的潜在空间,它所代表了用户和项之间的潜相互作用(图8)。矩阵分解背后的原理是潜在特征代表了用户如何给项进行评分。给定用户和项的潜在描述,我们可以预测用户将会给还未评价的项多少评分。

图8:矩阵分解表示。用户偏好矩阵可以被分解成一个用户主题矩阵乘以一个主题项矩阵。

在表1中,我们概述了基于邻域和基于模型的协同过滤方法的主要优点和缺点。由于它们仅依赖于用户的惯用数据,协同过滤方法需要最低限度专业工程的努力,以产生足够好的结果,但是,他们也有局限性。例如,CF倾向于推荐流行的项,很难推荐给有独特口味的人(即感兴趣的项并没有产生足够多的惯用数据)。这被称为流行性偏见,它通常是用基于内容的过滤方法。CF方法的一个更重要的限制是我们所称的“冷启动问题”,系统是不能够给没有(或非常少)惯用活动的用户进行推荐,又名曰新用户问题,或推荐新项问题。新用户的“冷启动问题”可以通过流行性和混合方法进行解决,而新项问题可以通过使用基于内容的过滤或multi-armed bandits(即探索利用)进行解决。我们将在下一篇文章中讨论上述方法中的一些方法。

在这篇文章中,我们讨论了三种基本的协同过滤的实现方法。基于项、基于用户和基于矩阵分解之间的差异是很微妙的,很难简单明了地解释它们。了解它们之间的差异将有助于你选择最适合你的推荐算法。在接下来的文章中,我们会继续更加深入地介绍一些流行的推荐算法。


余弦相似性算法

将向量根据坐标值,绘制到向量空间中。如最常见的二维空间。
求得他们的夹角,并得出夹角对应的余弦值,此余弦值就可以用来表征,这两个向量的相似性。夹角越小,余弦值越接近于1,它们的方向更加吻合,则越相似

假定a向量是[x1, y1],b向量是[x2, y2],那么可以将余弦定理改写成下面的形式:

余弦的这种计算方法对n维向量也成立。假定A和B是两个n维向量,A是 [A1, A2, ..., An] ,B是 [B1, B2, ..., Bn] ,则A与B的夹角θ的余弦等于:


余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,这就叫"余弦相似性


一个协同过滤的例子

用户对商品/影片/内容的打分(0-5),我们就可以通过这些用户的数据,计算出用户与用户之间的关系和商品与商品之间的关系。计算出来的得分0-1之间。

用户与用户之间的关系:

计算得出最相似的用户,则可以通过相似用户在看什么,推荐相关的内容。

商品与商品之间的关系:

计算得出最相似的商品,则评分越高的商品大家喜欢的程度都相似。

下图就是我自己计算的一张表,计算方法通过上面的余弦夹角的方式。




【主要推荐算法概览,包括召回与排序】 阅读详情

相关推荐

NMS非极大值抑制算法原理

NMS非极大值抑制算法

pywin 3501

推荐算法综述2

【编者按】推荐系统在各种系统中广泛使用,推荐算法则是其中最核心的技术点,InfoQ接下来将会策划系列文章来为读者深入介绍。推荐算法综述分文五个部分,本文作为第一篇,将会简要介绍推荐系统算法的主要种类。其中包括算法的简要描述、典型的输入、不同的细分类型以及其优点和缺点。在第二和第三篇中,我们将会详细介绍这些算法的区别,让你能够深入理解他们的工作原理。 注:本文翻译自Building Recom

开心妙妙屋 901

SpringCloud2025+SpringBoot3.5.0+gateway+webflux子服务路由报503

本来昨天就应该也记录下,免得忘记的,但是有点晚了,酒没写,真的是被坑惨了。当然这也是追求最新的代价,也是对新技术、老知识点的重温。依赖更粒度让架构的知识面更高,需要非常清楚另外说不定是有新的负载均衡要出现了,就想当初loadbalancer取代Ribbon一样好了,真是坑了半夜,昨晚都没有写,今天才复盘,希望能帮到大家,让更多在坑里的技术人爬出来。

zwrlj527的专栏 1998

【推荐算法】深度学习推荐算法综述 Deep Learning based Recommender System: A Survey and New Perspectives

深度学习推荐算法综述 推荐算法综述 MLP CNN RNN 推荐算法论文 深度学习

qq_36643449的博客 8829

代号OneNET02 STM32+ESP8266 WIFI系列-第2节-STM32单片机通过ESP8266连接WIFI访问OneNET OTA服务器实现SOTA远程程序升级

第2节-STM32单片机通过ESP8266连接WIFI访问OneNET OTA服务器实现SOTA远程程序升级,这一节主要是实现通过OneNET OTA服务器将需要更新的程序远程下载到STM32单片机,这一节主要是引导程序和应用程序的讲解。

weixin_44862509的博客 1904

RK3568部署YOLOv8的7种方法对比:量化vs非量化的性能实测与优化建议

本文针对RK3568平台,深度对比了YOLOv8模型的七种部署方法,重点分析了量化与非量化策略的性能差异。通过实测数据,详细评估了不同方法在推理速度、CPU占用、内存消耗及模型精度上的表现,并提供了从模型结构调整到系统级优化的具体建议,为边缘AI部署选型提供实用参考。

weixin_29099217的博客 527

5类系统推荐算法,非常好使,非常全

◆ ◆ ◆   序言   最近因为PAC平台自动化的需求,开始探坑推荐系统。这个乍一听去乐趣无穷的课题,对于算法大神们来说是这样的:      而对于刚接触这个领域的我来说,是这样的:      在深坑外围徘徊了一周后,我整理了一些推荐系统的基本概念以及一些有代表性的简单的算法,作为初探总结,也希望能抛砖引玉,给同样想入坑的伙伴们提供一些思路。   ◆ ◆ ◆   什么是推荐系统   1. 什么是推荐系统?   推荐系统是啥?   如果你是个多年电商(剁手)党,你会说是这个:   

Alex的博客 1327

手把手教你用Wireshark国密版分析TLCP和IPSec协议(附下载地址)

本文详细介绍了Wireshark国密版在TLCP和IPSec协议分析中的实战应用,包括环境配置、协议解析、合规性检查及高级分析技巧。该工具针对商用密码算法(如SM2/SM3/SM4)进行了专项优化,支持GB/T 38636-2020 TLCP和GB/T 36968-2018 IPSec VPN等国家标准,帮助开发者与安全工程师高效完成密评分析任务。

weixin_29325955的博客 553

笔记:机器学习之协同过滤算法

1.协同过滤(Collaborative Filtering)算法 是一种常见的推荐算法,直白点说,就是你不知道怎么选择,大家来帮你选择。这个大家可能是用户,和你有相同偏好的人帮你选择你没有而他们有的;也可能是物品本身,和你历史物品相似的物品把自己推荐给你。对应的算法分类也就是基于用户的协同过滤算法和基于物品的协同过滤算法。前述可知,基于用户的协同过滤算法的关键是找到相同偏好的用户,找到...

feiyang5260的博客 851

基于双向GRU LSTM DNN水电站水文数据的每日径流量预测 完整代码+数据 可直接运行

基于双向GRU LSTM DNN水电站水文数据的每日径流量预测 完整代码+数据 可直接运行

1902

FCC 首个扫地机器人豁免落地,Matic 凭什么抢先?

Matic获FCC首个扫地机器人豁免,实为提前布局的合规姿态。其产品在美国组装,并采用已认证射频模组,虽未达65%美国成分门槛,但已具备“本土制造”优势。豁免本质是对既有合规状态的确认,而非解救。此举在商业上放大品牌价值,抢占“安全、合规、本土”叙事高地,凸显供应链安全正取代技术标准成为监管核心。未来合规成本将攀升,规则主导权仍在FCC手中。

致力于lidar应用开发 98

推荐引擎:基于余弦相似度书籍推荐Python实现

# -*- coding: utf-8 -*- # @Date : 2019-02-14 # @Author : Peng Shiyu from copy import deepcopy import numpy as np from sklearn.feature_extraction import DictVectorizer from sklearn.metrics.pairw...

彭世瑜的博客 2004

0 基础学前端:100 天拿 offer 实战课(第 16 天)—— JS 数组高级方法:数据处理效率翻倍,代码更简洁

方法名核心作用回调函数返回值返回结果适用场景map数据转换转换后的新元素新数组(长度与原数组一致)格式转换、新增字段、生成 DOM 字符串filter数据筛选true(保留)/false(过滤)新数组(符合条件的元素)筛选符合条件的元素(如未完成计划、今天的评论)reduce数据汇总新的累加值任意类型(数字、对象等)求和、计数、分组、多数据汇总find查找元素true(匹配)/false(不匹配)第一个匹配的元素 /undefined。

苏打水.X的博客 133

推荐算法资料汇总

常见推荐算法科普 这篇文章主要是科普类的,介绍了主要的推荐算法有流行度推荐,基于内容推荐,协同过滤推荐以及混合推荐。流行度推荐是推荐现在最火热的内容给用户,基于内容的推荐是推荐给用户喜欢的类似的内容,协同滤波推荐主要介绍相似的物品和相似的用户的差异项给用户,混合推荐则将几种方法混合起来进行推荐。 推荐算法和机器学习系列 - 协同过滤推荐算法和余弦相似性算法 这篇文章主要介绍了协同过滤的具体...

m0_37327467的博客 317

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【机器学习】KNN算法入门:从零到电影推荐实战

在如今的数字化时代,推荐系统无处不在:Netflix为你推荐电影,Spotify推送音乐,淘宝建议商品。这些智能推荐背后,常常隐藏着一种简单却强大的算法——K-近邻(KNN)算法。作为机器学习中最直观的算法之一,KNN不仅易于理解,还广泛应用于分类、回归和推荐系统中。本文将带你从零开始认识KNN算法,深入剖析其原理、距离度量方法及优缺点,并通过一个电影推荐的实际案例,展示KNN在推荐系统中的应用。无论你是机器学习小白,还是想探索推荐系统奥秘的开发者,这篇文章都将为你提供清晰的知识框架和实操指导。

吴师兄大模型的博客 1714

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

简单易学的机器学习算法——协同过滤推荐算法(1)

一、推荐系统的概念

null的专栏 5万+

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

机器学习-协同过滤

机器学习-协同过滤

大数据知识梳理 1731

推荐系统基础算法--余弦相似度算法详解及应用

一、简述        这几天在看《推荐系统实战》这本书。其中,基于领域的算法是推荐系统中最基本的算法,什么是基于领域的算法呢?简单来说就是基于用户(或物品)的协同过滤算法,所谓的协同的意思就是需要用户(或物品)共同参与。从而通过用户的行为,推荐和他兴趣相似的其他用户喜欢的物品或他自己之前喜欢的物品的相似的物品。这里有一个查找物品或用户兴趣的相似性,就是我们今天讨论的主题相似性的度量。   ...

xpsallwell的专栏 1万+

传统推荐系统算法(一):协同过滤(Collaborative Filtering,CF)

协同过滤”可以理解为协同大家的评价、反馈来对巨量的信息进行过滤,并筛选出目标用户可能感兴趣的信息。:给用户推荐和他兴趣相似的其他用户喜欢的产品:给用户推荐和他之前喜欢的物品相似的物品。...

vonjor 1万+

协同过滤(Collaborative Filtering, CF)——经典的推荐算法

“协同过滤” 就是协同大家的反馈、评价和意见一起对海量的信息进行过滤,从中筛选出目标用户可能感兴趣的信息的推荐过程。user CF:基于用户的相似度进行推荐应用场景:具体步骤如下:下面将对“用户相似度计算”及“最终结果的排序”做详细说明。计算用户相似度,就是计算用户向量 i 和用户向量 j 之间的相似度,两个向量之间常用的相似度计算方法有如下几种:衡量了用户向量i和用户向量J之间的向量夹角大小。显然,夹角越小,证明余弦相似度越大,两个用户越相似。...

拾遗 2万+

推荐系统概述

一推荐系统的发展 二主要方法 2.1 协同过滤推荐算法 2.1.1基于记忆的协同过滤 2.1.2基于模型的协同过滤 2.2 基于内容的推荐算法 2.2.1内容分析 2.2.2偏好学习 2.2.3过滤 2.3 基于知识的推荐算法 2.3.1 基于约束推荐 1推荐知识库 2过约束处理 2.3.2 基于案例推理的推荐 2.4 基于标签的推荐

但行好事,莫问前程 1万+

系列学习——推荐算法综述

作者:章华燕                编辑:祝鑫泉前言1随着移动互联网技术和社交网络的发展,每天都有大量包括博客,图片,视频,微博等等的信息发布到网上。我们正处于大数据的时代,传统的信息检索技术已经不能满足用户对信息发现的需求,推荐引擎的出现,可以帮用户获取更丰富,更符合个人口味和更加有意义的信息。个性化推荐主要是根据用户的兴趣和和利时行为特点,向用户推荐所需的信息或商品,帮助用户在海量信息

学习AI算法,请关注微信公众号:机器学习算法全栈工程师…… 5807

国内外推荐算法研究述评

在当今信息技术迅速发展的社会,推荐系统已经成为人们使用互联网应用时经常接触的核心技术之一。作为一种旨在为用户推荐满足其需求的商品、新闻资讯、音视频等信息的技术系统,推荐系统已经广泛应用于电商、社交网络、门户网站等各种领域。对用户提供个性化的推荐服务是推荐系统最重要的目标之一。

qq_51305920的博客 1万+

「Hive」协同过滤推荐系统-余弦相似度

前言: 写这文时2021年不知不觉只剩3个月了,想必在抖音快手短视频、淘宝京东购物、饿了么美团外卖横行的年代,推荐算法这个词想必大家不陌生吧?(陌生的评论区扣1,我根本不信) 我在几年前就卸载了抖音,因为时常一刷刷几个小时,根本控制不住… 淘宝上给弟弟买的衣服多了,首页猜我喜欢的全是T恤大裤衩,导致我这个夏天的穿衣风格很不对劲… 有段时间减肥用饿了么点轻食,几天之后我的食物列表里全是轻食,当轻食吃腻了就有种再也不想打开饿了么的冲动… 对,以上这些生动案例都是基于强大的推荐系统。(以下划线内容请大家熟读并

独自优秀的数据分析师 3935

协同过滤(Collaborative Filtering)

在MF基础上引入隐式反馈(如用户浏览、点击行为),增强用户隐向量的表达能力。将用户-物品评分矩阵分解为低维用户隐向量和物品隐向量的乘积,捕捉潜在特征。通过计算物品之间的相似度,基于用户历史喜欢的物品预测其对新物品的兴趣。通过计算用户之间的相似度,利用相似用户的评分预测目标用户的兴趣。

pljnb的博客 5082

推荐算法分类综述

推荐算法分类综述 推荐系统在各种系统中广泛使用,推荐算法则是其中最核心的技术点,InfoQ接下来将会策划系列文章来为读者深入介绍。推荐算法综述分文五个部分,本文作为第一篇,将会简要介绍推荐系统算法的主要种类。其中包括算法的简要描述、典型的输入、不同的细分类型以及其优点和缺点。在第二和第三篇中,我们将会详细介绍这些算法的区别,让你能够深入理解他们的工作原理。 注:本文翻译自Buildin

在路上 5722
上一篇: 推荐算法和机器学习系列 - 推荐算法综述
下一篇: Nginx源码分析 - Event事件篇 - Event模块和配置的初始化(16)
老码农zhuli
老码农zhuli 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄14年 2456粉丝 312原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值