深度学习基本概念简介
1. 从线性模型说开去
Linear models
存在的问题:y与x始终呈线性关系(Model Bias:模型偏差)
我们需要更加复杂的模型(如何拟合出上图红色线类似的形状)
constant表示常数,当x1
的值达到某一threshold
(阈值)的时候,set1
的分段值会发生改变,即产生斜坡。
0
+1
=red(1)
0
+1
+2
= red(2)
0
+1
+2
+3
= red(3)
red(1)、red(2)和red(3)分别表示上图中红线的三个分段
所有的分段线性曲线(Piecewise Linear Curves)都可以用常数加上蓝色函数实现。(分段线性曲线的转折越多,对应蓝色函数的分段也越多)
如果不是分段线性曲线,可以用点分割的方式转换成分段线性曲线。
2-1. 如何表示蓝色函数
(1)Sigmoid函数作为激活函数
(2)调整b,w,c使得产生的sigmoid function不断地逼近真实的蓝色函数
(3)新模型:加入更多的特征
(4)r
的线性代数表示
(5) r
通过sigmoid函数得到a
i
(6)最后a
i与常数c
i相乘的时候重点注意c
i需要转置。
x
表示feature
W
、b
、c
T和b
都表示未知参数
(7)将以上所有参数竖直排,形成参数矩阵
2-2 求新模型的最优解
θ* 表示最优解,与之前机器学习的步骤相同,随机挑选θ0
倒三角形表示Gradient
将数据量为N的数据集随机分为若干个batch(B)小数据组,每个batch算出的Loss都用来更新参数(并非直接使用N对应的Loss)
每更新一次参数叫做Update
将所有的batch
都看过一遍叫做一个epoch
为什么要将hard sigmoid
换成soft sigmoid
其实不用换,hard sigmoid
可以由两个ReLU
函数叠加
S型函数转变为线性整流函数(激活函数:Activation
的选择)
使用ReLU作为激活函数进行实验
对模型修改的思考:
(1)更改我们所使用的激活函数
(2)多层调参,多个不同激活函数可以嵌套,多个相同激活函数也可以嵌套
Neuron
指的是神经元(激活函数得出的值)
Neuron Netword
指的是神经网路
每排Neuron
叫做一个hidden layer
:隐藏层
很多的hidden layer
叫做deep
deep
的整套技术称为Deep Learning
不一直将layer更加深入的原因在于会出现过拟合现象