【学习笔记】深度学习-【2020版】【深版】

1.Machine Learning Introduction(2020)

机器学习就是自动找函数式
在这里插入图片描述

2.Regression - Case Study

预测宝可梦cp值

以预测宝可梦cp值为案例学习回归
step1 定义模型集合
y = f ( x ) = w ⋅ x + b y=f(x)=w·x+b y=f(x)=wx+b
step2 评价模型
通过损失函数Loss来评价模型好坏
step3 选出最佳模型

梯度下降

L = 1 / 2 ( y − f ( x ) ) 2 L=1/2(y-f(x))^2 L=1/2(yf(x))2
w ← w − η ⋅ d L d w w\leftarrow w-\eta·\frac{dL}{dw} wwηdwdL
b ← b − η ⋅ d L d b b\leftarrow b-\eta·\frac{dL}{db} bbηdbdL
η \eta η被称为步长,即学习率
回归模型中不存在局部极小值

正则化

L = 1 / 2 ( y − f ( x ) ) 2 + λ ∣ ∣ w ∣ ∣ 2 L=1/2(y-f(x))^2+λ||w||^2 L=1/2(yf(x))2+λ∣∣w2

bias&variance

一般来说
简单的模型(左侧)有大的bias和小的variance。
复杂的模型(右侧)有小的bias和大的variance【瞄得越来越准,但误差越来越大】。

欠拟合(underfitting): 误差来源于bias–模型不能很好地拟合训练数据。
解决方法:重新设计模型(欠拟合时,采集更多数据是没用的)
1.增加更多的特征作为输入
2.选择更复杂的模型

过拟合(overfitting): 误差来源于variance–模型拟合了训练数据,但在测试数据上有很大误差。
解决方法:
1.更多数据–采集or生成
2.正则化

理想结果:平衡bias和variance,得到一个较好的模型。

交叉验证

通过交叉验证来用测试集模拟真实世界的数据,取得在真实世界更好的效果
为防止划分的验证集数据分布奇怪,可采用n折交叉验证

8.Graph Neural Networks

Graph Neural Networks即GNN,训练数据有图的结构特征,我们可以用GNN进行分类和生成任务,比如判断化学分子其是否会导致突变、生成可以对抗病毒的某种化学分子。

使用GNN时可能遇到的问题:

  • 如何通过结点间的信息帮助模型
  • 图中可能包含大量结点,数据集非常大
  • 大量结点都是没有label的

GNN的两种思路
类比CNN,我们可以通过相邻节点来表示当前节点的特征。那么就要将卷积这个操作推广到GNN模型中,有两种方法

  • Spatial-based Convolution
    Generalize the concept of convolution(corelation) to graph.
  • Spectral-based Convolution
    Back to the definition of convolution in signal processing.

Spatial-based Convolution

先介绍两个术语:
Aggregation:用 neighbor feature update 下一层的 hidden state。即在某一个layer中用某node及其neighbor的feature得到下一个layer中该node的feature。
Readout:把所有 nodes 的 feature 集合起來代表整個 graph。即汇总整个图的信息,最终得到一个特征来表示这整个图(Graph Representation)。

NN4G (Neural Networks for Graph)

在这里插入图片描述
输入层为原始数据,需要先embedding变成方便处理的数据(eg. h 3 0 = w ‾ 0 ⋅ x 3 h^0_3=\overline{w}_0·x_3 h30=w0x3),处理后为hidden layer 0。
接下来就是aggregation,以 v 3 v_3 v3的hidden layer 0->hidden layer 1为例, h 3 1 = w ^ 1 , 0 ( h 0 0 + h 2 0 + h 4 0 ) + w ‾ 1 ⋅ x 3 h_3^1=\widehat{w}_{1,0}(h_0^0+h_2^0+h_4^0)+\overline{w}_1·x_3 h31=w 1,0(h00+h20+h40)+w1x3
readout:每个hidden layer的节点加起来mean,然后做个transform(转换)
在这里插入图片描述

DCNN (Diffusion-Convolution Neural Network )

aggregation: h m k = w m k M E A N ( d ( m , ⋅ ) = k h_m^k=w_m^kMEAN(d(m,·)=k hmk=wmkMEAN(d(m,⋅)=k 权重乘上与节点m有k个距离节点的mean
在这里插入图片描述
readout:
在这里插入图片描述

DGC (Diffusion Graph Convolution)

和DCNN基本一致,只有readout略有差别,DCNN是拼接,DGC是相加

Spectral-based Convolution

跟信号处理类似,其实没怎么看懂QAQ

10. Semi-supervised Learning

Supervised Learning有监督学习,其中每组数据包括算法的输入与输出(标签)。
Semi-supervised Learning半监督学习,其中部分数据有标签而大量数据没有标签。

半监督学习可以分为以下2种情况

  1. Transductive Learning
    unlabeled data is the testing data,只使用testing data中的feature,并没有使用testing data中的label,所以并没有cheating。
    适用于已知testing data的情况,比如kaggle比赛。
  2. Inductive Learning
    unlabeled data is not the testing data,完全不使用testing data。
    适用于testing data未知的情况,这是大多数情况。

为什么需要半监督学习
其实缺的并不是数据,缺少的是有标签的数据。利用这些大量的没有标签的数据进行学习,这是非常有价值的。
为什么半监督学习有用
The distribution of the unlabeled data tell us something:无标注数据的分布可以告诉我们一些东西
半监督学习往往伴随着假设,而该假设的合理与否决定了结果的好坏程度。如上图所示,在猫狗图片分类中一只狗被认为是一只猫,这很可能是由于这2张图片的背景都是绿色,因此假设的合理性至关重要。

Semi-supervised Learning for Generative Model

如下图所示,在Supervised Generative Model(有监督生成模型)中,得到 P ( C 1 ) , P ( C 2 ) , μ 1 , μ 2 , Σ P(C_1), P(C_2),μ^1,μ^2, Σ P(C1),P(C2),μ1,μ2,Σ后,就可以计算出 x x x属于类别 C i C_i Ci的概率 P ( C 1 ∣ x ) P(C_1|x) P(C1x)
在这里插入图片描述

基于有监督生成模型,当有了无标签数据之后(下图中绿色圆点),我们会明显发现有监督生成模型中的 P ( C 1 ) , P ( C 2 ) , μ 1 , μ 2 , Σ P(C_1), P(C_2),μ^1,μ^2, Σ P(C1),P(C2),μ1,μ2,Σ并不够正确,比如2个类别的分布应该接近于下图中虚线圆圈、先验概率 P ( C 1 ) P(C_1) P(C1)应该小于 P ( C 2 ) P(C_2) P(C2),所以应该使用无标签数据重新估计 P ( C 1 ) , P ( C 2 ) , μ 1 , μ 2 , Σ P(C_1), P(C_2),μ^1,μ^2, Σ P(C

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Leenyu0629

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值