SGD的公式如下,alpha后面的是在xi, yi点的损失函数的梯度
但是具体对于逻辑回归来说,迭代公式是什么?也就是说逻辑回归损失函数的梯度应该是什么?
2个回答
$\triangledown _{\theta }J( \theta;x_{i},y_{i})$
=$-\frac{\partial }{\partial \theta}(y_{i}log(h_{ \theta}(x_{i}))+(1-y_{i})log(1-h_{ \theta}(x_{i})))$ (交叉熵损失)
=$-\frac{y_i}{h_{ \theta}(x_i)}\frac{\partial h_{ \theta}(x_i)}{\partial \theta}+\frac{1-y_i}{1-h_{ \theta}(x_i)}\frac{\partial h_{\theta}(x_i))}{\partial \theta}$
=$-\frac{y_i}{h_{\theta}(x_i)}h_{\theta}(x_i)(1-h_{\theta}(x_i)))x_i+\frac{1-y_i}{1-h_{\theta}(x_i)}h_{\theta}(x_i)(1-h_{\theta}(x_i))x_i$(sigmoid的导数公式)
=$-y_i(1-h_{\theta}(x_i))x_i)+(1-y_i)h_{\theta}(x_i)x_i$
=$-y_ix_i+y_ih_{\theta}(x_i)x_i+h_{\theta}(x_i)x_i1y_ih_{\theta}(x_i)x_i$
=$(h_{\theta}(x_i)-y)x_i$
SofaSofa数据科学社区DS面试题库 DS面经第$j$个coefficient update的公式
$$\theta_j:=\theta_j - \alpha (h_\theta(x^r) - y^r)x^r_j$$
$h_\theta(x^r)$是当前模型对某个随机样本$x^r$的预测值,$x^r_j$是第$r$个样本中第$j$个变量
写成向量的形式就是
$$\theta:=\theta - \alpha (h_\theta(x^r) - y^r)x^r$$
SofaSofa数据科学社区DS面试题库 DS面经