w ∗ , b ∗ = a r g m i n L w , b w^*,b^*=\mathop{argmin L}\limits_{w,b} w∗,b∗=w,bargminL
Gradient Descent:
随机选取初始值: w = w 0 , b = b 0 w=w_0,b=b_0 w=w0,b=b0
计算 ∂ L ∂ w ∣ w = w 0 , b = b 0 \frac{\partial L}{\partial w}|_{w=w^0,b=b^0} ∂w∂L∣w=w0,b=b0
η ∂ L ∂ w ∣ w = w 0 , b = b 0 \eta\frac{\partial L}{\partial w}|_{w=w^0,b=b_0} η∂w∂L∣w=w0,b=b0 η \eta η:Learning rate
更新参数:
w 1 ← w 0 − η ∂ L ∂ w ∣ w = w 0 , b = b 0 w_1\leftarrow w_0-\eta\frac{\partial L}{\partial w}|_{w=w_0,b=b_0} w1←w0−η∂w∂L∣w=w0,b=b0
b 1 ← b 0 − η ∂ L ∂ b ∣ w = w 0 , b = b 0 b_1\leftarrow b_0-\eta\frac{\partial L} {\partial b}|_{w=w_0,b=b_0} b1←b0−η∂b∂L∣w=w0,b=b0
可能得不到使得Loss最小的解:Local minima,Global minima问题
Training: Step1+Step2+Step3
更加复杂的线性模型
Piecewise linear curve线段组成
红色线可由几个Hard Sigmoid函数相加而成
Sigmoid function: y = C 1 1 + e − ( b + w x ) = C s i g m o i d ( − b + w x ) y=C\frac{1}{1+e^{-(b+wx)}}=C\quad sigmoid(-b+wx) y=C1+e−(b+wx)1=Csigmoid(−b+wx)
需要构造不同的sigmoid逼近:
红色曲线可以写成: y = b + ∑ i C i S i g m o i d ( b i + w i x i ) y=b+\sum_{i}^{}C_iSigmoid(b_i+w_ix_i) y=b+∑iCiSigmoid(bi+wixi)
当有多个特征时: y = b + ∑ j w j x j = b + ∑ i C i S i g m o i d ( b i + w i j x j ) y=b+\sum_{j}w_jx_{j}=b+\sum_{i}C_iSigmoid(b_i+w_{ij}x_{ j}) y=b+∑jwjxj=b+∑iCiSigmoid(bi+wijxj)
简化成向量和矩阵形式: r ⃗ = b ⃗ + w x ⃗ \vec{r}=\vec{b}+w\vec{x} r=b+wx
Neural Network,Deep Learning
y = b + C T δ ( b + w x ) y=b+C^T\delta(b+wx) y=b+CTδ(b+wx)
*x:*特征 *w,b,c:*未知参数,用 θ \theta θ表示
最终得到了一个可以表示更加复杂情形的模型
重新定义Loss: L ( θ ) θ = ( θ 0 , θ 1 , … ) L(\theta)\qquad \theta=(\theta_0,\theta_1,\dots) L(θ)θ=(θ0,θ1,…)
优化: θ ∗ = a r g m i n θ L \theta^*=\mathop{argmin}\limits_{\theta}L θ∗=θargminL
更新参数: θ 1 ← θ 0 − η ∂ L ∂ θ \theta_1\leftarrow\theta_0-\eta\frac{\partial L}{\partial \theta} θ1←θ0−η∂θ∂L
划分Batch Size,每个Batch计算Loss,更新一次参数
Sigmoid——> Relu(Hard Sigmoid):
相加可以得到ReLU,激活函数为ReLU: y = b + C i ∑ 2 i max ( 0 , b + w x ) y=b+C_i\sum_{2i}\max(0,b+wx) y=b+Ci∑2imax(0,b+wx)
发展:
Alexnet(2012) VGG(2014) GoogleNet(2014) Residual Net(2015) Taipei
过拟合: 训练集上的误差小,新数据上的误差大(为什么不无限加深网络层数)