Logistic Regression (逻辑斯蒂回归)理解

虽然名字中有“回归”,但这其实是个用于分类问题的方法。

一、首先介绍sigmoid函数
σ ( z ) = 1 1 + e − z \sigma(\mathrm{z})=\frac{1}{1+\mathrm{e}^{-\mathrm{z}}} σ(z)=1+ez1
图像如下:
Logistic Regression (逻辑斯蒂回归)理解_第1张图片
这个函数的意义在于,对任意 x ∈ ( − ∞ , + ∞ ) x\in(-\infty, +\infty) x(,+),y的值都可以被限制在[0,1]内,也就是“概率”的取值范围。

二、Logistic Regression
(1)对于一个分类问题,输入 x ∈ R n x\in R^{n} xRn,输出 y = 0 或 1 y=0或1 y=01。但不直接用分类的方法,而是用回归的模型去计算概率,定义 y ^ = P ( y = 1 ∣ x ) = σ ( w T x + b ) ∈ ( 0 , 1 ) \hat{y}=P(y=1 \mid x) = \sigma (w^Tx+b) \in (0,1) y^=P(y=1x)=σ(wTx+b)(0,1)其中w和b是我们后面要确定的参数。这个模型就是Logistic Regression。

(2)接下来我们要计算w和b。常用的确定参数的方法是最小二乘法和极大似然法,此处我们选择极大似然估计。由上一步已知 y ^ = P ( y = 1 ∣ x ) \hat{y}=P(y=1 \mid x) y^=P(y=1x) 1 − y ^ = P ( y = 0 ∣ x ) 1-\hat{y}=P(y=0 \mid x) 1y^=P(y=0x)这两个式子可以用下面这一个式子同时表达 P ( y ∣ x ) = y ^ y ( 1 − y ^ ) 1 − y P(y \mid x) = \hat{y}^y(1-\hat y)^{1-y} P(yx)=y^y(1y^)1y(不理解的话把y=1和y=0分别带进去试一下)。

于是对于n个样本点 ( x 1 , y 1 ) , ( x 2 , y 2 ) . . . ( x n , y n ) (x_1, y_1), (x_2, y_2) ... (x_n, y_n) (x1,y1),(x2,y2)...(xn,yn),似然函数为 ∏ i = 1 n y i ^ y i ( 1 − y ^ i ) 1 − y i \prod_{i=1}^{n} \hat{y_i}^{y_i }(1-\hat y_i)^{1-{y_i}} i=1nyi^yi(1y^i)1yi取负对数就得到了Logistic Regression的损失函数 L ( w , b ) = − ∑ i = 1 n [ y i l o g y i ^ + ( 1 − y i ) l o g ( 1 − y i ^ ) ] L(w,b) =- \sum_{i=1}^{n}[y_i log{\hat{y_i}} + (1-y_i)log(1-\hat{y_i})] L(w,b)=i=1n[yilogyi^+(1yi)log(1yi^)]
让L(w,b)达到最小的w和b就是我们要找的值。手动算的话让L对w和b的偏导数等于0就解出来了,写代码的话用的方法是梯度下降法。

你可能感兴趣的:(#,机器学习)