广义线性模型即 GLM(generalized linear model)
假设1:y|x;θ ~ ExpFamily(η)
ExpFamily 为指数分布族, η 为自然参数。
即假设y|x;θ属于某指数分布族
这意味着我们可以选取一些函数a、b、T,使得y在给定的x以θ为参数下的条件概率分布属于指数分布族,并且以θ为参数。其中θ可能以某种方式依赖于x,例如可以将指数分布族ExpFamily(η)指定为泊松分布。
假设2:给定x,目标是让输出为E[T(y)|x]
换句话说,希望学习算法h(x)的假设输出为E[T(y)|x],即h(x)=E[T(y)|x]
T(y)为充分统计量。
假设3:η=θ^T*X (η为实数)
θ^T代表θ的转置,
这代表了η与输入特征之间的关系是线性的,其中他们的关系是由θ决定的。
如果η是一个向量而非实数则写成η_i=θ_i^T*x
PS:η_i代表了下标为i的η
例1:伯努利分布
y∈{0,1},即预测的值只有两种可能。
y|x;θ ~ ExpFamily(η)
η 为自然参数。
对于任意给定的x和θ,学习算法h_θ(x)会进行一次预测输出E[y|x;θ],即h_θ(x)=E[y|x;θ],其中y只能取0或1,因此h_θ(x)=E[y|x;θ]=P(y=1|x;θ)=Φ=1/(1+e^(-η))=1/(1+e^(-θ^T*X))。
Φ为伯努利分布的参数,代表了伯努利分布下随机变量取值为1的概率。
从而得到logistic回归算法。
PS:若以高斯分布去推导则可得到最小二乘模型
例2:多项式分布
y∈{1,……,k},即预测的值有k种可能
参数为θ_1,θ_2,θ_3……θ_k,且P(y=i)=Φ_i,ΣP(y=i)=1
且有Φ_k=1-(Φ_1+Φ_2+Φ_3+……+Φ_k-1)
将多项式的参数设为Φ_1,Φ_2,Φ_3,……,Φ_k-1,即不将θ_k视为参数而是视为1-(Φ_1+Φ_2+Φ_3+……+Φ_k-1)的简略式,所以只定义了k-1个参数用来对多项式分布参数化。
PS:多项式分布是少数的一些不将T(y)视为y的
T(1)=[1,0,……0]^T,T(2)=[0,1,0,……0]^T,……,T(k-1)=[0,0,……1],这些都是k-1维向量
T(k)=[0,0,……0]^T是一个0向量
定义T(y)是为了将多项式分布写成指数分布族的形式。
T(y)_i表示向量T(y)中的第i个元素,T(y)_i=I{y=i},I{y=i}为指示函数
∴P(y)=Φ_1^I{y=1}*Φ_2^I{y=2}*Φ_3^I{y=3}*……*Φ_k^I{y=k}
=Φ_1^T(y)_1*Φ_2^T(y)_2*Φ_3^T(y)_3*……*Φ_k-1^T(y)_k-1*Φ_k^(1-ΣT(y)_j)
……
=b(y)exp(η^T*T(y)-a(η))
其中:
η=[log(Φ_1/Φ_k),log(Φ_2/Φ_k),log(Φ_3/Φ_k),……,log(Φ_k-1/Φ_k)]^T
a(η)=-log(Φ)
b(y)=1
且Φ_i=e^η_i/(1+Σe^η_i) i=1,2,3,4……k-1
η是输入变量x的线性函数,η_i=θ_i^T*x,因此Φ_i=e^(θ_i^T*x)/(1+Σe^(θ_j^T*x))
∴h_θ(x)=E[T(y)|x;θ]
=E[[I{y=1},I{y=2},I{y=3},I{y=4},……,I{y=k-1}]^T|x;θ]
=[Φ_1,Φ_2,Φ_3,Φ_4,……,Φ_k-1]
=[e^(θ_1^T*x)/(1+Σe^(θ_j^T*x)),e^(θ_2^T*x)/(1+Σe^(θ_j^T*x)),……,e^(θ_k-1^T*x)/(1+Σe^(θ_j^T*x))]
因此学习算法会输出从y=1,y=2一直到y=k-1的概率
最后通过极大似然估计找到参数θ
因此得到softmax回归,通常被认为是logistic回归的推广
此时有一个变量(目标变量 )y,y只能取两个值,则可以选择伯努利分布对齐建模
这样做的优势在于,当有一个新的机器学习问题并且尝试预测一个变量y(y恰好只能取两种值)的值,对于给定x和θ,所需要做的唯一决策便是假设y服从伯努利分布,之后便按照上述流程自动进行。