激活函数为sgn函数(阶跃函数)的神经元
给定一个线性可分的数据集T,感知机的学习目标是求得能对数据集T中的正负样本完全正确划分的超平面,其中 w T x − θ w^Tx-theta wTx−θ 即为超平面方程
损失函数在误分类时,当模型输出为1时,真实值为0;模型输出为0时,真实值为1。在正两种情况下,以下公式恒成立:
(
y
^
−
y
)
(
w
T
x
−
θ
)
≥
0
(hat{y}-y)(w^Tx-theta)geq0
(y^−y)(wTx−θ)≥0
因此损失函数可以定义为:
L
(
w
,
θ
)
=
∑
x
∈
M
(
y
^
−
y
)
(
w
T
x
−
θ
)
L(w,theta) = sum_{xin M}(hat{y}-y)(w^Tx-theta)
L(w,θ)=x∈M∑(y^−y)(wTx−θ)
在特征量很大的情况下,即便是借用计算机来生成图像,人工的方法也很难读出 J ( θ ) Jleft(thetaright) J(θ) 的最小值,并且大多数情况无法进行可视化,故引入梯度下降(Gradient Descent)方法,让计算机自动找出最小化代价函数时对应的 θ theta θ 值。、
梯度下降背后的思想是:开始时,我们随机选择一个参数组合
(
θ
0
,
θ
1
,
.
.
.
.
.
.
,
θ
n
)
left( {theta_{0}},{theta_{1}},......,{theta_{n}} right)
(θ0,θ1,......,θn)即起始点,计算代价函数,然后寻找下一个能使得代价函数下降最多的参数组合。不断迭代,直到找到一个局部最小值(local minimum),由于下降的情况只考虑当前参数组合周围的情况,所以无法确定当前的局部最小值是否就是全局最小值(global minimum),不同的初始参数组合,可能会产生不同的局部最小值。
不断重复计算直到loss收敛:
{
θ
j
:
=
θ
j
−
α
∂
∂
θ
j
J
(
θ
0
,
θ
1
)
}
begin{align*}& textbf{不断重复计算直到loss收敛:} ; lbrace \&{{theta }_{j}}:={{theta }_{j}}-alpha frac{partial }{partial {{theta }_{j}}}Jleft( {theta_{0}},{theta_{1}} right) \rbraceend{align*}
}不断重复计算直到loss收敛:{θj:=θj−α∂θj∂J(θ0,θ1)
θ
j
{theta }_{j}
θj: 第
j
j
j 个特征参数
α alpha α: 学习速率(learning rate), α > 0 alpha > 0 α>0
梯度下降直观理解把红点定为初始点,切于初始点的红色直线的斜率,表示了函数 J ( θ ) Jleft(thetaright) J(θ) 在初始点处有正斜率,也就是说它有正导数。经过梯度下降切线不断向左边移动。这样不断重复,直到收敛(达到局部最小值,即斜率为0)。
对于学习速率 α alpha α,需要选取一个合适的值才能使得梯度下降算法运行良好。
- 学习速率过小图示:
学习率太小,收敛速度慢,需要跌倒次数更多
- 学习速率过大图示:
可能越过最低点,甚至导致无法收敛
“跳出”局部最小策略- 以多组不同参数值初始化多个神经网络,按标准方法训练,取误差最小的解作为最终参数
- “模拟退火”技术
- 随机梯度下降,随机梯度下降在计算梯度时加入随机因素
- 遗传算法
周志华,机器学习,清华大学出版社,2016
https://www.bilibili.com/video/BV1Mh411e7VUp=6&spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=ae6a9270751fdffac8724e71e288e0ec《机器学习公式详解》
黄海广博士整理笔记
小小人_V 的个人笔记
https://www.coursera.org/course/ml 机器学习公开课



