Java教程

李沐深度学习 4 月 10 日课程笔记

本文主要是介绍李沐深度学习 4 月 10 日课程笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

4 月 10 日课程笔记

讲课大纲

感知机(历史模型)

感知机的模型为:

\[o = \sigma(\langle w,x \rangle + b) \]

  • \(w\) 权重
  • \(x\) 输入
  • \(b\) 偏移
  • \(\sigma\) 符号函数(对正数输入,输出 1,否则输出 -1)
  • \(o\) 输出

训练感知机的算法(用 python 伪代码表示):

w, b = 0, 0
while True:
	for x, y in zip(features, labels):
    	if y * (dot(w, x) + b) <= 0:
        	w, b = w + y * x, b + y
	if all_classified_correctly:
        break

等价于使用批量大小为 1 的梯度下降,并使用损失函数:\(l(y, x, w) = \max (0,-y\langle w,x \rangle)\)​。

感知机存在收敛定理:在某些条件下能够保证在一定步数之后收敛。

单层感知机不能拟合 XOR 问题(Minsky & Papert, 1969),它只能产生线性分割面。

可能会疑惑为什么不能用二次函数之类的激活函数,以前的查阅找到的大概答案是:因为这超出了原始的单层感知机概念:每个神经元都是线性分类器(其实多层感知机的每个神经元也都是线性分类器)。但是这个答案其实并不能让人满意,这的确是一个问题(留待阅读 Minsky 的 Perceptron 原文再来回答这个问题吧)。

多层感知机

softmax 回归加上一层隐藏层就成为了多层感知机的多类分类。

现在出现了两组超参数:隐藏层数和每层隐藏层的大小。

为什么通常层数是逐层减少的,是认为提取出来的特征(维度)越来越少。

多层感知机的实现

见书上和 jupyter notebook 了。

这篇关于李沐深度学习 4 月 10 日课程笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!