介绍

线性回归

在介绍逻辑回归算法之前,我们来先来讲一个例子,来介绍线性回归。当顾客去挑选一件商品时,我们需要预测顾客挑选这个商品的概率。这个商品包含了许多特征Xn来吸引客户,这些特征值包含了不同的权重Wn,还有一个偏置b,那么线性回归的的结果就是w1x1+w2x2+...+wnxn+b

逻辑回归

逻辑回归有什么用?

我们假设,用户如果选择了这件商品,那么结果值为1 ,反之,结果值为0 ,那么我们需要将我们的到的线性回归结果去做一个逻辑回归的去做一个预测值,然后通过预测值与结果值通过逻辑回归损失函数进行比较,通过大量的数据对每个特征值的权重和偏置进行调整,使预测值趋向与结果值。

逻辑回归函数

如下是逻辑回归的函数:

y=11+e(wTx+b)

这里的𝑤𝑇𝑥+𝑏就是刚刚线性回归的结果值。

下面是函数图像:

这里我们用表格来形象讲解一下:

商品

价格X1

效果X2

味道X3

X沐浴露

98

87

52

Y沐浴露

78

92

58

对应的权重值如下:

价格

效果W2

味道W3

偏置

W1

W2

W3

b

那么我们计算X沐浴露的线性回归可得:W1*98+W2*87+W3*52+b,Y沐浴露的线性回归为:W1*78+W2*92+W3*58+b
得到了线性回归,那么我们带入Sigmoid函数(逻辑回归),得出如下预测值:

商品

预测值

结果值

X沐浴露

0.88

1

Y沐浴露

0.78

0

然后我们需要借助逻辑回归损失函数进行比较,让其自动调整权重和偏置,使预测值不断趋近与结果值。

逻辑回归损失率计算函数

L(y^,y)=[ylog(y^)+(1y)log(1y^)]

当实际结果𝑦=0 时,

L(y^,y)=log(1y^)

此时要想损失函数小,要让^y尽可能的趋向于0,即^y=0 损失为 0。

当实际结果𝑦= 1时,

L(y^,y)=ylog(y^)

此时要想损失函数小,要让^y尽可能的趋向于1,即^y=1 损失为 0。

成本函数(Cost function)

这个函数是衡量在多个训练样本的表现,相当于求平均损失率,函数如下:

J(w,b)=1mi=1mL(y^(i),y(i))=1mi=1m[y(i)log(y^(i))+(1y(i))log(1y^(i))]