线性回归
线性回归要素:训练集、输出数据和模型。
假设线性函数可表示为:
y = h θ ( x ) = θ T x θ = [ θ 1 , θ 2 , . . . θ n ] T , x = [ x 1 , x 2 , . . . x n ] T y=h_{\theta}(x)=\theta^T x\\\theta=[\theta_1,\theta_2,...\theta_n]^T,x=[x_1,x_2,...x_n]^T y=hθ(x)=θTxθ=[θ1,θ2,...θn]T,x=[x1,x2,...xn]T
给定样本 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)),构造代价(误差、损失)函数为:
J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) 2 J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-h_{\theta}(x^{(i)}))^{2} J(θ)=21i=1∑m(y(i)−hθ(x(i)))2
线性回归的目标是找到超平面参数 θ \theta θ,使 J ( θ ) J(\theta) J(θ)最小,即求解 m i n θ J ( θ ) min_{\theta}J(\theta) minθJ(θ)
令 ∂ J ( θ ) ∂ θ = 0 \frac{\partial J( \theta ) } { \partial \theta } = 0 ∂θ∂J(θ)=0,即可得到: θ = ( X T X ) − 1 X T y \theta = ( X ^ { T } X ) ^ { - 1 } X ^ { T } y θ=(XTX)−1XTy,其中:
X = [ ( x ( 1 ) ) T ( x ( 2 ) ) T . . . ( x ( N ) ) T ] , y = [ y ( 1 ) y ( 2 ) . . . y ( N ) ] X = \left[ \begin{array} { l } { ( x ^ { ( 1 ) } ) ^ { T } } \\ { ( x ^ { ( 2 ) } ) ^ { T } } \\...\\ { ( x ^ { ( N ) } ) ^ { T } } \end{array} \right] , y = \left[ \begin{array} { l } { y ^ { ( 1 ) } } \\ { y ^ { ( 2 ) } } \\ ... \\{ y ^ { ( N ) } } \end{array} \right] X= (x(1))T(x(2))T...(x(N))T ,y= y(1)y(2)...y(N)
线性二分类问题
线性分类器的输入是特征向量,输出是哪一类。如果是二分类问题,则为0和1,或者是属于某类的概率,即0-1之间的数。
与线性回归差别:
- 输出意义不同
属于某类的概率<->回归具体值
- 参数意义不同
最佳分类直线<->最佳拟合直线
- 维度不同
对于线性二分类问题,我们最终需要概率,结果在0-1之间,因此需要对值做一个变换:
y = 1 1 + e − z z = θ T x y = \frac { 1 } { 1 + e ^ { - z } }\\z=\theta^T x y=1+e−z1z=θTx
此函数称为Sigmoid函数。
同样地,可构造代价(误差)函数:
J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − 1 1 + e − θ T x ( i ) ) 2 J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\frac{1}{1+e^{-\theta^Tx^{(i)}}})^{2} J(θ)=21i=1∑m(y(i)−1+e−θTx(i)1)2
和回归方程一致,只是加了S函数,因此又称作softmax回归。
目标仍然是找到超平面参数 θ \theta θ,使 J ( θ ) J(\theta) J(θ)最小,但是这里 J J J变成了非线性, ∂ J ( θ ) ∂ θ = 0 \frac{\partial J( \theta ) } { \partial \theta } = 0 ∂θ∂J(θ)=0无法求解。
采用迭代的方法,让 J ( θ ) → 0 J ( \theta ) \rightarrow 0 J(θ)→0,即构建一个序列,使 θ 1 , θ 2 , ⋯ θ k → θ ∗ \theta _ { 1 } , \theta _ { 2 } , \cdots \theta _ { k } \rightarrow \theta ^ { * } θ1,θ2,⋯θk→θ∗,最简单的方式为:
θ k + 1 = θ k + Δ θ k \theta _ { k + 1 } = \theta _ { k } + \Delta \theta _ { k } θk+1=θk+Δθk
由于:
J ( θ k + 1 ) = J ( θ k ) + [ d J d θ ] T Δ θ k J ( \theta _ { k + 1 } ) = J ( \theta _ { k } ) + [ \frac { d J } { d \theta } ] ^ { T } \Delta \theta _ { k } J(θk+1)=J(θk)+[dθdJ]TΔθk
若令:
Δ θ k = − α d J d θ = − α ▽ θ J \Delta \theta _ { k } = - \alpha \frac { d J } { d \theta } = - \alpha \triangledown _ { \theta } J Δθk=−αdθdJ=−α▽θJ
则必然有 J ( θ k + 1 ) ≤ J ( θ k ) J ( \theta _ { k + 1 } ) \leq J ( \theta _ { k } ) J(θk+1)≤J(θk)
对数回归与多分类回归
从概率角度看问题。二分类问题可使用条件概率描述:
假设输出为{0,1}。重新修改指标函数:
神经元模型
单神经元模型
多层感知机
线性不可分问题:无法进行线性分类,解决方法为使用多层感知机:在输入和输出层间加一或多层隐单元。
多层前馈网络
多层前馈网络的反向传播 (BP)学习算法,简称BP算法,是有导师的学习,它是梯度下降法在多层前馈网中的应用。网络结构见下图:
- 已知网络的输入/输出样本,即导师信号
- BP学习算法由正向传播和反向传播组成