神经网络

  • 包含隐层的网络即可称为多层神经网络
  • 误差逆传播算法(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的距离,超出此距离的样本才计算损失

  • 核方法

对于一般的损失函数和正则化项,都可以写成核函数的线性组合(表示定理)

通过引入核函数将线性学习器拓展为非线性学习器(核线性判别分析)