- 博客(82)
- 收藏
- 关注
原创 推荐系统 之 XGBoost
这篇文章不知道为什么被吞了....我又得重新写一下,方便以后自己复习 写在前面:这篇文章觉得部分都是照搬这里,详细的描述可以直接看原文。本文只是将原文翻译成自己比较能理解的思路而已。1. XGBoost的原理XGBoost光从名字上我们就知道有boost的身影在里面了,它和AdaBoost的其中一个区别就是在合并模型的时候不需要加上一个权重系数,而是直接做加法运算模式。所以XGBoost也还是采用一个前向分布加法模型的,具体的表...
2022-01-03 18:13:49
1956
原创 推荐系统 之 LightGBM
先声明:文章大部分内容出自这里,写这篇文章是想基于自己的理解再提炼一把,加深自己印象首先明确一点就是LightGBM是对XGBoost的一个改进,改进的方向是速度,速度真的快了好多,具体的操作是从以下几个角度进行优化的:XGBoost的寻找分裂点复杂度 = 特征数量*分裂点数量*样本数量于是LightGBM就是从等式的右边进行优化的:Lightgbm里面的直方图算法就是为了减少分裂点的数量, Lightgbm里面的单边梯度抽样算法就是为了减少样本...
2022-01-02 04:57:57
738
1
原创 百面机器学习 之 集成学习
我觉得这一章虽然简单,但是细节要回答得好还是得下点功夫的。问题1. 什么是Boosting和Bagging,他们各自有什么特点 Boosting的主要思想就是 将基分类器层层叠加,每一层训练的时候对前一层基分类器分错的样本给予更高的权重进行训练,每个分类器之间是采用串行的方式,各个分类器之间有依赖。测试的时候各层的分类器的结果的加权得到最终结果。Bagging的主要思想就是 也是训练基分类器,但是和Boosting不一样的是,Bagging的训练器之间是没有依赖...
2021-12-31 21:38:38
891
原创 百面机器学习 之 循环神经网络
循环神经网络其实主要的就是(暂且我知道的)RNN,LSTM,GRU三个网络,其中后两个都是RNN的变种,来解决梯度消失的问题。 RNN的介绍以及特点,还有为什么会梯度消失已经写过了,在这里 LSTM的介绍以及特点,还有怎么改善梯度消失的方法也写过了,在这里 下面就是针对百面这本书来对以上提到的网络和已有的博客做一个知识点的补充1. 处理文本数据时,循环神经网络和前馈神经网络各自的处理方式是怎样的?一般...
2021-12-29 23:56:38
711
原创 百面机器学习 之 激活函数+反向传播
考完期末了,final week真的很折磨人,我发现我把书全看了也没我同学光看ppt懂的多,巨多知识点,计算过程在ppt上,我都miss掉了,很气人。还有Tobias,这老师我真的得骂一骂才爽,搞一堆幺蛾子出来,教的课就完全讲不清楚,活该评分低,活该sorry。真的把头都给气歪了1.软硬饱和函数假设h(x)是一个激活函数。1. 饱和当我们的x趋近于正无穷,h(x)'趋近于0,那么我们称之为右饱和。当我们的n趋近于负无穷,h(x)'趋近于0,那么我们称之为左饱和。当一个函...
2021-12-18 02:39:58
2281
原创 百面机器学习 之 优化算法+标准化+正则化+损失函数
1. 背景 优化算法做的事就是在 模型表征空间中找到模型评估指标最好的模型。这里就引出了什么是模型的表征空间,以及什么是评估指标了。只有正确地应用表征空间以及评估指标,才可以更好地优化模型譬如SVM的模型表征空间就是线性分类模型,然后评估指标就是最大间隔 逻辑回归的模型表征空间就是线性分类模型,然后评估指标就是交叉熵 我自己理解模型表征空间就是表明这个模型要处理什么问题,评估指标就是比较出真实值和模型估计值之间的差异。 ...
2021-12-08 18:24:16
2195
原创 百面机器学习 之 K-Means聚类
1. 非监督学习 主要包含两大类学习方法:数据聚类和特征变量关联,这里只讲数据聚类的方法,也就是K-Means,它是通过多次迭代找到数据的最优分割。 和监督学习不同的是,监督学习是知道了样本label,也就是知道了样本是属于哪个类的,所以模型/网络只需要对某一类建立自己学习到的规则就好了,然后对于未知的样本根据我们先验学习到的规则进行分类。 而这里的聚类(K-Means),是在事先不知道任何样本类别的情况下,通过数据间的内在关系把样本划分为若干类别,使得...
2021-12-05 22:45:27
2622
原创 百面机器学习 之 决策树
决策树这一章节已经写过类似的了:具体的特征选择算法可以看以前的文章:《统计学习方法》决策树及剪枝,回归树分类树 里面都详细地介绍了ID3,C4.5,还有GINI系数三种特征选择方法了 除此之外,书上还提高了他们之间的对比,这里可以着重看一下:1. ID3 和C4.5 的提升点在哪里 这里其实上面提到的文章也说了,但是这里再说一次: ID3会优先选择那些特征的取值较多的特征,根据此特征划分更...
2021-11-26 22:14:09
619
原创 百面机器学习 之 逻辑回归
逻辑回归别看简单,但是里面在面试里面考察的内容还是很多的。尤其在推荐算法领域,GBDT+LR就是在前几年还相当流行的一个推推荐算法手段。 在这篇文章之前,已经写过一些关于logistics Regression的补充了。问题1:逻辑回归相比于线性回归,有何异同 首先,逻辑回归是处理分类问题,线性回归是处理回归问题。这是两者最最本质的区别。 逻辑回归是给定自变量和超参数后,得到因变量的期望,基于期望来处理预测分类的文同。 ...
2021-11-25 06:56:45
823
原创 推荐系统 之 DSIN
1. DSIN的由来 作者认为呀,之前的所有模型,很大程度上都忽略了推荐还有一个非常重要的属性,那就是序列。所以在DEIN这个模型里面,为了更好地利用用户的历史行为,就把序列模型引进了推荐系统,用兴趣提取层来学习哥哥行为之间的关系,为了更有针对性的广告和用户兴趣的关系,又在兴趣提取层后面加入了注意力机制,和兴趣进化层网络。这么想就已经很完美了我觉得,但是阿里的大佬们更加贴近了用户的实际情况,他们发现用户在过去会有很多的历史行为,而且兴趣的方向都不是唯一的,有时候跨度非常大,那么在那么一大串...
2021-11-24 18:20:31
1527
原创 推荐系统 之 Transformer
1. Transformer transformer有很多种形式,Transformer,Universal Transformer,Transformer XL,GPT,BERT,ERNIE,XLNet,MT-DNN。一下子全讲了那我估计人没了,决定还是学网络,用到一个就填一个坑,今天先说一下Transformer。Transformer是一种新的、基于attention机制来实现的特征提取器,可用于代替CNN 和RNN来提取序列的特征。 ...
2021-11-24 06:41:34
1986
原创 百面机器学习:支持向量机
1. BG其实之前就已经写过了关于支持向量机的博客了支持向量机SVM里面比较详细地写出了整个流程,这里借助百面机器学习这本书跟着书上的内容在复习一次。 相信大家都看过关于SVM的童话故事了,我们把球看作是数据,木棍看作是分类面,好到最大间隔的木棒位置叫做优化,拍桌子让球飞到空叫核函数,在空中分隔球的纸称为分类超平面。问题1:在空间上线性可分的两类点,分别向SVM分类的超平面做一个投影,这些点在超平面上的投影仍然是线性可分的吗? 不可能呀,书...
2021-11-24 03:24:44
557
原创 百面机器学习:模型评估
1. 评估指标的局限性 要合理地运用评估指标,才可以发现模型本身的问题,不然反其道而行之得出错误的调参结论。先讲了TP、FP、FN、和FP这几个值。 这几个率真的是看一次忘一次,人都麻了 准确率的局限性 定义:分类正确的样本 占 总样本的个数的比例: 缺陷:当不同类别的样本比例非常不均衡的时候,占比大的类别往往成为影响准确率的最主要因素,当某一类的占比高达99%,且这一类模型都分对了,那意思是模...
2021-11-22 19:44:18
1293
原创 推荐系统 之 DIEN
1. DIEN的由来 其实,之前我们讨论的所有模型都是基于用户的过往历史进行物品的推荐,但是这个想法往往缺少了一个很重要的维度去模拟我们日常挑选商品的行为,那就是时间序列信息。为什么说时间序列信息对推荐来说是有价值的呢?一个典型的电商用户的现象可以说明这一点,我们在日常消费,或者日常逛淘宝的时候,其实发现自己的兴趣迁移是非常快的,例如用户在挑选一双篮球鞋的时候,这位用户上周的行为序列都会集中在篮球鞋整个品类的商品上,但在他完成购买后,本周他的购物兴趣可能变成买一个机械键盘了。但是用以往的模...
2021-11-19 03:52:27
1384
原创 推荐系统 之 AFM和DIN
感觉已经落下好多进度了,要马上赶上来才行。后面还有好多书没有看0 0 这篇文章的两个模型都是来自于引入了attention机制而产生的,再NFM模型中,不同域的特征Embediing向量经过特征交叉池化层的交叉,将各个交叉特征向量进行了 sum_pooling 操作(这里后面会解释为嘛子叫这个),输入最后由多层神经网络组成的输出层,问题关键在于这个sum_pooling操作,相当于一视同仁地对待所有交叉特征,不考虑不同特征对结果的影响程度,事实上这样子会消解了大量有价值的...
2021-11-17 04:35:10
858
原创 推荐系统之 GBDT和GBDT+LR
这篇文章应该是10月份的时候就发出来了,但是DTU太多作业了,做得我人都麻了哎。临近期末了决定铤而走险,一定要把知识点给梳理出来 这篇文章篇幅估计会比较长,因为当时看GBDT的时候发现自己对决策树的一些细节还掌握的不是很到位,所以把 DT -> AdaBoost -> BDT -> GDBT -> LR -> GBDT + LR 整个流程都走了一遍。 有关决策树的概念以及步骤,可以到这翻一翻,下面直接开始讲建树了。但因为重点是...
2021-11-16 21:22:30
1889
2
原创 推荐系统之 FNN和DeepFM和NFM
感谢FNN,让我发现自己FM,FFM还理解得不到位,于是重新跑了下别人复现的网络,感慨万千,自己怎么这么菜啊ORZ1.FNN 我们发现,现有的网络,FM,FFM都只是做到了两路特征交叉,但发现这不够啊,表达能力不够强,于是大佬们就提出了FM与DNN交叉的FNN网络,利用神经网络对特征进行高阶的特征交叉,加强了模型对数据的学习能力。 我们先来看这个网络的结构: 在神经网络的参数初始化过程中,往往采用随机出实话这种不包含任何先验信...
2021-11-14 20:13:29
1462
原创 推荐系统之 逻辑回归 和 FM 和 FFM
这一章其实是前面的知识了,只是后面我在看到了FNN,DeepFM那里就看不懂,发现是漏了这几张没看,就很麻,后面再把写好的GBDT给发到这来。1. 逻辑回归 逻辑回归我想应该非常重要,至今我看招聘要求里面有一个要求就是要熟悉这个。而且它也是正式从只用物品,用户矩阵进行推荐(协同过滤)慢慢过滤到用深度学习的方法,把更多的特征信息引入,包括上下文特征,更多的数值型特征给引入,从而能更好地提高推荐效果,也就是提高模型的泛化能力。 逻辑回归就是一个将推荐问题转换成一个点击率的...
2021-11-14 04:42:26
1366
1
原创 推荐系统 之 Wide&Deep和Deep&Cross
从这里,书上就引出了什么是泛化能力,什么是记忆能力,由此来引出Wide & Deeo 模型,这个模型就是结合同时两个能力都有,然后后面再改进一下,把Wide改一下变成Cross & Deep模型。使得模型不仅能够快速处理并记忆大量的历史行为特征,并且具有强大的表达能力1. 泛化能力 和 记忆能力 记忆能力被理解为模型直接学习并利用历史数据中物品和特征的“共现频率”的能力。 就像协同过滤一样,模型非常简单, 原始数据可以直接影响推荐结果,产生类似于“如果点...
2021-11-11 22:19:23
817
原创 推荐系统 之 NeuralCF与PNN
1. NerualCF 背景:协同过滤的矩阵分解,我们用隐变量去逼近了,如果从深度学习的角度去理解这个做法,就是下面这张图了,矩阵分解层的用户隐向量和物品隐向量完全可以看作一种Embedding的方法,最终的打分层就是两个隐向量进行内积操作后得到的value。 如果我们用这个方法去进行训练/拟合,我们会发现模型往往是欠拟合的状态的,因为这个模型太简单了。所以我们要引出一个有表达能力的模型出来。于是我们将神经网络引入来代替矩阵分解的内积操作。 Ner...
2021-11-06 08:25:44
666
原创 推荐系统 之 AutoRec和Deep Crossing
与之前的GBDT+LR,协同过滤以及其变种,这些都是一些机器学习的模型,下面我们要将神经网络引入推荐领域了与传统的机器学习模型相比,深度学习模型的表达能力更强,能够挖掘出数据里更多的潜在的隐藏信息,并且深度学习的模型结构非常的灵活,可以根据业务场景和数据特点做出调整。上面是路线进化图,暂时没有这么一本书可以从如此大局观地去引导读者学习,这书确实不错,之前分析过AE到VAE的文章,现在正好结合上推荐一起分析AutoRec了,然后后面是Deep Crossing,这里面图提到了ResNet,也可以一
2021-10-29 02:16:39
260
原创 推荐系统 之 协同过滤和矩阵分解
1. 基于用户的协同过滤首先就是建立共现矩阵,行是M个样本,列是N个物品,第M行N列代表这个M用户是否对这个N物品感兴趣,感兴趣就点赞,赋值1,没有点赞赋值0 然后预测的第一步就是找到与某一个用户最相似的前n个用户 预测的第二步就是综合这些相似用户对某一个物品的评价,得出我们要预测用户对这个物品的评价 所以这里比较重要的就是怎么计算用户的相似度。 其实就是把这些用户点赞的地方是不是大致都一样的。有 1.余弦相似度...
2021-10-28 19:52:11
2127
原创 百面机器学习:特征工程
1. 数据归一化 为什么要做归一化呢,这里面真的有大学问了! 首先数据归一化的目的是消除数据单位不一致而造成的量纲不一样的影响。那如果咱们不这么做的话,会出现什么问题呢? 我们来详细了解一下,这里面真的是不看不知道,一看吓一跳 先看一个例子,假如你收集到一个数据集,一列是年龄,一列是身高(厘米)。比如体重的数据都是60,65。身高的数据是180,185,你发现它的量纲远远大于age,身高对应的权重是W2,体重对应的权重是W1,假如要根据...
2021-10-22 04:58:58
125
原创 Softmax和交叉熵的联系
刚开始上DL的课就很好奇,为什么大家都选softmax是交叉熵是搭配使用的,老师也不讲....1. softmax + crossentropy首先是理解softmax究竟做了什么事,它就是把模型的输出向量都规整到用概率的形式去表达了,这里softmax的公式就不放了。譬如这个predict总共有5个类别,某一个样本进网络后的softmax输出是一个vector,[0.1, 0.2, 0.5, 0.1, 0.1],这里表示的是这个样本一个概率分布:P(X,Y) ...
2021-10-17 00:13:48
401
原创 不同种类的网络的特点
这个知识点看了好多次,但是每次都忘记,今天就写一个加深一下印象判别式网络就突出的就是判别两个字,是有一个决策边界在里面,我们有一个样本,有一堆历史数据,当大于某一个阈值,我们就认为是A类,小于的话,就认为是B类。判别式网络的例子:LR,SVM等生成式网络 具体是每一种类别的特征我们模型都会去学习(建模),然后从当前输入样本中提取特征,放在每一类别的模型里面,看那个概率更大,哪个大就是哪个。所以生成式模型求的是联合概率, X就是输入的样本,Y就是每一个类别。生成式网络的例子:Naive
2021-10-16 21:46:43
478
原创 从EM到VI到AE到VAE
1. EM 某批数据因为一些中间过程我们看不到,所以不可以直接观测变量X 最经典的例子就是三个不同的盒子装了各五个球,里面有数量不一的红黑两种颜色的球,如果我们可以看着他先选什么盒子,然后增大实验次数,我们可以近似地得到每个盒子里面红黑两种球的概率,但现在老板不给我们看他选什么盒子了,直接让我们估计每个盒子里面红黑球的比例,这时就需要引入隐变量了 所以换句话说隐变量是一种不能被直接观察,但是却影响系统状态和输出的一种存在。 ...
2021-10-15 06:18:47
685
原创 MLE 和 MAP 做个总结
之前自己一直理解不来MLE和MAP的区别,脑筋一直拗不过来,今天难得没课重新捡起来,解决一下最重要的就是怎么理解模型的参数在公式里面的地位,充当什么角色!基本上每一篇博客都会介绍一下品频率学派和贝叶斯学派,一开始觉得怎么都千篇一律,后来发现还真有点道理。频率学派,我自己理解就是概率,他们觉得当前这个模型的参数已经上天安排好了,也就是固定的,我们的任务就是找到的麻,所以直接对数据(样本)进行建模。用MLE进行操作贝叶斯学派,我自己理解就是统计,他们觉得这个参数上天没安排好,这个参数其实.
2021-10-06 20:20:52
561
原创 Long Short Term Memory(LSTM)
LSTM 的提出就是为了解决RNN的梯度消失/爆炸以至于引起对时间久远的信息不敏感的问题(久远的信息对当前时刻的更新不做贡献)1.LSTM 结构 总的来说就是多了几个控制的门,每次新的信息进来还有每次拿旧的信息我都不是全部拿,而是有选择性地拿,至于怎么选择性地拿,就交给网络自己学习了 直接上图: 在RNN的基础上,除了隐层状态外,我们引入了新的状态,用来决定我要保留之前的多少信息。最最关键就是这个了C了,暂且称为Cell吧 ...
2021-10-06 07:17:25
343
原创 RNN(循环神经网络)
假如我们现在需要做一个句子翻译,"dog is beautiful",我们如果单独分开预测的话,不知道上下文的意思,会影响预测的value,但是如果连在一起,会很好“这段话有问题,后面再改”于是我们就引入一个循环神经网络,在我预测下一个单词/动作/其他的时候,网络的参数是保留之前预测的特点!1. RNN的结构和流程直接上花书的图: 一开始是真的看不懂这个图,后面看了宝可梦训练大师的才知道怎么玩 譬如还是上面的三个单词,整个流程就是: ...
2021-10-05 04:54:18
376
原创 Spatial Transformer Networks(STN)
1. 首先要知道CNN具有平移不变性这是为什么呢?可以回忆一下CNN都做了什么,第一就是卷积,第二就是maxpool。 当图像的某一个特征从左上角移动到右下角了,那我们CNN会不会受到影响呢? 因为我们卷积是整个图像都扫一遍,所以无论特征在哪里,我们的卷积核都会扫一遍,所以特征都会被采样到。 接着是maxpool,maxpool的作用就是将感受野里面的最大值给拿出来,其实也是卷积的作用,只不过是规则不同了,所以只要特征在上面卷积保留下...
2021-10-04 23:21:03
131
原创 CNN暂时笔记
在讨论卷积核的维度的时候,是不把channel维加进去的(或者说,卷积核的维度指的的进行滑窗操作的维度,而滑窗操作是不在channel维度上进行的,因为每个channel共享同一个滑窗位置, 但每个channel上的卷积核权重是独立的)。所以2D conv的卷积核其实是(c, k_h, k_w),3D conv的卷积核就是(c, k_d, k_h, k_w),2D卷积操作如图1所示,为了解释的更清楚,分别展示了单通道和多通道的操作。且为了画图方便,假定只有1个filter,即输出图像只有一个chanel
2021-10-01 01:08:04
93
原创 网络参数的优化方法总结
1. 随机梯度下降本质还是梯度下降,更新权值的时候我们只有单个样本的误差去作为做更新,所以只要这个样本是一个噪声/离群值,就会对当前这次权重和偏置的更新造成比较严重的影响。...
2021-09-16 03:19:49
1449
原创 Master的PCA + SVD理解
范数就是为了方便度量而定义出的一个概念,主要就是面对复杂空间和多维数组时,选取出一个统一的量化标准,以方便度量和比较。请务必记住,范数是人为定义的一种度量方法。二范数指矩阵A的2范数,就是A的转置共轭矩阵与矩阵A的积的最大特征根的平方根值,是指空间上两个向量矩阵的直线距离。类似于求棋盘上两点间的直线距离。F范数它的作用就是衡量一个矩阵的大小,像我们的实数都是可以直接比较大小的,但是矩阵和向量无法直接衡量它的大小,这个F范数是为了得到矩阵到原点(原矩阵)的距离。F范数的计算:正交矩阵满
2021-09-12 00:41:45
202
原创 《统计学习方法》隐马尔可夫模型
这一节看的时间跨度比较大,先写着,后面再整理HMM的概率图模型:其中,白圈代表的是隐变量,带阴影的是观测变量,然后t就是时间次数,我在这里就理解为更新次数了。1. 基本信息HMM模型最重要的三个东西:一个模型(包含:一个,表示初始的概率分布;一个A,状态转移矩阵;一个B,发射矩阵。)两个假设(1.齐次马尔可夫假设;2.观察独立假设) 三个问题(1.evaluation问题;2.Learning问题;3.Deco...
2021-09-01 00:24:49
303
原创 《统计学习方法》EM期望最大算法
1. EM期望最大算法 最最最普通的MLE表达式:,其中 这个算法其实是分为两个步骤:第一步是E-step:我们先把上一步求得1.证明EM公式是怎么来的(Jensen不等式) 首先要先知道隐变量是什么东西,他为什么存在。 譬如我们观测到某个广义上的隐变量主要就是指“不能被直接观察到,但是对系统的状态和能观察到的输出存在影响的一种东西,所以我们需要用一个比较笼统的东西去概括这个不被直接观察到的东西,所以我们用隐变量...
2021-08-20 17:33:54
341
原创 《统计学习方法》第八章
1.1 提升方法(AdaBoost) boosting(提升方法)的主要思想就是改变训练样本的权重,学习多个分类器(弱可学习,强可学习),然后将这些分类器进行线性组合,从而提高分类的性能。 下面会去研究AdaBoost的具体做法。然后通过训练误差分析去了解为什么AdaBoost可以提高学习进度。然后从前向分布算法去解释AdaBoost。最后再了解提升树(Boosting Tree)的具体做法。 首先就是一些大前提背景: 强学习和弱学习的...
2021-08-03 02:50:06
523
原创 《统计学习方法》第七章
好久没上来写总结了,旅完游回来继续补上这一章主要讲的是支持向量机SVM,基本模型就是定义在特征空间上的间隔最大的线性分类器,主要的框架就是支持向量机是怎么工作的,其中的核函数,核技巧的作用和实现细节。学习策略就是使得间隔最大化=求解凸二次规划=正则化的合页损失函数的最小化问题。支持向量机可以分为三种情况,线性可分SVM,线性SVM,非线性SVM当数据是线性可分的情况,我们通过硬间隔可以直接分类,称为线性可分支持向量机当数据是近似地线性可分的情况,我们通过软间隔最大化来提高容错几率,从而实
2021-07-27 20:13:51
707
原创 《统计学习方法》问题
1. 对偶问题的求极值,这么多个变量有先后顺序吗?按照什么规则来?2.SVM里为什么非要函数间隔设置为1,书上说的函数间隔的取值对优化没有影响的具体形式是怎样的?
2021-07-22 20:56:25
97
原创 《统计学习方法》第六章
1.1 logistics回归与最大熵模型 两者都是分类模型,并且两个都是对数线性模型1.1.1 logistics回归 其实逻辑回归是由线性回归演变过来,我们在寻找一条曲线,这条直线可以将样本中的两个类尽可能地区分开来,而这条线也就是理解为输入一个样本,然后通过这条线输出一个值。重点来了,我们这个是分类模型,也就是输出一个标签(0/1),但是我们怎么把这个值映射到0/1标签上呢?于是我们引入了跃阶函数来表达: 但是发现在x=0处是不可导的,于是...
2021-07-13 11:40:43
315
原创 《统计学习方法》决策树及剪枝,回归树分类树
1. 决策树 决策树可以用于分类和回归的应用里面,这里讨论的决策树是一个二叉树的形式,我们可以用伪代码的方式去表达出来:决策树就是一个 if-then 的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。利用训练数据,根据损失函数最小化的原则建立决策树模型,其中包括:特征选择,决策树的生成,决策树的剪枝三个步骤。 下面讨论的都是分类决策树,除了CART树会讨论到回归树1.1.1 决策树模型 定义:决策树由结点和有向边组成,其中,结点由内部节点...
2021-07-02 10:52:19
1151
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人