autograd——自动求导系统
torch.autograd.backward
torch.autograd.backward(tensor,
grad_tensors=None,
retain_graph=None,
create_graph=False)
功能:自动求梯度
tensor:用于求导的张量,如loss
retain_graph:保存计算图
create_graph:创建导数计算图,用于高阶求导
grad_tensors:多梯度权重
torch.autograd.grad
torch.autograd.grad(outputs,
inputs,
grad_tensors=None,
retain_graph=None,
create_graph=False)
功能:求取梯度
outputs:用于求导的张量,如loss
inputs:需要梯度的张量
retain_graph:保存计算图
create_graph:创建导数计算图,用于高阶求导
grad_tensors:多梯度权重
注意
- 梯度不自动清零
- 依赖于叶子结点的结点,requires_grad默认为True
- 叶子结点不能执行in-place操作
逻辑回归
逻辑回归是线性的二分类模型
模型的表达式:
y
=
f
(
W
X
+
b
)
y=f(WX+b)
y=f(WX+b)
f
(
x
)
=
1
1
+
e
−
x
f(x)=\frac{1}{1+e^{-x}}
f(x)=1+e−x1
其中
f
(
x
)
f(x)
f(x)称为Sigmod函数,也称为Logistic函数,图像如图所示:
c
l
a
s
s
=
{
0
y
<
0.5
1
y
≥
0.5
class= \left\{\begin{matrix} 0& y<0.5\\ 1& y\ge 0.5 \end{matrix}\right.
class={01y<0.5y≥0.5
线性回归是分析自变量x与因变量y(标量)之间关系的方法
逻辑回归是分析自变量x与因变量y(概率)之间关系的方法
逻辑回归也叫对数几率回归:
l
n
y
1
−
y
=
W
X
+
b
ln\frac{y}{1-y}=WX+b
ln1−yy=WX+b
此外还有对数回归:
l
n
y
=
W
X
+
b
lny=WX+b
lny=WX+b
机器学习模型训练的要素:
- 数据
- 模型
- 损失函数
- 优化器
- 迭代训练