多层感知机
- 与准确率相关的几个关键参数:
- 激活函数
- 损失函数
- 梯度下降方法
- 学习率的大小
- 正则化
激活函数的原理
- 作用:用来加入非线性因素的,解决线性模型所不能解决的问题。
- 如何直观理解?用下图理解
- 作用:另一种理解方式:特征的充分组合
激活函数的类别与实现
- 种类
- Sigmoid
- Tanh
- ReLU
- Leaky ReLU
- Maxout
Sigmoid
- 公式 f(x)=11+exp(−x) f ( x ) = 1 1 + e x p ( − x )
- 缺点:梯度消失
-
f
f
‘
-
f
f
‘
Tanh
- 公式: f(x)=tanh(x)=ex−e−xex+e−x f ( x ) = t a n h ( x ) = e x − e − x e x + e − x
- 2Sigmiod(2x)−1=tanh(x) 2 S i g m i o d ( 2 x ) − 1 = t a n h ( x )
- tanh t a n h ‘ (x)=1−tanh2(x) ( x ) = 1 − t a n h 2 ( x )
- 与Sigmoid函数比较
ReLU
- 公式: Φ(x)=max(0,x) Φ ( x ) = m a x ( 0 , x )
- 曲线:
- 优点:使用ReLU 得到的SGD 的收敛速度会比sigmoid/tanh 快很多
- 缺点:训练的时候很”脆弱”,很容易就”die”了,就是训练到后面,很多神经元都没用了,就相当于死了
Sigmoid、Tanh与ReLU的比较
Softmax
作用:用于多分类神经网络输出
- 公式:
σ(z)j=ezj∑Kk=1ezk
σ
(
z
)
j
=
e
z
j
∑
k
=
1
K
e
z
k
损失函数的原理、类别与实现
什么是损失函数?
损失函数是关于模型输出与label的函数, 用来衡量模型在训练集上的表现效果.。
它是模型对数据拟合程度的反映,拟合得越差、损失函数的值就应该越大。
Loss function? Cost function? Object Function分不清楚?
- Loss Function:是单个样例的损失/误差
- Cost function:是对数据集整体的误差描述,是选定参数w 和b 后对数据进
行估计所要支付的代价,cost 是对所有数据的误差取平均得到的。 - Object Function(目标函数)定义为:Cost Function + 正则化项
常见的损失函数
- 0-1损失函数(0-1 loss function):
- 平方损失函数(quadratic loss function)
- 绝对值损失函数(absolute loss function)
- 对数损失函数(logarithmic loss function)
- 全局损失函数:
- 交叉熵损失函数(cross entropy loss function)
- 二分类cross entropy(逻辑回归的损失函数):
- 多分类的cross entropy:
- 二分类cross entropy(逻辑回归的损失函数):
Jα(x)=∑∞m=0(−1)mm!Γ(m+α+1)(x2)2m+α,行内公式示例 J α ( x ) = ∑ m = 0 ∞ ( − 1 ) m m ! Γ ( m + α + 1 ) ( x 2 ) 2 m + α ,行内公式示例