机器学习算法系列(九)-多分类对数几率回归算法(Multinomial Logistic Regression)(1)

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
img

正文

e

W

K

T

x

]

h(x)=\left[\begin{array}{c} P(y=1 \mid x, W) \ P(y=2 \mid x, W) \ \cdots \ P(y=K \mid x, W) \end{array}\right]=\frac{1}{\sum_{i=1}^{K} e{W_{i}{T} x}}\left[\begin{array}{c} e{W_{1}{T} x} \ e{W_{2}{T} x} \ \cdots \ e{W_{K}{T} x} \end{array}\right]

h(x)=⎣⎢⎢⎡​P(y=1∣x,W)P(y=2∣x,W)⋯P(y=K∣x,W)​⎦⎥⎥⎤​=∑i=1K​eWiT​x1​⎣⎢⎢⎡​eW1T​xeW2T​x⋯eWKT​x​⎦⎥⎥⎤​

由于多分类对数几率回归使用了 Softmax 函数,所以该回归算法有时也被称为 Softmax 回归(Softmax Regression)

多分类对数几率回归的代价函数
  与二分类对数几率回归的代价函数一样,也是使用最大似然函数的对数形式,首先写出其似然函数:

L

(

W

)

=

i

=

1

N

j

=

1

K

(

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

)

1

j

(

y

i

)

L(W)=\prod_{i=1}^{N} \prod_{j=1}{K}\left(\frac{e{W j^{T} X_{i}}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}\right)^{1_{j}\left(y_{i}\right)}

L(W)=i=1∏N​j=1∏K​(∑k=1K​eWkT​Xi​eWjTXi​​)1j​(yi​)

其中指数部分为指示函数(indicator function),代表当第 i 个 y 的值等于分类j时函数返回 1,不等于时返回 0,如下所示:

1

A

(

x

)

=

{

1

x

A

0

x

A

1_A(x) = \left{\begin{matrix} 1 & x \in A\ 0 & x \notin A \end{matrix}\right.

1A​(x)={10​x∈Ax∈/​A​

然后对似然函数取对数后加个负号,就是多分类对数几率回归的代价函数了,我们的目标依然是最小化该代价函数:

Cost

(

W

)

=

i

=

1

N

j

=

1

K

1

j

(

y

i

)

ln

(

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

)

\operatorname{Cost}(W)=-\sum_{i=1}^{N} \sum_{j=1}^{K} 1_{j}\left(y_{i}\right) \ln \left(\frac{e^{W j^{T} X_{i}}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}\right)

Cost(W)=−i=1∑N​j=1∑K​1j​(yi​)ln(∑k=1K​eWkT​Xi​eWjTXi​​)

该代价函数也是凸函数,依然可以使用梯度下降法进行最小化的优化。

三、原理证明

多分类对数几率回归的代价函数为凸函数
  同前面的证明一样,只需证明当函数的黑塞矩阵是半正定的,则该函数就为凸函数。
(1)代价函数对 W 求梯度,推导时需要注意下标
(2)可以将代价函数中的第二个连加操作拆成两个式子,前面一个为连加中的第 j 个式子,后面为连加项但不包括第 j 项,这时的下标用 l 表示
(3)将除法的对数写成对数的减法
(4)第一个连加操作对求梯度不影响,直接写到最外层。指示函数对求梯度也没有影响,利用求导公式分别对后面几项求梯度
(5)整理后可以看到后面两项又可以合成同一个连加
(6)由于 y 的取值必然会在 1 - K 中,指示函数的从 1 - K 连加必然等于 1

Cost

(

W

)

W

j

=

W

j

(

i

=

1

N

j

=

1

K

1

j

(

y

i

)

ln

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

)

(

1

)

=

W

j

(

i

=

1

N

(

1

j

(

y

i

)

ln

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

l

j

K

1

l

(

y

i

)

ln

e

W

l

T

X

i

k

=

1

K

e

W

k

T

X

i

)

)

(

2

)

=

W

j

(

i

=

1

N

(

1

j

(

y

i

)

(

W

j

T

X

i

ln

k

=

1

K

e

W

k

T

X

i

)

l

j

K

1

l

(

y

i

)

(

W

l

T

X

i

ln

k

=

1

K

e

W

k

T

X

i

)

)

)

(

3

)

=

i

=

1

N

(

1

j

(

y

j

)

(

X

i

e

W

j

T

X

i

X

i

k

=

1

K

e

W

k

T

X

i

)

l

j

K

1

l

(

y

i

)

(

0

e

W

j

T

X

i

X

i

k

=

1

K

e

W

k

T

X

i

)

)

(

4

)

=

i

=

1

N

(

X

i

(

1

j

(

y

i

)

j

=

1

K

1

j

(

y

i

)

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

)

)

(

5

)

=

i

=

1

N

(

X

i

(

1

j

(

y

i

)

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

)

)

(

6

)

\begin{aligned} \frac{\partial \operatorname{Cost}(W)}{\partial W_{j}} &=\frac{\partial}{\partial W_{j}}\left(-\sum_{i=1}^{N} \sum_{j=1}^{K} 1_{j}\left(y_{i}\right) \ln \frac{e{W_{j}{T} X_{i}}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}\right) & (1) \ &=\frac{\partial}{\partial W_{j}}\left(-\sum_{i=1}^{N}\left(1_{j}\left(y_{i}\right) \ln \frac{e{W_{j}{T} X_{i}}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}+\sum_{l \neq j}^{K} 1_{l}\left(y_{i}\right) \ln \frac{e{W_{l}{T} X_{i}}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}\right)\right) & (2) \ &=\frac{\partial}{\partial W_{j}}\left(-\sum_{i=1}{N}\left(1_{j}\left(y_{i}\right)\left(W_{j}{T} X_{i}-\ln \sum_{k=1}^{K} e{W_{k}{T} X_{i}}\right)+\sum_{l \neq j}^{K} 1_{l}\left(y_{i}\right)\left(W_{l}^{T} X_{i}-\ln \sum_{k=1}^{K} e{W_{k}{T} X_{i}}\right)\right)\right) & (3) \ &=-\sum_{i=1}{N}\left(1_{j}\left(y_{j}\right)\left(X_{i}-\frac{e{W_{j}^{T} X_{i}} X_{i}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}\right)+\sum_{l \neq j}^{K} 1_{l}\left(y_{i}\right)\left(0-\frac{e{W_{j}{T} X_{i}} X_{i}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}\right)\right) & (4) \ &=-\sum_{i=1}{N}\left(X_{i}\left(1_{j}\left(y_{i}\right)-\sum_{j=1}{K} 1_{j}\left(y_{i}\right) \frac{e{W_{j}{T} X_{i}}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}\right)\right) & (5) \ &=-\sum_{i=1}{N}\left(X_{i}\left(1_{j}\left(y_{i}\right)-\frac{e{W_{j}^{T} X_{i}}}{\sum_{k=1}^{K} e{W_{k}{T} X_{i}}}\right)\right) & (6) \end{aligned}

∂Wj​∂Cost(W)​​=∂Wj​∂​(−i=1∑N​j=1∑K​1j​(yi​)ln∑k=1K​eWkT​Xi​eWjT​Xi​​)=∂Wj​∂​⎝⎛​−i=1∑N​⎝⎛​1j​(yi​)ln∑k=1K​eWkT​Xi​eWjT​Xi​​+l​=j∑K​1l​(yi​)ln∑k=1K​eWkT​Xi​eWlT​Xi​​⎠⎞​⎠⎞​=∂Wj​∂​⎝⎛​−i=1∑N​⎝⎛​1j​(yi​)(WjT​Xi​−lnk=1∑K​eWkT​Xi​)+l​=j∑K​1l​(yi​)(WlT​Xi​−lnk=1∑K​eWkT​Xi​)⎠⎞​⎠⎞​=−i=1∑N​⎝⎛​1j​(yj​)(Xi​−∑k=1K​eWkT​Xi​eWjT​Xi​Xi​​)+l​=j∑K​1l​(yi​)(0−∑k=1K​eWkT​Xi​eWjT​Xi​Xi​​)⎠⎞​=−i=1∑N​(Xi​(1j​(yi​)−j=1∑K​1j​(yi​)∑k=1K​eWkT​Xi​eWjT​Xi​​))=−i=1∑N​(Xi​(1j​(yi​)−∑k=1K​eWkT​Xi​eWjT​Xi​​))​(1)(2)(3)(4)(5)(6)​

(1)代价函数对 W 求黑塞矩阵
(2)第一项对 W 来说为常数,只需对第二项求导
(3)利用求导公式求出对应的导数
(4)整理结果,分子为连加中去掉第 j 项

2

Cost

(

W

)

W

j

W

j

T

=

W

j

(

i

=

1

N

(

X

i

(

1

j

(

y

i

)

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

)

)

)

(

1

)

=

i

=

1

N

W

j

(

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

X

i

)

(

2

)

=

i

=

1

N

k

=

1

K

e

W

k

T

X

i

e

W

j

T

X

i

X

i

e

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

​(−i=1∑N​j=1∑K​1j​(yi​)ln∑k=1K​eWkT​Xi​eWjT​Xi​​)=∂Wj​∂​⎝⎛​−i=1∑N​⎝⎛​1j​(yi​)ln∑k=1K​eWkT​Xi​eWjT​Xi​​+l​=j∑K​1l​(yi​)ln∑k=1K​eWkT​Xi​eWlT​Xi​​⎠⎞​⎠⎞​=∂Wj​∂​⎝⎛​−i=1∑N​⎝⎛​1j​(yi​)(WjT​Xi​−lnk=1∑K​eWkT​Xi​)+l​=j∑K​1l​(yi​)(WlT​Xi​−lnk=1∑K​eWkT​Xi​)⎠⎞​⎠⎞​=−i=1∑N​⎝⎛​1j​(yj​)(Xi​−∑k=1K​eWkT​Xi​eWjT​Xi​Xi​​)+l​=j∑K​1l​(yi​)(0−∑k=1K​eWkT​Xi​eWjT​Xi​Xi​​)⎠⎞​=−i=1∑N​(Xi​(1j​(yi​)−j=1∑K​1j​(yi​)∑k=1K​eWkT​Xi​eWjT​Xi​​))=−i=1∑N​(Xi​(1j​(yi​)−∑k=1K​eWkT​Xi​eWjT​Xi​​))​(1)(2)(3)(4)(5)(6)​

(1)代价函数对 W 求黑塞矩阵
(2)第一项对 W 来说为常数,只需对第二项求导
(3)利用求导公式求出对应的导数
(4)整理结果,分子为连加中去掉第 j 项

2

Cost

(

W

)

W

j

W

j

T

=

W

j

(

i

=

1

N

(

X

i

(

1

j

(

y

i

)

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

)

)

)

(

1

)

=

i

=

1

N

W

j

(

e

W

j

T

X

i

k

=

1

K

e

W

k

T

X

i

X

i

)

(

2

)

=

i

=

1

N

k

=

1

K

e

W

k

T

X

i

e

W

j

T

X

i

X

i

e

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
[外链图片转存中…(img-cKrU2PpB-1713411998236)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值