回归算法

  1. 线性回归
  • 线性回归假定输入变量(X)和单个输出变量(Y)之间呈线性关系。它旨在找到预测值 Y 的线性方程:
    Y h a t = W T X + b Y_{hat}=W^TX+b Yhat=WTX+b
  • 其中。X={x1,x2,…xn}是n个输入变量,W={w1,w2,…wn}为线性系数,b是偏置项。
  • 我们的目标是找到系数W的最佳估计,使得Y预测值误差最小。
  • 使用最小二乘法估计线性系数W,求预测值和观测值组件的平方和最小。
  • 损失函数loss:预测值y与已知y_的差距
    l o s s = ∑ i = 1 p Y i − Y h a t loss=\sum_{i=1}^p{Y_i}-Y_{hat} loss=i=1pYiYhat
  • 实现函数:loss = tf.reduce_mean(tf.square(y-y_))
  1. 逻辑回归
  • 用来确定一个事件的概率。通常来说,事件可被表示为类别因变量。事件的概率用 logit 函数(Sigmoid 函数)表示:
    P ( Y h a t = 1 ∣ X = x ) = 1 1 + e − ( b + W T + X ) P(Y_{hat}=1|X=x)={1 \over {1+e^{-({b+W^T+X})}}} P(Yhat=1X=x)=1+e(b+WT+X)1
  • 现在估计权重W={w1,w2,…wn}和偏置项b.使用最大似然估计量或随机梯度下降估计系数。
  • 损失函数: l o s s = ∑ i = 1 P Y i log ⁡ ( Y h a t i ) + ( 1 − Y i ) log ⁡ ( 1 − Y h a t i ) loss=\sum_{i=1}^{P}Y_i\log(Y_{{hat}_i})+(1-Y_i)\log(1-Y_{{hat}_i}) loss=i=1PYilog(Yhati)+(1Yi)log(1Yhati)
  • 逻辑回归用分类问题,对于多类型逻辑回归,交叉熵损失函数定义为:
    l o s s = ∑ i = 1 P ∑ j = 1 K Y i j log ⁡ ( Y h a t i j ) loss=\sum_{i=1}^{P}\sum_{j=1}^{K}Y_{ij}\log(Y_{{hat}_{ij}}) loss=i=1Pj=1KYijlog(Yhatij)
  1. 正则化
  • 大量特征输入,需要正则化保证模型的简约。正则化帮助防止数据过拟合,也可以用来获得一个凸损失函数,有两种类型正则化。
  • 数据高度共线,L1正则化工作,与所有系数的绝对值
    和相关的附加惩罚被添加到损失函数,
    L 1 _ p e n a l t y = λ ∑ i = 1 n ∣ W i ∣ L1\_penalty=\lambda\sum_{i=1}^{n}|W_i| L1_penalty=λi=1nWi
  • L2正则化提供了另一种解决方法,输入特征巨大时,适用。
  • 惩罚项是所有系数平方之和。
  • L 2 _ p e n a l t y = λ ∑ i = 1 n ∣ W i 2 ∣ L2\_penalty=\lambda\sum_{i=1}^{n}|W_{i}^{2}| L2_penalty=λi=1nWi2
  • λ \lambda λ是正则化参数。
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐