神经网络
- 包含隐层的网络即可称为多层神经网络
- 误差逆传播算法(BP)
对网络在数据集上的均方误差对各层权值做偏导,即可算出各个参数的梯度下降更新值
学习率控制了学习过程中每一轮迭代的更新步长
BP算法的目标是最小化训练级D上的累计误差
如何设置隐层神经元的个数:试错法
过拟合的解决方法:早停(train和va的最低点),正则化(对参数w进行惩罚,参数常通过交叉验证法来估计)
- 全局最小和局部极小
一般 函数只有一个全局最小,有多个局部极小
使用多组不同的参数初始化神经网络,最终选取误差最小的解
使用模拟退火算法,一定概率接受比当前差的结果,此概率随迭代数量上升而下降
使用随机梯度下降
遗传算法
- 其他网络
- RBF网络(径向基函数网络) 使用径向基作为隐层神经元激活函数
-
ART网络(自适应谐振网络,竞争型学习)
-
SOM网络(自组织映射网络) 能将高维输入数据映射到低维空间
-
级联相关网络 结构自适应性,同时学习网络结构
-
Elman网络(递归神经网络) 隐层神经元输出同时用作自己的输入
-
Boltzmann机 基于能量的模型
SVM
距离超平面最近的点为-支持向量
目标即找到分割样本且具有最大间隔的超平面
超平面
超平面即此线性方程:w^Tx+b=0 两个异类支持向量到超平面的距离为 \\gamma = \\frac{2} {||w||}
欲找到具有最大间隔的划分超平面,即找到参数w和b使\gamma最大
\\max_{w,v} \\frac{2}{||w||} = \\min_{w,v} \\frac{1}{2}||w||^2 即SVM的基本型
- 对偶问题
对SVM基本型使用拉格朗日乘子法 可得到模型(推导略)
f(x)=w^Tx+b = \\sum^m_{i=1}a_iy_ix_i^Tx+b 满足a_i\\geq 0,y_if(x_i)-1\\geq 0,a_i(y_if(x_i)-1)=0
使用SMO(先固定a_i以外的参数,然后求a_i上极值,每次更新两个变量,固定其他变量)
- 核函数
将样本从原始控件映射到更高维空间来达到线性可分的目的
*只要一个对称函数所对应的核矩阵半正定,就可以作为核函数使用&
- 常用核函数
- 线性核 k_i(x_i,x_j)=x_i^Tx_j
-
多项式核 k_i(x_i,x_j)=(x_i^Tx_j)^d d为多项式次数
-
高斯核 k_i(x_i,x_j)=exp(-\\frac{||x_i-x_j||^2}{2\\sigma^2}) \\sigma为高斯核带宽
-
拉普拉斯核 k_i(x_i,x_j)=exp(-\\frac{||x_i-x_j||}{\\sigma})
-
Sigmoid核 k_i(x_i,x_j)=tanh(\\beta x_i^Tx_j+\\theta)
-
以及核函数的组合
-
软间隔与正则化
软间隔允许某些样本不满足支持向量约束
优化目标 \\min_{w,b} \\frac{1}{2}||w||^2+C\\sum_{i=1}^m \\mathcal{l}_{0/1}(y_i(w^Tx_i+b)-1)
其中\\mathcal{l}为损失函数,可以用 hinge损失,指数损失,虽屡损失来替代
正则化
\\min_f \\Omega(f)+C\\sum_{i=1}^m \\mathcal(l)(f(x_i),y_i)
其中\\Omega(f)为正则化项目
L2倾向于w的分量取值均衡,即非0分量个数尽量稠密
L1,L0更倾向w的分量更稀疏,即非0个数尽量少
- 支持向量回归
允许f(x)与样本之间至多有\\epsilon的距离,超出此距离的样本才计算损失
- 核方法
对于一般的损失函数和正则化项,都可以写成核函数的线性组合(表示定理)
通过引入核函数将线性学习器拓展为非线性学习器(核线性判别分析)