学习笔记——机器学习–多项式分布及Softmax回归模型推导[通俗易懂]

学习笔记——机器学习–多项式分布及Softmax回归模型推导[通俗易懂]在一个多分类问题,预测变量yyy可以取kkk个离散值中的任何一个,即y∈{1,2,⋯,k}y∈{1,2,⋯,k}y\in\{1,2,\cdots,k\}。例如:在一个邮件分类系统将邮件分为私人邮件,工作邮件和垃圾邮件。由于yyy仍然是一个离散值,这种多分类问题,二分类模型在这里不太适用。多分类问题符合多项分布。有许多算法可用于解决多分类问题,像决策树、朴素贝叶斯等。本文主要讲解多分类算…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

  在一个多分类问题,预测变量 y  y 可以取
k 

k
个离散值中的任何一个,即 y{
1,2,,k}
 
y ∈ { 1 , 2 , ⋯ , k }

例如:在一个邮件分类系统将邮件分为私人邮件,工作邮件和垃圾邮件。由于 y  y 仍然是一个离散值,这种多分类问题,二分类模型在这里不太适用。

  多分类问题符合多项分布。有许多算法可用于解决多分类问题,像决策树、朴素贝叶斯等。本文主要讲解多分类算法中的Softmax回归(Softmax Regression)

推导思路为:首先证明多项分布属于指数分布族,这样就可以使用广义线性模型来拟合这个多项分布,由广义线性模型推导出的目标函数
h θ (x) 

h θ ( x )
即为Softmax回归的分类模型。

多项式分布属于指数分布族的推导

  下面将根据多项式分布建模。考虑样本共有 k  k 类,每一类的概率分别为
ϕ 1 ,,ϕ k  

ϕ 1 , , ϕ k
,由于  i=1 k ϕ i =1  ∑ i = 1 k ϕ i = 1 ,所以通常我们只需要 k1  k − 1 个参数即 ϕ 1 ,,ϕ k1   ϕ 1 , ⋯ , ϕ k − 1
 P(y=i;ϕ)=ϕ i   P(y=k;ϕ)=1 i=1 k1 ϕ i   (397)  (397) P ( y = i ; ϕ ) = ϕ i   P ( y = k ; ϕ ) = 1 − ∑ i = 1 k − 1 ϕ i  
为了推导方便,引入表达式:
T(1)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ 1000 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ , T(2)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ 0100 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ , , T(k1)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ 0001 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ,  T(k)=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ 0000 ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥   T ( 1 ) = [ 1 0 0 ⋮ 0 ] ,   T ( 2 ) = [ 0 1 0 ⋮ 0 ] ,   ⋯ ,   T ( k − 1 ) = [ 0 0 0 ⋮ 1 ] ,     T ( k ) = [ 0 0 0 ⋮ 0 ]

  上面 T(y)  T ( y ) k1  k − 1 维列向量,其中 y=1, 2, , k  y = 1 ,   2 ,   ⋯ ,   k T(y) i   T ( y ) i 表示向量 T(y)  T ( y ) 的第 i  i 个元素。

  还要引入表达式
1{} 

1 { }
,如果大括号里面为真,则真个表达式就为1,否则为0。

1{
 ture}=1  ;  1{
 false }=0
 
1 {   t u r e } = 1     ;     1 {   f a l s e   } = 0



例如:1{2=3} = 0和1{3=3} = 1.

则上面的

k  k
个向量就可以表示为:



T(y) i =1{ y=i } 

T ( y ) i = 1 {   y = i   }



因为

y  y
只能属于某一个类别,于是


T(y) 

T ( y )

中只能有一个元素为1其他元素都为0,可以求出

k1  k − 1
个元素的期望:


E[T(y) i ]= y=1 k T(y) i ϕ i = y=1 k 1(y=i)ϕ i =ϕ i   E [ T ( y ) i ] = ∑ y = 1 k T ( y ) i ϕ i = ∑ y = 1 k 1 ( y = i ) ϕ i = ϕ i



即:


E[T(y) i ]=P(y=i)=ϕ i   E [ T ( y ) i ] = P ( y = i ) = ϕ i



多项式分布表达式转为指数分布族表达式推导过程如下:


 P(y;ϕ)=ϕ 1{
y=1}
 
1 
ϕ 1{
y=2}
 
2 
ϕ 1{
y=k}
 
k 
           =ϕ T(y) 1  1 ϕ T(y) 2  2 ϕ T(y) k1  k1 ϕ T(y) k  k            =ϕ T(y) 1  1 ϕ T(y) 2  2 ϕ T(y) k1  k1 ϕ 1 i=1 k1 T(y) i  k            =exp(T(y) 1 logϕ 1 ++(1 i=1 k1 T(y) i )logϕ k )           =exp(T(y) 1 logϕ 1 ϕ k  +T(y) 2 logϕ 2 ϕ k  ++T(y) k1 logϕ k1 ϕ k  +logϕ k )            =b(y)exp(η T T(y)a(η))
 
(398)(399)(400)(401)(402)(403)
 
(398) P ( y ; ϕ ) = ϕ 1 1 { y = 1 } ϕ 2 1 { y = 2 } ⋯ ϕ k 1 { y = k } (399)                       = ϕ 1 T ( y ) 1 ϕ 2 T ( y ) 2 ⋯ ϕ k − 1 T ( y ) k − 1 ⋅ ϕ k T ( y ) k (400)                       = ϕ 1 T ( y ) 1 ϕ 2 T ( y ) 2 ⋯ ϕ k − 1 T ( y ) k − 1 ⋅ ϕ k 1 − ∑ i = 1 k − 1 T ( y ) i (401)                       = exp ⁡ ( T ( y ) 1 log ⁡ ϕ 1 + ⋯ + ( 1 − ∑ i = 1 k − 1 T ( y ) i ) log ⁡ ϕ k ) (402)                       = exp ⁡ ( T ( y ) 1 log ⁡ ϕ 1 ϕ k + T ( y ) 2 log ⁡ ϕ 2 ϕ k + ⋯ + T ( y ) k − 1 log ⁡ ϕ k − 1 ϕ k + log ⁡ ϕ k ) (403)                         = b ( y ) exp ⁡ ( η T T ( y ) − a ( η ) )



其中


η=⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ logϕ 1 ϕ k  logϕ 2 ϕ k  logϕ k1 ϕ k   ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ R k1 ,  a(η)=log(ϕ k ),  b(y)=1  η = [ log ⁡ ϕ 1 ϕ k log ⁡ ϕ 2 ϕ k ⋮ log ⁡ ϕ k − 1 ϕ k ] ∈ R k − 1 ,     a ( η ) = − log ⁡ ( ϕ k ) ,     b ( y ) = 1



  多项分布可以表示为指数分布的格式,所以它属于指数分布族,那么就可以用广义线性模型来拟合这个多项式分布模型。

Softmax函数(Softmax Function)

  在使用广义线性模型拟合这个多项式分布模型之前,需要先推导一个函数,这个函数在广义线性模型的目标函数中会用到。这个函数称为Softmax函数(Softmax Function)。
η  η 表达式可得:

η i =logϕ i ϕ k    η i = log ⁡ ϕ i ϕ k



这是

η i   η i
关于

ϕ i   ϕ i
的表达式,把它转化为

ϕ i   ϕ i
关于

η i   η i
的表达式过程为:


e η i  =ϕ i ϕ k      ϕ k e η i  =ϕ i    ϕ k  i=1 k e η i  =  i=1 k ϕ i =1  e η i = ϕ i ϕ k     ⇒     ϕ k e η i = ϕ i     ⇒   ϕ k ∑ i = 1 k e η i =   ∑ i = 1 k ϕ i = 1



所以


ϕ k =1 i=1 k e η i     ϕ k = 1 ∑ i = 1 k e η i



代入上面式子,所以


ϕ i =e η i   j=1 k e η j     ϕ i = e η i ∑ j = 1 k e η j



此函数称为
Softmax函数(Softmax Function)

使用广义线性构建模型

  根据广义线性模型的假设3:

η i =θ T i x  (i=1, ,k1)  η i = θ i T x     ( i = 1 ,   … , k − 1 )



由假设2可得


 h θ (x)=E[T(y)|x;θ]=E⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ 1{
y=1}
1{
y=2}
1{
y=k1}
 
 
|x;θ 
⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ 
          =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ϕ 1 ϕ 2 ϕ k1  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥  =⎡ ⎣ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ exp(θ T 1 x) j=1 k exp(θ T j x) exp(θ T 2 x) j=1 k exp(θ T j x) exp(θ T k1 x) j=1 k exp(θ T j x)  ⎤ ⎦ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ 
 
(480)(481)
 
(480) h θ ( x ) = E [ T ( y ) | x ; θ ] = E [ 1 { y = 1 } 1 { y = 2 } ⋮ 1 { y = k − 1 } | x ; θ ] (481)                     = [ ϕ 1 ϕ 2 ⋮ ϕ k − 1 ]   = [ exp ⁡ ( θ 1 T x ) ∑ j = 1 k exp ⁡ ( θ j T x ) exp ⁡ ( θ 2 T x ) ∑ j = 1 k exp ⁡ ( θ j T x ) ⋮ exp ⁡ ( θ k − 1 T x ) ∑ j = 1 k exp ⁡ ( θ j T x ) ]



就是输出了

x{
1,2,,k1}
 
x ∈ { 1 , 2 , ⋯ , k − 1 }

中每一类的概率,当然属于第

k  k
类的概率就是:


1 i=1 k1 ϕ i  

1 i = 1 k 1 ϕ i

.

  下面开始拟合参数,同样使用最大化参数θ的对数似然函数:


 l(θ)= i=1 m logP(y (i) ∣ ∣ x (i) ;θ)       = i=1 m log l=1 k e θ T l x (i)   j=1 k e θ T j x (i)    (482)(483)  (482) l ( θ ) = ∑ i = 1 m log ⁡ P ( y ( i ) | x ( i ) ; θ ) (483)               = ∑ i = 1 m log ⁡ ∏ l = 1 k e θ l T x ( i ) ∑ j = 1 k e θ j T x ( i )



接下来使用梯度下降和牛顿法均可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182893.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • k8s安装使用_setup error怎么解决

    k8s安装使用_setup error怎么解决安装GPG秘钥:curlhttps://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg|sudoapt-keyadd-错误消失

    2022年10月10日
    0
  • http请求415,报错Unsupported Media Type

    http请求415,报错Unsupported Media Type背景:做一个项目的接口对接,用Getman\postman等接口调试工具都是可以的。用程序运行就报415.原因:根据接口所传参数的不同,post请求的Content-type有四种:application/x-www-form-urlencoded(默认)application/xmlapplication/jsonmultipart/form-data我所对接的接口所传的…

    2022年5月1日
    104
  • 阿里云ECS Ubuntu16.0 安装 uwsgi 失败解决方案

    阿里云ECS Ubuntu16.0 安装 uwsgi 失败解决方案

    2021年11月21日
    106
  • MySQL连接查询

    MySQL连接查询首先创建两个表fruits表,包含水果id、名字、价格orders表,包含id和订单号(num)1.内连接查询(INNORJOIN)使用普通sql语句selectfruits.id,name,price,numfromfruits,orderswherefruits.id=orders.id;使用内连接查询语句(结果与上图相同)s…

    2022年4月30日
    33
  • 计算机管理照相机感叹号,电脑设备管理器摄像头驱动出现黄色感叹号是怎么回事儿 – 驱动管家…[通俗易懂]

    计算机管理照相机感叹号,电脑设备管理器摄像头驱动出现黄色感叹号是怎么回事儿 – 驱动管家…[通俗易懂]设备管理器摄像头驱动显示黄叹号安装驱动过程提示注册表损坏,出现这种情况的原因是注册表文件出现问题,解决方法如下故障现象:设备管理器摄像头驱动显示黄叹号安装驱动过程提示注册表损坏。原因分析:注册表文件出现问题。解决方案:1.点击“开始”—所有程序—打开运行;2.输入regedit(“regedit.exe”是Windows系统的注册表编辑器,是RegistryEditor的缩写。W…

    2022年8月12日
    3
  • updog:一款局域网传输文件的软件

    updog:一款局域网传输文件的软件前言不知道你是否有过这样的需求,在局域网传输文件,苦于没有好的软件支持,或者只能单向传输,updog可以完全解决这种问题安装pip3installupdogupdog是python中的一个第三方库使用updog这里注意updog要在可以读写的路径下面运行,否则访问会出错,或者启动就会报错如果你不想切换到路径去运行,也可以使用-d去指定一个可读写的目录optiona…

    2022年5月29日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号