深度学习之TensorFlow(三)回归算法
回归算法线性回归线性回归假定输入变量(X)和单个输出变量(Y)之间呈线性关系。它旨在找到预测值 Y 的线性方程:Yhat=WTX+bY_{hat}=W^TX+bYhat=WTX+b其中。X={x1,x2,…xn}是n个输入变量,W={w1,w2,…wn}为线性系数,b是偏置项。我们的目标是找到系数W的最佳估计,使得Y预测值误差最小。使用最小二乘法估计线性系数W,求预测值和观测值...
·
回归算法
- 线性回归
- 线性回归假定输入变量(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=1∑pYi−Yhat - 实现函数:loss = tf.reduce_mean(tf.square(y-y_))
- 逻辑回归
- 用来确定一个事件的概率。通常来说,事件可被表示为类别因变量。事件的概率用 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=1∣X=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)+(1−Yi)log(1−Yhati)
- 逻辑回归用分类问题,对于多类型逻辑回归,交叉熵损失函数定义为:
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=1∑Pj=1∑KYijlog(Yhatij)
- 正则化
- 大量特征输入,需要正则化保证模型的简约。正则化帮助防止数据过拟合,也可以用来获得一个凸损失函数,有两种类型正则化。
- 数据高度共线,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=1∑n∣Wi∣ - 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=1∑n∣Wi2∣
- λ \lambda λ是正则化参数。
更多推荐
所有评论(0)