我是靠谱客的博主 痴情大炮,这篇文章主要介绍李宏毅机器学习——逻辑回归逻辑回归步骤一:函数集步骤2: 函数有多好步骤3:找到最好的函数生成模型VS判别模型多分类问题逻辑回归的限制,现在分享给大家,希望可以做个参考。

逻辑回归

第一步先选择函数集

步骤一:函数集

接上一篇,我们知道,给定一个x,它属于类别 C 1 C_1 C1​的概率为 P w , b ( C 1 ∣ x ) P_{w,b}(C_1|x) Pw,b​(C1​∣x),
如果 P w , b ( C 1 ∣ x ) ≥ 0.5 P_{w,b}(C_1|x)geq0.5 Pw,b​(C1​∣x)≥0.5则属于 C 1 C_1 C1​;否则属于 C 2 C_2 C2​

最后我们得到
P w , b ( C 1 ∣ x ) = σ ( z ) , σ ( z ) = 1 1 + e x p ( − z ) P_{w,b}(C_1|x) = sigma(z),quad sigma(z)=frac{1}{1+exp(-z)} Pw,b​(C1​∣x)=σ(z),σ(z)=1+exp(−z)1​

z = w ⋅ x + b = ∑ i w i x i + b z = w cdot x + b = sum_i w_ix_i + b z=w⋅x+b=i∑​wi​xi​+b
所以我们的函数集是 f w , b ( x ) = P w , b ( C 1 ∣ x ) f_{w,b}(x) = P_{w,b}(C_1|x) fw,b​(x)=Pw,b​(C1​∣x),包含所有不同的 w w w和 b b b。

图形化表示如下:

在这里插入图片描述

这个就是逻辑回归,我们与线性回归做一个比较。

在这里插入图片描述

因为Sigmoid函数的取值范围是0到1,因此逻辑回归的输出也是0到1;而线性回归的输出可以是任何值。

接下来判断函数的好坏

步骤2: 函数有多好

在这里插入图片描述

假设我们有N个训练数据,每个训练数据都标明了属于哪个类别( C 1 C_1 C1​或 C 2 C_2 C2​)

并且假设这些数据是从 f w , b ( x ) = P w , b ( C 1 ∣ x ) f_{w,b}(x) = P_{w,b}(C_1|x) fw,b​(x)=Pw,b​(C1​∣x)所产生的。

那么给定一组 w w w和 b b b,那如何计算某一组 w w w和 b b b产生这些数据的概率:

L ( w , b ) = f w , b ( x 1 ) f w , b ( x 2 ) ( 1 − f w , b ( x 3 ) ) ⋯ f w , b ( x N ) L(w,b) = f_{w,b}(x^1)f_{w,b}(x^2)(1-f_{w,b}(x^3))cdots f_{w,b}(x^N) L(w,b)=fw,b​(x1)fw,b​(x2)(1−fw,b​(x3))⋯fw,b​(xN)

其中 x 3 x^3 x3是属于 C 2 C_2 C2​,因此它的计算方法有点不同。

最好的 w w w和 b b b会产生产生最大的 L ( w , b ) L(w,b) L(w,b)

w ∗ , b ∗ = a r g   max ⁡ w , b L ( w , b ) w^*,b^* = arg,max_{w,b}L(w,b) w∗,b∗=argw,bmax​L(w,b)
做个数学上的转换,将上式右边取对数,并加上负号,变成计算最小的:

w ∗ , b ∗ = a r g   min ⁡ w , b − ln ⁡ L ( w , b ) w^*,b^* = arg,min_{w,b}-ln L(w,b) w∗,b∗=argw,bmin​−lnL(w,b)

取对数的好处是使得相乘变成相加:

− ln ⁡ L ( w , b ) = − ln ⁡ f w , b ( x 1 ) − ln ⁡ f w , b ( x 2 ) − ln ⁡ ( 1 − f w , b ( x 3 ) ) ⋯ -ln L(w,b) = \ -ln f_{w,b}(x^1)\ -ln f_{w,b}(x^2)\ -ln (1-f_{w,b}(x^3)) \ cdots −lnL(w,b)=−lnfw,b​(x1)−lnfw,b​(x2)−ln(1−fw,b​(x3))⋯

但是这个式子不好写个SUM的形式,因此需要做符号转换
在这里插入图片描述

如果 y ^ n = 1 hat{y}^n=1 y^​n=1则说明它属于类别 C 1 C_1 C1​;若等于0,说明属于类别 C 2 C_2 C2​,那么就有

− ln ⁡ f w , b ( x 1 ) ⟹ − [ y ^ 1 ln ⁡ f ( x 1 ) + ( 1 − y ^ 1 ) ln ⁡ ( 1 − f ( x 1 ) ) ] − ln ⁡ f w , b ( x 2 ) ⟹ − [ y ^ 2 ln ⁡ f ( x 2 ) + ( 1 − y ^ 2 ) ln ⁡ ( 1 − f ( x 2 ) ) ] − ln ⁡ ( 1 − f w , b ( x 3 ) ) ⟹ − [ y ^ 3 ln ⁡ f ( x 3 ) + ( 1 − y ^ 3 ) ln ⁡ ( 1 − f ( x 3 ) ) ] ⋯ -ln f_{w,b}(x^1) Longrightarrow -[hat{y}^1 ln f(x^1) + (1 - hat{y}^1) ln (1-f(x^1))]\ -ln f_{w,b}(x^2) Longrightarrow -[hat{y}^2 ln f(x^2) + (1 - hat{y}^2) ln (1-f(x^2))]\ -ln (1-f_{w,b}(x^3)) Longrightarrow -[hat{y}^3 ln f(x^3) + (1 - hat{y}^3) ln (1-f(x^3))]\ cdots −lnfw,b​(x1)⟹−[y^​1lnf(x1)+(1−y^​1)ln(1−f(x1))]−lnfw,b​(x2)⟹−[y^​2lnf(x2)+(1−y^​2)ln(1−f(x2))]−ln(1−fw,b​(x3))⟹−[y^​3lnf(x3)+(1−y^​3)ln(1−f(x3))]⋯
这样,就能得到一个函数:

因为 y ^ n hat{y}^n y^​n取0或1,因此 y ^ n ln ⁡ f ( x n ) + ( 1 − y ^ n ) ln ⁡ ( 1 − f ( x n ) ) hat{y}^n ln f(x^n) + (1 - hat{y}^n) ln (1-f(x^n)) y^​nlnf(xn)+(1−y^​n)ln(1−f(xn))中+号左右两边总有一个式子等于0。

L ( w , b ) = f w , b ( x 1 ) f w , b ( x 2 ) ( 1 − f w , b ( x 3 ) ) ⋯ f w , b ( x N ) − ln ⁡ L ( w , b ) = − ( ln ⁡ f w , b ( x 1 ) + ln ⁡ f w , b ( x 2 ) + l n ( 1 − ln ⁡ f w , b ( x 3 ) ) ⋯ = ∑ n − [ y ^ n ln ⁡ f w , b ( x n ) + ( 1 − y ^ n ) ln ⁡ ( 1 − f w , b ( x n ) ) ] begin{aligned} L(w,b) &= f_{w,b}(x^1)f_{w,b}(x^2)(1-f_{w,b}(x^3))cdots f_{w,b}(x^N) \ -ln L(w,b) &= -(ln f_{w,b}(x^1) + ln f_{w,b}(x^2) + ln(1-ln f_{w,b}(x^3)) cdots \ &= sum_n -[hat{y}^n ln f_{w,b}(x^n) + (1 - hat{y}^n) ln (1-f_{w,b}(x^n))] \ end{aligned} L(w,b)−lnL(w,b)​=fw,b​(x1)fw,b​(x2)(1−fw,b​(x3))⋯fw,b​(xN)=−(lnfw,b​(x1)+lnfw,b​(x2)+ln(1−lnfw,b​(x3))⋯=n∑​−[y^​nlnfw,b​(xn)+(1−y^​n)ln(1−fw,b​(xn))]​

− [ y ^ n ln ⁡ f w , b ( x n ) + ( 1 − y ^ n ) ln ⁡ ( 1 − f w , b ( x n ) ) ] -[hat{y}^n ln f_{w,b}(x^n) + (1 - hat{y}^n) ln (1-f_{w,b}(x^n))] −[y^​nlnfw,b​(xn)+(1−y^​n)ln(1−fw,b​(xn))]其实就是两个伯努利分布的交叉熵,交叉熵主要用于衡量两个分布有多接近,如果一模一样的话,那么就是0。

在这里插入图片描述

所以在逻辑回归中,定义一个函数的好坏就通过两个类别分布的交叉熵之和:

在这里插入图片描述

我们需要最小化这个交叉熵,也就是希望函数的输出和目标函数的输出越接近越好。

步骤3:找到最好的函数

− ln ⁡ L ( w , b ) = ∑ n − [ y ^ n ln ⁡ f w , b ( x n ) + ( 1 − y ^ n ) ln ⁡ ( 1 − f w , b ( x n ) ) ] -ln L(w,b) = sum_n -[hat{y}^n ln f_{w,b}(x^n) + (1 - hat{y}^n) ln (1-f_{w,b}(x^n))] \ −lnL(w,b)=n∑​−[y^​nlnfw,b​(xn)+(1−y^​n)ln(1−fw,b​(xn))]
找到最好的函数需要找到一组 w w w和 b b b使得上式的结果最小。

计算该式对w中某个特征的微分。

− ln ⁡ L ( w , b ) ∂ w i = ∑ n − [ y ^ n ∂ ln ⁡ f w , b ( x n ) ∂ w i + ( 1 − y ^ n ) ∂ ln ⁡ ( 1 − f w , b ( x n ) ) ∂ w i ] frac{-ln L(w,b)}{partial w_i} = sum_n -[hat{y}^n frac{partial ln f_{w,b}(x^n)}{partial w_i} + (1 - hat{y}^n) frac{ partial ln (1-f_{w,b}(x^n))}{partial w_i}] ∂wi​−lnL(w,b)​=n∑​−[y^​n∂wi​∂lnfw,b​(xn)​+(1−y^​n)∂wi​∂ln(1−fw,b​(xn))​]

其中 f w , b ( x ) = σ ( z ) = 1 1 + e x p ( − z ) f_{w,b}(x) = sigma(z) =frac{1}{1 + exp(-z)} fw,b​(x)=σ(z)=1+exp(−z)1​ , z = w ⋅ x + b = ∑ i w i x i + b z = w cdot x + b = sum_i w_ix_i + b z=w⋅x+b=∑i​wi​xi​+b

一项一项来求,左项可以写成

∂ ln ⁡ f w , b ( x ) ∂ w i = ∂ ln ⁡ f w , b ( x ) ∂ z ∂ z ∂ w i frac{partial ln f_{w,b}(x)}{partial w_i} = frac{partial ln f_{w,b}(x)}{partial z} frac{partial z}{partial w_i} ∂wi​∂lnfw,b​(x)​=∂z∂lnfw,b​(x)​∂wi​∂z​

由 z z z的表达式知 ∂ z ∂ w i = x i frac{partial z}{partial w_i} = x_i ∂wi​∂z​=xi​

∂ ln ⁡ f w , b ( x ) ∂ z = ∂ ln ⁡ σ ( z ) ∂ z = 1 σ ( z ) ∂ σ ( z ) ∂ z = 1 σ ( z ) σ ( z ) ( 1 − σ ( z ) ) = ( 1 − σ ( z ) ) frac{partial ln f_{w,b}(x)}{partial z} = frac{partial ln sigma(z)}{partial z} = frac{1}{sigma(z)} frac{partial sigma(z)}{partial z} = frac{1}{sigma(z)} sigma(z)(1-sigma(z)) = (1 - sigma(z)) ∂z∂lnfw,b​(x)​=∂z∂lnσ(z)​=σ(z)1​∂z∂σ(z)​=σ(z)1​σ(z)(1−σ(z))=(1−σ(z))

其中 ∂ σ ( z ) ∂ z = σ ( z ) ( 1 − σ ( z ) ) frac{partial sigma(z)}{partial z} = sigma(z)(1-sigma(z)) ∂z∂σ(z)​=σ(z)(1−σ(z)) 证明如下:

σ ′ ( z ) = ( 1 1 + e − z ) ′ = 0 − ( − e − z ) ( 1 + e − z ) 2 = 1 + e − z − 1 ( 1 + e − z ) 2 = 1 ( 1 + e − z ) ( 1 − 1 ( 1 + e − z ) ) = σ ( z ) ( 1 − σ ( z ) ) begin{aligned} sigma'(z) &= (frac{1}{1+e^{-z}})' \ &= frac{0 - (-e^{-z})}{(1+e^{-z})^{2}} \ &= frac{1+e^{-z}-1}{(1+e^{-z})^{2}} \ &= frac{1}{(1+e^{-z})}(1-frac{1}{(1+e^{-z})}) \ &= sigma(z)(1-sigma(z))\ end{aligned} σ′(z)​=(1+e−z1​)′=(1+e−z)20−(−e−z)​=(1+e−z)21+e−z−1​=(1+e−z)1​(1−(1+e−z)1​)=σ(z)(1−σ(z))​

而右项

∂ ln ⁡ ( 1 − f w , b ( x ) ) ∂ w i = ∂ ln ⁡ ( 1 − f w , b ( x ) ) ∂ σ ( z ) ∂ z ∂ w i ∂ z ∂ w i = x i frac{ partial ln (1-f_{w,b}(x))}{partial w_i} = frac{ partial ln (1-f_{w,b}(x))}{partial sigma(z)} frac{partial z}{partial w_i} quad frac{partial z}{partial w_i} = x_i ∂wi​∂ln(1−fw,b​(x))​=∂σ(z)∂ln(1−fw,b​(x))​∂wi​∂z​∂wi​∂z​=xi​

也就是

∂ ln ⁡ ( 1 − σ ( z ) ) ∂ σ ( z ) = − 1 1 − σ ( z ) ∂ z σ ( z ) = − 1 1 − σ ( z ) σ ( z ) ( 1 − σ ( z ) ) = − σ ( z ) frac{ partial ln (1-sigma(z))}{partial sigma(z)} = - frac{1}{1- sigma(z)} frac{partial z}{sigma(z)} = - frac{1}{1- sigma(z)} sigma(z) (1-sigma(z)) = -sigma(z) ∂σ(z)∂ln(1−σ(z))​=−1−σ(z)1​σ(z)∂z​=−1−σ(z)1​σ(z)(1−σ(z))=−σ(z)

所以

− ln ⁡ L ( w , b ) ∂ w i = ∑ n − [ y ^ n ∂ ln ⁡ f w , b ( x n ) ∂ w i + ( 1 − y ^ n ) ∂ ln ⁡ ( 1 − f w , b ( x n ) ) ∂ w i ] = ∑ n − [ y ^ n ( 1 − f w , b ( x n ) ) x i n − ( 1 − y ^ n ) f w , b ( x n ) x i n ] = ∑ n − [ y ^ n − y ^ n f w , b ( x n ) − f w , b ( x n ) + y ^ n f w , b ( x n ) ] x i n = ∑ n − ( y ^ n − f w , b ( x n ) ) x i n begin{aligned} frac{-ln L(w,b)}{partial w_i} &= sum_n - [hat{y}^n frac{partial ln f_{w,b}(x^n)}{partial w_i} + (1 - hat{y}^n) frac{ partial ln (1-f_{w,b}(x^n))}{partial w_i}] \ &= sum_n -[hat{y}^n(1-f_{w,b}(x^n))x_i^n - (1 - hat{y}^n)f_{w,b}(x^n)x_i^n] \ &= sum_n -[hat{y}^n - bcancel{hat{y}^n f_{w,b}(x^n)} - f_{w,b}(x^n) + bcancel{hat{y}^nf_{w,b}(x^n)}]x_i^n \ &= sum_n -(hat{y}^n - f_{w,b}(x^n))x_i^n end{aligned} ∂wi​−lnL(w,b)​​=n∑​−[y^​n∂wi​∂lnfw,b​(xn)​+(1−y^​n)∂wi​∂ln(1−fw,b​(xn))​]=n∑​−[y^​n(1−fw,b​(xn))xin​−(1−y^​n)fw,b​(xn)xin​]=n∑​−[y^​n−y^​nfw,b​(xn) ​−fw,b​(xn)+y^​nfw,b​(xn) ​]xin​=n∑​−(y^​n−fw,b​(xn))xin​​

得到的式子很简单。如果用梯度下降算法来更新它的话,可以写成:

w i ← w i − η ∑ n − ( y ^ n − f w , b ( x n ) ) x i n w_i leftarrow w_i - eta sum_n -(hat{y}^n - f_{w,b}(x^n))x_i^n wi​←wi​−ηn∑​−(y^​n−fw,b​(xn))xin​

y ^ n − f w , b ( x n ) hat{y}^n - f_{w,b}(x^n) y^​n−fw,b​(xn)表示理想的目标与模型的输出的差距,如果差距越大,
那么更新的量应该要越大。

接下来比较下逻辑回归和线性回归更新时的式子:

在这里插入图片描述

会发现表达式是一模一样的。唯一不同的是逻辑回归的 y ^ n hat{y}^n y^​n取0或1,f是0~1之间的数值;而线性回归的 y ^ n hat{y}^n y^​n是任意实数,输出也可以是任何实数。

生成模型VS判别模型

我们上面讨论的逻辑回归是判别模型(Discriminative),用高斯分布描述的概率分布模型是生成模型(Generative)。

它们的函数集是一样的 P ( C 1 ∣ x ) = σ ( w ⋅ x + b ) P(C_1|x) = sigma(w cdot x + b) P(C1​∣x)=σ(w⋅x+b)

用逻辑回归能直接找出 w w w和 b b b;如果是生成模型,那么需要找到 μ 1 , μ 2 , Σ − 1 mu^1,mu^2,Sigma^{-1} μ1,μ2,Σ−1,进而求出 w T w^T wT和 b b b

根据同一组训练数据,同样的函数集,上面两种模型会得到不同的函数。

在这里插入图片描述

如果用上所有的特征,判别模型的准确率更好。

假设有一个非常简单的二元分类问题,每个数据都有两个特征。

在这里插入图片描述

Class1我们只有一份数据,它的两个特征都是1;Class2有12份数据,如上。

如果给一份测试数据,它的两个特征都是1:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Zwkz3lK-1575170875866)(_v_images/20191128222330408_20997.png)]

那么它属于哪个类别的概率大呢?

我们先来看下生成模型,选用朴素贝叶斯模型,朴素说的是每个特征都是独立的。
P ( x ∣ C i ) = P ( x 1 ∣ C i ) P ( x 2 ∣ C i ) P(x|C_i) = P(x_1|C_i)P(x_2|C_i) P(x∣Ci​)=P(x1​∣Ci​)P(x2​∣Ci​)

P ( C 1 ) = 1 13 P(C_1) = frac{1}{13} P(C1​)=131​ 给定类别 C 1 C_1 C1​,第一个特征是1的几率 P ( x 1 = 1 ∣ C 1 ) = 1 P(x_1 = 1|C_1) = 1 P(x1​=1∣C1​)=1,第二个特征是1的几率 P ( x 2 = 1 ∣ C 1 ) = 1 P(x_2 = 1|C_1) = 1 P(x2​=1∣C1​)=1,也是1。

P ( C 2 ) = 12 13 P(C_2) = frac{12}{13} P(C2​)=1312​ ,给定类别 C 2 C_2 C2​,第一个特征是1的几率 P ( x 1 = 1 ∣ C 1 ) = 1 3 P(x_1 = 1|C_1) = frac{1}{3} P(x1​=1∣C1​)=31​,第二个特征是1的几率 P ( x 2 = 1 ∣ C 1 ) = 1 3 P(x_2 = 1|C_1) = frac{1}{3} P(x2​=1∣C1​)=31​

接下来计算这个测试数据属于类别1的几率

P ( C 1 ∣ x ) = p ( x ∣ C 1 ) P ( C 1 ) p ( x ∣ C 1 ) P ( C 1 ) + p ( x ∣ C 2 ) P ( C 2 ) P(C_1|x) = frac{p(x|C_1)P(C_1)}{p(x|C_1)P(C_1) + p(x|C_2)P(C_2)} \ P(C1​∣x)=p(x∣C1​)P(C1​)+p(x∣C2​)P(C2​)p(x∣C1​)P(C1​)​

在这里插入图片描述

计算得 P ( C 1 ∣ x ) < 0.5 P(C_1|x) < 0.5 P(C1​∣x)<0.5 ,因此判断它属于类别2;而用逻辑回归判断它属于类别1。

多分类问题

多分类问题是指类别超过2个的分类问题。

假设有3个类别,每个类别都有两组参数,我们怎么计算某个样本属于这三个类别的几率分别是多少。
我们计算 z 1 , z 2 , z 3 z_1,z_2,z_3 z1​,z2​,z3​

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NdygqjrG-1576922710102)(_v_images/20191221151028052_18544.png)]

假设有个函数Softmax,它的输入就是 z 1 , z 2 , z 3 z_1,z_2,z_3 z1​,z2​,z3​,输出 y 1 , y 2 , y 3 y_1,y_2,y_3 y1​,y2​,y3​

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AVDZnhqb-1576922710103)(_v_images/20191221151319828_11014.png)]

假设输入是3,1,-3

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eDW3R771-1576922710103)(_v_images/20191221151455807_14751.png)]

首先取e的指数,得到20,2.7,0.05 再把这些数加起来得到22.75,输出就是根据e的指数除以这个加起来的总数。

可以把这些输出当成概率,它们的和刚好是1。 y i = P ( C i ∣ x ) y_i = P(C_i|x) yi​=P(Ci​∣x)

我们把 z 1 , z 2 , z 3 z_1,z_2,z_3 z1​,z2​,z3​经过Softmax函数后,得到 y 1 , y 2 , y 3 y_1,y_2,y_3 y1​,y2​,y3​,我们要计算这些输出和对应的target(实际类别)的交叉熵。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NygYxVu4-1576922710103)(_v_images/20191221151957297_29237.png)]

y ^ hat{y} y^​的表示如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-siQ9zDEW-1576922710104)(_v_images/20191221172401045_27026.png)]

逻辑回归的限制

逻辑回归其实有很大的限制的,以一个简单的二分类问题来举例。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0If06Xme-1576922710104)(_v_images/20191221172818211_14903.png)]

它只有两个特征,如果都是0,则属于类别2;如果 x 1 = 0 , x 2 = 1 x_1=0,x_2=1 x1​=0,x2​=1则属于类别1。

把这四个样本画到二维坐标上是下面这个样子,蓝色的点是类别2;红色的点是类别1。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-H4FXoQMF-1576922710105)(_v_images/20191221172921132_3791.png)]

假设现在用逻辑回归模型来训练 z = w 1 x 1 + w 2 x 2 + b z = w_1x_1 + w_2x_2 + b z=w1​x1​+w2​x2​+b

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KLTVyVpS-1576922710105)(_v_images/20191221173059575_23261.png)]

输入 x 1 , x 2 x_1,x_2 x1​,x2​,分别把它们乘以 w 1 , w 2 w_1,w_2 w1​,w2​加上 b b b得到 z z z,代入Sigmoid函数得到输出 y y y。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7HuYNrL2-1576922710105)(_v_images/20191221173238516_226.png)]

对红色的点来说, z z z要大于等于0,对蓝色的点来说 z z z要<0。我们做的到吗?做不到。

z z z是一条直线,因为逻辑回归能做到的事情是画一条这样的直线其中一边属于类别1,另一边属于类别2。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OKocJ8MJ-1576922710106)(_v_images/20191221173610140_31033.png)]

不管怎么画,都无法画出满足条件的直线。

那么怎么办呢,还是有办法的,可以做特征转换。把蓝色点和红点转换成一条直线的两边。

比如可以这样,重新定义特征,把原特征 x 1 x_1 x1​和 [ 0 , 0 ] T [0,0]^T [0,0]T的距离定义成新特征 x 1 ′ x^{prime}_1 x1′​,把原特征 x 2 x_2 x2​和 [ 1 , 1 ] T [1,1]^T [1,1]T的距离定义成新特征 x 2 ′ x^{prime}_2 x2′​

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vXF9znkW-1576922710106)(_v_images/20191221174257387_30253.png)]

比如原特征 [ 0 , 0 ] T [0,0]^T [0,0]T和 [ 0 , 0 ] T [0,0]^T [0,0]T的距离是0,和 [ 1 , 1 ] T [1,1]^T [1,1]T的距离是 2 sqrt{2} 2 ​,就转换成上图左上角蓝色的点。

然后就可以画一条线将红蓝点分开。

但是特征转换并不总是那么的有用,因为这需要领域知识,要知道该怎么转换。

其实特征转换可以看很多个逻辑回归模型叠加的结果。

可以把 x 1 x_1 x1​转换成 x 1 ′ x^{prime}_1 x1′​以及 x 2 x_2 x2​转换成 x 2 ′ x^{prime}_2 x2′​看成是两个逻辑回归模型的结果。

也就是说,如下图蓝色的逻辑回归,输入是 x 1 , x 2 x_1,x_2 x1​,x2​输出就是 x 1 ′ x^{prime}_1 x1′​;而绿色的逻辑回归,输入是 x 1 , x 2 x_1,x_2 x1​,x2​输出就是 x 2 ′ x^{prime}_2 x2′​。它们两个做特征转换,而红色的作用就是分类。

在这里插入图片描述

我们继续用刚才讲的例子来说明。

假设蓝色的逻辑回归的参数是-1( b b b),-2( w 1 w_1 w1​),2( w 2 w_2 w2​),就可以计算出 x 1 ′ x^{prime}_1 x1′​的值。

z = w 1 x 1 + w 2 x 2 + b z = w_1x_1 + w_2x_2 + b z=w1​x1​+w2​x2​+b

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xkyfUQbu-1576922710107)(_v_images/20191221175536726_8190.png)]

也就可以计算出四个点的 x 1 ′ x^{prime}_1 x1′​,同理可以计算出四个点的 x 2 ′ x^{prime}_2 x2′​。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GKizfYCs-1576922710107)(_v_images/20191221175704965_25266.png)]

接下来就可以根据这些 x 1 ′ , x 2 ′ x^{prime}_1,x^{prime}_2 x1′​,x2′​重新画出一个新的图形。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pxoVY3No-1576922710108)(_v_images/20191221175824828_4115.png)]

而红色的逻辑回归测试的就是 x 1 ′ , x 2 ′ x^{prime}_1,x^{prime}_2 x1′​,x2′​,也就可以画出一条直线将它们分开。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EAqO35e4-1576922710108)(_v_images/20191221175949128_3366.png)]

我们可以把逻辑回归串接起来,一部分做特征转换,最后用一个做真正的分类。

那么问题来了,如何找到这些逻辑回归模型的参数呢?

这些逻辑回归的参数可以一起学习到的,只要告诉输入和输出,就可以一次把所有的逻辑回归的参数学习出来。

我们把上面每个逻辑回归模型叫做神经元,每个神经元串接起来后叫做神经网络,这就是深度学习

最后

以上就是痴情大炮最近收集整理的关于李宏毅机器学习——逻辑回归逻辑回归步骤一:函数集步骤2: 函数有多好步骤3:找到最好的函数生成模型VS判别模型多分类问题逻辑回归的限制的全部内容,更多相关李宏毅机器学习——逻辑回归逻辑回归步骤一:函数集步骤2:内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(283)

评论列表共有 0 条评论

立即
投稿
返回
顶部