《深入浅出图神经网络》阅读笔记-第2章 图神经网络基础(1)

第1节 机器学习基本概念

步骤:提取特征-建立模型-确定损失函数和进行优化求解

损失函数:衡量模型输出和标签之间的差异程度,当预测结果与标签值的差异大,则损失函数值增大。

部分数学表示:

X = \{(x_i, y_i) | i = 1, 2, ..., N\}x_i \in R^d表示每个样本x_i是一个d维向量, y_i \in Y=\{0,1,2,..,k\}表示x_i所属类别,K为类别的种类数。如果要建立分类模型那么就是需要一个模型:f: R^d \rightarrow R^k,输入是d维的向量,经过f映射后,输出在每个类别上的概率分别是P (Y|x_i) = f(x_i; \theta ),这样就可以取概率最大的类别作为结果,即 y_i^* = argmax(P(Y|x_i)).

训练过程其实就是调整f的参数\theta,让损失函数最小。

常见的损失函数:

  1. 平方损失函数:L(y, f(x; \theta )) = \frac{1}{N}\sum_{i=1}^{N}(y_i - f(x_i ; \theta))^2衡量预测结果和标签之间的平方差,常用语回归类问题.
  2. 交叉熵损失:L(y,f(x)) = H(p,q)= -\frac{1}{N} \sum_{i=1}^{N}p(y_i,x_i)log[q(\hat{y_i}|x_i)]衡量标签真实分类和分类模型预测的概率分别之间的差距.最小化交叉熵损失就是最大化样本标签的似然概率。

梯度下降算法:

对于一个多元函数,梯度定义为对其中每个自变量的偏导数构成的向量:{f}' = \triangledown f(x) = [\triangledown f(x_1) ... \triangledown f(x_n)]^T,之后可以泰勒展开之类的,这一部分理论不赘述

算法步骤:

  1. 随机初始化为需要求解的参数赋初值
  2. 使用模型对所有样本预测,计算总体损失值
  3. 利用损失值对模型参数进行求导,得到相应的梯度
  4. 基于梯度调整参数,得到迭代后的参数

缺点:数据规模大时比较低效。1时间成本 2数据维度大,复杂度提升 3虽然可以基于所有样本得到准确的梯度,但是仅需要一次参数更新

随机梯度下降算法SDG:

每次从训练集中随机选择一个样本,计算其对应的损失和梯度,进行参数更新,反复迭代。

缺点:收敛速度慢

改进:每次使用多个样本来估计梯度-》小批量随机梯度下降

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值