1、Graph SAGE的原理
GraphSAGE 是Graph SAmple and aggreGatE的缩写,其运行流程如上图所示,可以分为三个步骤
-
对图中每个顶点邻居顶点进行采样
-
根据聚合函数聚合邻居顶点蕴含的信息
-
得到图中各顶点的向量表示供下游任务使用
1、Graph SAGE的原理
GraphSAGE 是Graph SAmple and aggreGatE的缩写,其运行流程如上图所示,可以分为三个步骤
-
对图中每个顶点邻居顶点进行采样
-
根据聚合函数聚合邻居顶点蕴含的信息
-
得到图中各顶点的向量表示供下游任务使用
**↓↓↓福利!福利!福利!↓↓↓ **
免费送:《名企AI面试100题》电子书+¥300元的【SVM与XGBoost特训 第5期】课
-
从近4000道名企AI面试题中精选出的《名企AI面试100题》已升级到2.0版,此书得到数千学员的好评,电子版限时免费送给大家;
-
再附赠一门¥300元的【SVM与XGBoost特训 第5期】,9节课,带你快速掌握SVM与xGBoost理论推导。
需要的XDM点击领取>>SVM与XGBoost特训 第5期 - 七月在线
2、deepwalk的原理
DeepWalk的思想类似word2vec,使用图中节点与节点的共现关系来学习节点的向量表示。那么关键的问题就是如何来描述节点与节点的共现关系,DeepWalk给出的方法是使用随机游走(RandomWalk)的方式在图中进行节点采样。
RandomWalk是一种可重复访问已访问节点的深度优先遍历算法。给定当前访问起始节点,从其邻居中随机采样节点作为下一个访问节点,重复此过程,直到访问序列长度满足预设条件。
获取足够数量的节点访问序列后,使用skip-gram model 进行向量学习。
3、xdeepfm, deepfm区别
上图为 xDeepFM 的总体结构,有三个分支:Linear(稀疏的01向量作为输入)、DNN(经过embedding的稠密向量作为输入)、CIN(压缩感知层)。
xDeepFM 如果去掉 CIN 分支,就等同于 Wide & Deep。
xDeepFM将基于Field的vector-wise思想引入Cross,并且保留了Cross的优势,模型结构也很elegant,实验效果也提升明显。如果说DeepFM只是“Deep & FM”,那么xDeepFm就真正做到了”Deep” Factorization Machine。xDeepFM的时间复杂度会是其工业落地的一个主要性能瓶颈,需要重点优化。
4、wide&deep,deepfm区别,分别哪个公司的
Goggle在2016年提出的Wide & Deep模型。
deepfm是华为和哈工大联合发表的模型。
deepfm采取Wide & Deep的框架,差异在于将Wide部分的LR替换为了FM,从而自动构造二阶特征叉乘,而非手工设计叉乘。
5、股票最大利润,并且输出买卖价格
该题为leetcode121题,两种方法:
方法一:暴力解法
对数组进行遍历,找到后一个数与前一个数的最大差值,返回。
注意遍历 j 时要从 i + 1 进行遍历。
代码如下:
class Solution:
def maxProfit(self, prices: List[int]) -> int:
res = 0
for i in range(len(prices)):
for j in range(i+1,len(prices)):
res = max(res,prices[j] - prices[i])
return res
在 leetcode 上运行上面代码会出现超出时间限制的问题。
时间复杂度:O(n^2)
空间复杂度:O(1)
方法二:
只进行一次遍历,在遍历过程中更新两个值,股票最小值和差值最大值,更新到最后即可。
class Solution:
def maxProfit(self, prices: List[int]) -> int:
res = 0
minPrice = prices[0]
for i in range(len(prices)):
res = max(res, prices[i] - minPrice)
minPrice = min(minPrice, prices[i])
return res
时间复杂度:O(n)
空间复杂度:O(1)
2、deepwalk的原理
DeepWalk的思想类似word2vec,使用图中节点与节点的共现关系来学习节点的向量表示。那么关键的问题就是如何来描述节点与节点的共现关系,DeepWalk给出的方法是使用随机游走(RandomWalk)的方式在图中进行节点采样。
RandomWalk是一种可重复访问已访问节点的深度优先遍历算法。给定当前访问起始节点,从其邻居中随机采样节点作为下一个访问节点,重复此过程,直到访问序列长度满足预设条件。
获取足够数量的节点访问序列后,使用skip-gram model 进行向量学习。
3、xdeepfm, deepfm区别
上图为 xDeepFM 的总体结构,有三个分支:Linear(稀疏的01向量作为输入)、DNN(经过embedding的稠密向量作为输入)、CIN(压缩感知层)。
xDeepFM 如果去掉 CIN 分支,就等同于 Wide & Deep。
xDeepFM将基于Field的vector-wise思想引入Cross,并且保留了Cross的优势,模型结构也很elegant,实验效果也提升明显。如果说DeepFM只是“Deep & FM”,那么xDeepFm就真正做到了”Deep” Factorization Machine。xDeepFM的时间复杂度会是其工业落地的一个主要性能瓶颈,需要重点优化。
4、wide&deep,deepfm区别,分别哪个公司的
Goggle在2016年提出的Wide & Deep模型。
deepfm是华为和哈工大联合发表的模型。
deepfm采取Wide & Deep的框架,差异在于将Wide部分的LR替换为了FM,从而自动构造二阶特征叉乘,而非手工设计叉乘。
5、股票最大利润,并且输出买卖价格
该题为leetcode121题,两种方法:
方法一:暴力解法
对数组进行遍历,找到后一个数与前一个数的最大差值,返回。
注意遍历 j 时要从 i + 1 进行遍历。
代码如下:
class Solution:
def maxProfit(self, prices: List[int]) -> int:
res = 0
for i in range(len(prices)):
for j in range(i+1,len(prices)):
res = max(res,prices[j] - prices[i])
return res
在 leetcode 上运行上面代码会出现超出时间限制的问题。
时间复杂度:O(n^2)
空间复杂度:O(1)
方法二:
只进行一次遍历,在遍历过程中更新两个值,股票最小值和差值最大值,更新到最后即可。
class Solution:
def maxProfit(self, prices: List[int]) -> int:
res = 0
minPrice = prices[0]
for i in range(len(prices)):
res = max(res, prices[i] - minPrice)
minPrice = min(minPrice, prices[i])
return res
时间复杂度:O(n)
空间复杂度:O(1)