CS224W-6-message passing and node classification 第2部分

接着讲了第二种算法,iterative classification。

第一种方案 relational classifiers 仅仅根据标签进行迭代,完全浪费了节点的属性信息,显然如果节点之间的属性非常相似,那么节点的标签也很可能是一样的,所以iterative classification 的思路就是 同时利用节点的属性(特征矩阵)和标签;

其过程是:

1、为每一个节点创建一个向量形式(这里的意思应该是根据每个节点的属性得到一个特征向量)

2、使用分类器对得到的特征矩阵结合标签进行训练;

3、对于一个标签可能拥有许多的邻居,因此我们可以对其邻居的节点进行各类统计指标的计算加入特征中作为衍生特征,例如count计数、mode 求众数、proportion求占比、均值、是否存在的bool特征等;

这里详细介绍了iterative classifiers的整个过程:

首先是bootstrap phase,先使用特征矩阵来训练一个传统的机器学习模型比如svm、knn,然后预测标签,还是伪标签的思路;

然后是iteration phase,进入迭代步骤,对于每一个节点i都重复:

1、更新特征向量ai;

2、重新训练并且预测得到新的标签yi

一直到预测的概率整体不再变化或者变动不大或是达到了最大迭代次数;

同样,收敛也是无法保证的。

(这里补充了一点使用的知识,就是这类迭代的算法怎么去确定其停止条件,一个就是输出的值的收敛,理想状态是输出基本不发生改变,如果始终不收敛就看输出的差值的波动情况,如果是周期性在某个范围内波动而其差值不随迭代次数继续增大则可以选择输出差值较低的结果作为最终的收敛状态;另一个思路就比较简单了,设定最大迭代次数)

具体的例子可见下:

这是一个信息量非常大也非常符合实际场景也非常好理解的案例,比如这里,如果不考虑网络信息单纯从特征上来看,中间的文章和最右边的文章的特征矩阵完全一样,所以如果使用传统的机器学习算法明显这二者的标签肯定都是判定成同一种的,但是实际上二者的标签是不一样的,这个时候我们就要引入额外的特征来帮助模型去判断二者的不同,此时,网络信息就作为一种非常宝贵的特征参与进来。

如果不考虑不同文档之间的关联,这实际上就是一个普通的文本分类问题,w1、w2、w3.。。表示的是文本(网页)中出现的单词,实际上就是一个词袋模型,这里为了简单,仅仅取了3个单词作为共同的词矩阵,然后用KNN,在不考虑网络信息的情况下训练了一个baseline。这里可以看到,在仅仅考虑节点属性(词矩阵)的情况下,4篇文章有一篇分类错了,把B错分成了A。

这里,我们根据网页之间的网络连接关系,从人类逻辑上就可以大致猜测出中间这篇文章的标签应该大概率是B,因为他和另外两篇标签也是B的文章关联非常密切。

所以,现在我们就把网络中的这种关联关系考虑进来,这里考虑进来的方式也很简单,因为上图是一个有向图,所以这里对于每个节点都生成4个 新的特征,假设某个节点Z。则IA指指向节点Z的标签为A的节点的数量,IB同理;OA指的是节点Z指向的标签为A的节点的数量,OB同理;可以看到,实际上就是一个常规的特征衍生的操作,只不过衍生的特征来自于图结构上的关联关系,即网络相似性。

这课件写的真的太详细,非常好理解;

思路很简单,首先,我们在一个有标签的训练集上先训练一个仅使用节点属性(词矩阵、特征矩阵,下面统一用节点属性的称谓)的模型1,然后模型1输出预测标签,根据预测的标签我们得到了上面训练集的样本节点标签,然后这些节点标签的信息都以特征衍生的方式并入原始的节点属性中,最后我们利用新的节点属性(原始的节点属性和基于网络相似性生成的新特征)重新训练一个模型2。

然后在测试集上,我们使用模型1对测试集的标签进行预测,

得到了伪标签之后根据网络相似性得到新的特征并入节点属性,然后使用模型2进行预测,

然后我们就又进入了神奇的迭代过程了:

我们用模型2预测出新的伪标签,然后重新更新标签,那么这个时候我们基于网络相似性衍生的特征也发生了改变,那么我们就用新的数据重新训练一个新的模型2,然后继续使用模型2预测。。。。。循环往复,直到达到迭代停止条件位置;

可以看到,上述过程中,原始的节点属性是不发生变化的,仅仅是基于网络信息得到的特征在不断的发生变化,原ppt写的有一些模糊,不过看到这里就明白了,我之前还之一以为原始特征矩阵也发生变化呢。。。

经过了反复的迭代之后,最终得到了完全正常的结果。

关于iterative classification的应用:虚假评论者的预测。

其实说的就是类似淘宝上刷好评的问题,星级越高的店铺其收入越高,很多时候我们在淘宝京东上也经常碰到刷好评的商家,商品质量不咋地,星级高的一笔;

传统的方法是从 评论者的行为分析和文本分析入手的,行为分析包括了评论者的个人特征,地理位置,登陆时间,会话历史记录;

文本分析包括了最高级best之类的词语使用的次数,大量的自我引用,拼写错误的比率,大量的褒义词等等;

但是这些都很容易被伪造,尤其是文本方面,如今的自然语言模型已经达到了非常恐怖的程度,能够生成很多以假乱真的评论,即使用肉眼去评估也不一定能够有效的辨别;

但是图结构是难以造假的:评论者、评论和商家之间的关联关系是难以改变的,这类人容易在网络结构上聚集成一个个的小团体结构;

问题定义,整个问题以二部图的形式给出,我们要做的就是预测出哪些用户的评分是虚假的,这实际上属于边预测的任务,左右两边的笑脸都是用户user,中间的图形表示商品product,连接的边表示评分,评分在1和-1之间。

我们现在的目标就是找到虚假评分的用户,然后将这些用户剔除,然后我们才能得到商品最真实的用户评分。

基本思想:用户,产品和评分具有内在的质量得分(也就是客观的真实的得分,不受虚假评分的影响):

§每个用户都有一个 ‘fairness’的得分介于0~1之间

§每个商品都具有一个‘goodness’的评分介于-1~1之间

§每个评分都有一个‘reliability’评分介于0~1之间

¡所有值都是未知的

¡如何同时计算所有节点和边的值?

¡解决方案:迭代分类 iterative classification

这个公式是什么意思呢?假设有一个用户A对于若干个商品一共发了5条评论,则这5条评论的reliability求和之后除以5进行平均,这就得到了这个用户的fairness的得分;

然后是商品的goodness得分的公式,商品的goodness等于每条edge的可信度reliability乘上用户的评分,最后使用这个商品的评论人数进行平均得到最终的goodness得分公式;

最后是对reliability的更新,分为两个部分:

蓝色部分和用户有关,可以看到就是一个gamma1系数*当前用户的fairness,黄色部分比较有意思,衡量的是当前用户的对商品的评分和上一步计算出来的商品的goodness的接近程度。

然后下面又给了一个非常生动具体的例子,这个课件的教学形式真的太好了,把看起来难得概念通过具体得事例非常生动、易于理解得介绍出来了;

这里gamma1和gamma2统一设置成1,也可以改成其它大小的参数,关键看使用者认为用户的可靠性和商品的得分哪一个决定因素的程度更大了。

这种方法的好处是:

1、收敛得到了保证;

2、收敛的次数被证明是具有上限的,也就是一定会收敛;

3、时间复杂度:相对于edges的数量是线性时间复杂度,因为涉及到的都是简单的计算;

效果居然初期的好。。。。额

计算复杂度还低(讨论中提到了这种方法可以收敛到全局最优。。。额,我都没看到这个问题的损失函数的形式。。。)

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
【5层】2800平米框架商务写字楼毕业设计(含计算书,建筑、结构图) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 、6可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值