详解广义线性模型的来龙去脉
广义线性模型[generalize linear model]是线性模型的扩展,通过联结函数建立响应变量的数学期望值与线性组合的预测变量之间的关系。其特点是不强行改变数据的自然度量,数据可以具有非线性和非恒定方差结构。是线性模型在研究响应值的非正态分布以及非线性模型简洁直接的线性转化时的一种发展。
1.指数分布族
指数族分布是指概率密度函数(或是离散型随机变量的概率分布)具有特定形式的一类分布的集合,其概率密度函数的形式如下:
f(yi,θi,ϕ)=exp{yiθi−b(θi)a(ϕ)+h(yi,ϕ)}f(y_i,\theta_i,\phi)=\exp\left\{\cfrac{y_i\theta_i-b(\theta_i)}{a(\phi)}+h(y_i,\phi)\right\}f(yi,θi,ϕ)=exp{a(ϕ)yiθi−b(θi)+h(yi,ϕ)}
常见的指数分布族有高斯分布,伯努利分布,多项分布,泊松分布,Γ\GammaΓ分布等。分别以高斯分布和伯努利分布为例来说明这个问题。
高斯分布:
f(yi,μi,σ)=exp{−(yi−μi)22σ2−ln(2πσ)}=exp{yiμi−μi22σ2−yi22σ−ln(2πσ)}f(y_i,\mu_i,\sigma)=\exp\left\{-\cfrac{(y_i-\mu_i)^2}{2\sigma^2}-\ln(\sqrt{2\pi}\sigma)\right\}=\exp\left\{\cfrac{y_i\mu_i-\frac{\mu_i^2}{2}}{\sigma^2}-\cfrac{y_i^2}{2\sigma}-\ln(\sqrt{2\pi}\sigma)\right\}f(yi,μi,σ)=exp{−2σ2(yi−μi)2−ln(2πσ)}=exp{σ2yiμi−2μi2−2σyi2−ln(2πσ)}
可以看出,θi=μi,b(θi)=μi22,a(ϕ)=σ2,h(yi,ϕ)=−yi22σ−ln(2πσ)\theta_i=\mu_i,b(\theta_i)=\cfrac{\mu_i^2}{2},a(\phi)=\sigma^2,h(y_i,\phi)=-\cfrac{y_i^2}{2\sigma}-\ln(\sqrt{2\pi}\sigma)θi=μi,b(θi)=2μi2,a(ϕ)=σ2,h(yi,ϕ)=−2σyi2−ln(2πσ)
伯努利分布:
p(yi,πi)=πiyi(1−πi)1−yi=exp{yilnπi1−πi+ln(1−πi)}p(y_i,\pi_i)=\pi_i^{y_i}(1-\pi_i)^{1-y_i}=\exp\left\{y_i\ln\cfrac{\pi_i}{1-\pi_i}+\ln(1-\pi_i)\right\}p(yi,πi)=πiyi(1−πi)1−yi=exp{yiln1−πiπi+ln(1−πi)}
显然,θi=lnπi1−πi,b(θi)=−ln(1−πi),a(ϕ)=1,h(yi,ϕ)=0\theta_i=\ln\cfrac{\pi_i}{1-\pi_i},b(\theta_i)=-\ln(1-\pi_i),a(\phi)=1,h(y_i,\phi)=0θi=ln1−πiπi,b(θi)=−ln(1−πi),a(ϕ)=1,h(yi,ϕ)=0
指数族分布的概率密度函数在R\mathbb{R}R上的积分应当为1,根据这个性质,进一步地能推出更多普适结论,比如,对密度函数关于θ\thetaθ求导:
0=∂∂θi∫Rf(yi,θi,ϕ)dyi=∫R∂∂θif(yi,θi,ϕ)dyi=1a(ϕ)∫R(yi−db(θi)dθi)f(yi,θi,ϕ)dyi=1a(ϕ)(μi−db(θi)dθi)0=\cfrac{\partial}{\partial\theta_i}\displaystyle{ \int_{\mathbb{R}} f(y_i,\theta_i,\phi) dy_i }=\displaystyle{\int_{\mathbb{R}} \frac{\partial}{\partial\theta_i}f(y_i,\theta_i,\phi) dy_i }=\cfrac{1}{a(\phi)}\displaystyle{ \int_{\mathbb{R}} \left(y_i-\frac{db(\theta_i)}{d\theta_i}\right)f(y_i,\theta_i,\phi) dy_i }=\cfrac{1}{a(\phi)}\displaystyle{ \left(\mu_i-\frac{db(\theta_i)}{d\theta_i}\right)}0=∂θi∂∫Rf(yi,θi,ϕ)dyi=∫R∂θi∂f(yi,θi,ϕ)dyi=a(ϕ)1∫R(yi−dθidb(θi))f(yi,θi,ϕ)dyi=a(ϕ)1(μi−dθidb(θi))
得到指数分布族的期望μi=db(θi)dθi\mu_i=\cfrac{db(\theta_i)}{d\theta_i}μi=dθidb(θi);在此基础上再对θi\theta_iθi求一次导数:
0=∂2∂θi2∫Rf(yi,θi,ϕ)dyi=1[a(ϕ)]2(E(yi2)−μi2−a(ϕ)d2b(θi)dθi2)0=\cfrac{\partial^2}{\partial\theta_i^2}\displaystyle{ \int_{\mathbb{R}} f(y_i,\theta_i,\phi) dy_i }=\cfrac{1}{[a(\phi)]^2}\displaystyle{ \left(E(y_i^2)-\mu_i^2-a(\phi)\frac{d^2b(\theta_i)}{d\theta_i^2}\right)}0=∂θi2∂2∫Rf(yi,θi,ϕ)dyi=[a(ϕ)]21(E(yi2)−μi2−a(ϕ)dθi2d2b(θi))
即E(yi2)=μi2+a(ϕ)d2b(θi)dθi2E(y_i^2)=\mu_i^2+a(\phi)\cfrac{d^2b(\theta_i)}{d\theta_i^2}E(yi2)=μi2+a(ϕ)dθi2d2b(θi),再由方差公式知 var(yi)=a(ϕ)d2b(θi)dθi2=a(ϕ)dμidθi\text{var}(y_i)=a(\phi)\cfrac{d^2b(\theta_i)}{d\theta_i^2}=a(\phi)\cfrac{d\mu_i}{d\theta_i}var(yi)=a(ϕ)dθi2d2b(θi)=a(ϕ)dθidμi
整理一下上面所做的工作:通过推导,我们得到了指数分布族期望与方差的计算公式
μi=db(θi)dθi\mu_i=\cfrac{db(\theta_i)}{d\theta_i}μi=dθidb(θi)
var(yi)=a(ϕ)d2b(θi)dθi2=a(ϕ)dμidθi\text{var}(y_i)=a(\phi)\cfrac{d^2b(\theta_i)}{d\theta_i^2}=a(\phi)\cfrac{d\mu_i}{d\theta_i}var(yi)=a(ϕ)dθi2d2b(θi)=a(ϕ)dθidμi
这两个公式作为指数分布族的重要性质将会在下文用到,至于指数分布族的其他一些性质,比如充分性和完备性,由于超出本文范畴,此处不再介绍。
2.广义线性模型
普通线性模型具有的模型形式为:yi=xiTβ+εiy_i=\pmb{x}_i^T\pmb{\beta}+\varepsilon_iyi=xxxiTβββ+εi;建立普通线性模型是基于常数方差,独立性和高斯假设前提;如果误差项不满足常数方差和独立性假设,那么我们已经有一些以广义最小二乘法(GLS)为代表的解决方案;但是,如果数据不满足常数方差及高斯分布的假设呢?比如,如果响应变量yi∈{0,1}y_i\in\left\{0,1\right\}yi∈{0,1},这是一个只含二值的问题,我们建立模型:yi=E(yi∣xi,β)+εiy_i=E(y_i|\pmb{x}_i,\pmb{\beta})+\varepsilon_iyi=E(yi∣xxxi,βββ)+εi则误差项显然是离散型随机变量,而且它的方差随期望的变化而变化,当然,我们仍然可以用线性模型来拟合数据,然后用GLS学习参数取值,不过由于真实数据不再具有线性结构,所以由GLS强行用线性函数拟合得到的估计量不再是BLUE估计量,另一方面,这样得到的模型鲁棒性不够的,容易受新样本的影响,而且预测时,由线性模型计算出的预测值可能远远大于1或者小于0.
考虑到线性模型在解决非线性结构数据时存在的这些问题,可以利用一个连接函数g(⋅)g(\cdot)g(⋅),然后建立模型yi=g(xiTβ)+εiy_i=g(\pmb{x}_i^T\pmb{\beta})+\varepsilon_iyi=g(xxxiTβββ)+εi,比如对于上文提到的二值问题,可以取g(x)=sigmoid(x)g(x)=\text{sigmoid}(x)g(x)=sigmoid(x).指数分布族为这类广义线性模型(GLM)中连接函数的寻找提供了一个一般的思路。
为了说明这个问题,先以最简单的普通线性模型为例。当响应变量服从高斯分布时,我们假设响应变量的期望是回归变量的线性函数,即μi=xiTβ\mu_i=\pmb{x}_i^T\pmb{\beta}μi=xxxiTβββ,将高斯分布的密度函数化成指数族的形式后可以看到θi=μi\theta_i=\mu_iθi=μi,即θi=xiTβ\theta_i=\pmb{x}_i^T\pmb{\beta}θi=xxxiTβββ,将这一假设拓展到广义线性模型中也是可行的,因为在文章的第一部分已经推导出:μi=db(θi)dθi\mu_i=\cfrac{db(\theta_i)}{d\theta_i}μi=dθidb(θi),这说明μi\mu_iμi的取值由θi\theta_iθi唯一确定而与尺度化参数ϕ\phiϕ无关,于是,可以取连接函数g(θi)=db(θi)dθig(\theta_i)=\cfrac{db(\theta_i)}{d\theta_i}g(θi)=dθidb(θi),根据线性假设有μi=g(xiTβ)\mu_i=g(\pmb{x}_i^T\pmb{\beta})μi=g(xxxiTβββ),所以我们可以建立模型yi=g(xiTβ)+εiy_i=g(\pmb{x}_i^T\pmb{\beta})+\varepsilon_iyi=g(xxxiTβββ)+εi.
以上文中提到的二值问题为例,我们来建立它的广义线性模型。对于二值问题最常用的假设就是认为它服从伯努利分布,根据第一部分对伯努利分布指数族形式的推导有θi=lnπi1−πi\theta_i=\ln\cfrac{\pi_i}{1-\pi_i}θi=ln1−πiπi,由于伯努利分布的期望等于取1的概率,所以θi=lnμi1−μi\theta_i=\ln\cfrac{\mu_i}{1-\mu_i}θi=ln1−μiμi,再由θi=xiTβ\theta_i=\pmb{x}_i^T\pmb{\beta}θi=xxxiTβββ,得μi=11+exp(−xiTβ)\mu_i=\cfrac{1}{1+\exp(-\pmb{x}_i^T\pmb{\beta})}μi=1+exp(−xxxiTβββ)1,所以合适模型可以为yi=11+exp(−xiTβ)+εiy_i=\cfrac{1}{1+\exp(-\pmb{x}_i^T\pmb{\beta})}+\varepsilon_iyi=1+exp(−xxxiTβββ)1+εi,这就得到了经典的logstic回归模型。
相信读者通过以上过程已经清楚了应该如何建立一个广义线性模型,模型建立之后,接下来的问题就是参数的学习了,广义线性模型用到负对数似然损失函数学习参数的最大似然估计量(MLE),使用牛顿—拉普森算法进行数值求解,可以推导出GLM参数估计的迭代加权最小二乘(IRLS)算法。
3.迭代加权最小二乘(IRLS)算法
对数似然函数
lnL(β)=1a(ϕ)∑i(yiθi−b(θi))+∑ih(yi,ϕ)\ln L(\pmb{\beta})=\displaystyle{\frac{1}{a(\phi)}\sum_i\left(y_i\theta_i-b(\theta_i)\right)+\sum_ih(y_i,\phi)}lnL(βββ)=a(ϕ)1i∑(yiθi−b(θi))+i∑h(yi,ϕ)
令对数似然函数关于β\pmb{\beta}βββ的导数等于0
∂lnL(β)∂β=∑i∂lnL(β)∂θi∂θi∂β=1a(ϕ)∑i(yi−μi)xi=0\cfrac{\partial\ln L(\pmb{\beta})}{\partial \pmb{\beta}}=\displaystyle{\sum_i\frac{\partial\ln L(\pmb{\beta})}{\partial\theta_i}\frac{\partial \theta_i}{\partial \pmb{\beta}}=\frac{1}{a(\phi)}\sum_i\left(y_i-\mu_i\right)\pmb{x}_i=\pmb{0}}∂βββ∂lnL(βββ)=i∑∂θi∂lnL(βββ)∂βββ∂θi=a(ϕ)1i∑(yi−μi)xxxi=000
可以将方程写成矩阵的形式
XT(y−μ)=0\pmb{X}^T(\pmb{y}-\pmb{\mu})=\pmb{0}XXXT(yyy−μμμ)=000
这个方程称为得分方程,如果是线性模型,即μ=Xβ\pmb{\mu}=\pmb{X\beta}μμμ=XβXβXβ,这时得分方程等价于正规方程,于是很容易对这个方程求解。但是对一般的广义线性模型,得分方程关于参数β\pmb{\beta}βββ是一个非线性方程组,因此只能用近似逼近的方法求解。
为了求解得分方程,我们希望用一个线性表达式来代替它的非线性部分,可以取ηi\eta_iηi满足:
yi−μi=dμidθi(ηi−θi)y_i-\mu_i =\cfrac{d\mu_i}{d\theta_i}(\eta_i-\theta_i)yi−μi=dθidμi(ηi−θi)
根据第一部分的推导
dμidθi=var(yi)a(ϕ)\cfrac{d\mu_i}{d\theta_i}=\cfrac{\text{var}(y_i)}{a(\phi)}dθidμi=a(ϕ)var(yi)
于是得分方程可化为
∑ivar(yi)a(ϕ)(ηi−θi)xi=0\displaystyle{\sum_i\cfrac{\text{var}(y_i)}{a(\phi)}\left(\eta_i-\theta_i\right)\pmb{x}_i=\pmb{0}}i∑a(ϕ)var(yi)(ηi−θi)xxxi=000
令V=1a(ϕ)diag(var(y1),⋯ ,var(yn))\pmb{V}=\cfrac{1}{a(\phi)}diag(\text{var}(y_1),\cdots,\text{var}(y_n))VVV=a(ϕ)1diag(var(y1),⋯,var(yn)),则
XTV(η−Xβ)=0\pmb{X}^T\pmb{V}(\pmb{\eta}-\pmb{X\beta})=\pmb{0}XXXTVVV(ηηη−XβXβXβ)=000
很明显β^=(XTVX)−1XTVη\widehat{\pmb{\beta}}=(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T\pmb{V}\pmb{\eta}βββ=(XXXTVXVXVX)−1XXXTVVVηηη. all right…看上去似乎已经估计出参数取值了,不过好像又有点不太对劲。仔细检查发现我们并不知道V\pmb{V}VVV和η\pmb{\eta}ηηη,注意到ηi=θi+dθidμi(yi−μi)\eta_i=\theta_i+\cfrac{d\theta_i}{d\mu_i}(y_i-\mu_i)ηi=θi+dμidθi(yi−μi),要求V\pmb{V}VVV和η\pmb{\eta}ηηη,就必须得知道参数β\pmb{\beta}βββ的取值,这听起来令人沮丧,不过好在有迭代法这一神器,不管收不收敛,试一试总不会有问题。事实证明,只要初值选取合适,在本问题上使用迭代法是可行的。说了这么多废话,现将算法描述如下:
输入:样本(x1,y1),⋯ ,(xn,yn)(\pmb{x}_1,y_1),\cdots,(\pmb{x}_n,y_n)(xxx1,y1),⋯,(xxxn,yn)
输出:参数估计β^\widehat{\pmb{\beta}}βββ
1.初始化:β^←β0\widehat{\pmb{\beta}}\leftarrow\pmb{\beta}_0βββ←βββ0;
2.for i in 1:n,计算:
θ^i←xiTβ^\widehat{\theta}_i\leftarrow\pmb{x_i}^T\widehat{\pmb{\beta}}θi←xixixiTβββ,
μ^i←g(θ^i)\widehat{\mu}_i\leftarrow g(\widehat{\theta}_i)μi←g(θi),
Vii←varyi∣θ^i(yi)a(ϕ)V_{ii}\leftarrow\cfrac{\text{var}_{y_i|\widehat{\theta}_i}(y_i)}{a(\phi)}Vii←a(ϕ)varyi∣θi(yi);
3.计算:η←θ^+V−1(y−μ^)\pmb{\eta}\leftarrow\widehat{\pmb{\theta}}+\pmb{V}^{-1}(\pmb{y}-\widehat{\pmb{\mu}})ηηη←θθθ+VVV−1(yyy−μμμ);
4.更新:β^←(XTVX)−1XTVη\widehat{\pmb{\beta}}\leftarrow(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T\pmb{V}\pmb{\eta}βββ←(XXXTVXVXVX)−1XXXTVVVηηη;
5.重复2到5步,直至算法收敛.
4.IRLS为什么有效?
不少读者读到这里可能会产生一个疑惑,那就是在推导IRLS算法过程中一个关键步骤yi−μi=dμidθi(ηi−θi)y_i-\mu_i =\cfrac{d\mu_i}{d\theta_i}(\eta_i-\theta_i)yi−μi=dθidμi(ηi−θi)似乎显得有些天马行空,ηi−θi\eta_i-\theta_iηi−θi是关于β\pmb{\beta}βββ的线性函数通过变换后可以“解出”β\pmb{\beta}βββ,这点挺好理解,但是为什么前面的系数是dμidθi\cfrac{d\mu_i}{d\theta_i}dθidμi而不是其他,要知道这个系数直接关系到权重矩阵V\pmb{V}VVV,取不同的系数参数的估计结果就会有不同的值。直观上看,这个表达式形式上类似于连接函数在θi\theta_iθi处的一阶泰勒展开,但是g(ηi)g(\eta_i)g(ηi)一般是不等于yiy_iyi的,否则的话我们就可以认为这一步是利用泰勒公式取的一个线性近似。实际上IRLS可以看做由牛顿-拉普森算法推导出来的。
下面我们利用牛顿-拉普森算法来求解得分方程,具体的过程就不写了(网上一搜一堆介绍牛顿算法的,也可以参考我之前的博文),直接写出算法的更新步骤:
β^←β^+(XTVX)−1XT(y−μ^)\widehat{\pmb{\beta}}\leftarrow\widehat{\pmb{\beta}}+(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T(\pmb{y}-\widehat{\pmb{\mu}})βββ←βββ+(XXXTVXVXVX)−1XXXT(yyy−μμμ)
在IRLS中将η←θ^+V−1(y−μ^)\pmb{\eta}\leftarrow\widehat{\pmb{\theta}}+\pmb{V}^{-1}(\pmb{y}-\widehat{\pmb{\mu}})ηηη←θθθ+VVV−1(yyy−μμμ)代入到更新步骤β^←(XTVX)−1XTVη\widehat{\pmb{\beta}}\leftarrow(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T\pmb{V}\pmb{\eta}βββ←(XXXTVXVXVX)−1XXXTVVVηηη中,利用θ^=Xβ^\widehat{\pmb{\theta}}=\pmb{X}\widehat{\pmb{\beta}}θθθ=XXXβββ同样可以得到
β^←β^+(XTVX)−1XT(y−μ^)\widehat{\pmb{\beta}}\leftarrow\widehat{\pmb{\beta}}+(\pmb{X}^T\pmb{VX})^{-1}\pmb{X}^T(\pmb{y}-\widehat{\pmb{\mu}})βββ←βββ+(XXXTVXVXVX)−1XXXT(yyy−μμμ)
这就说明了IRLS算法和Newton-Raphson算法是等价的。
5.IRLS算法与GLS算法
记W=diag(var(η1),⋯ ,var(ηn))\pmb{W}=diag(\text{var}(\eta_1),\cdots,\text{var}(\eta_n))WWW=diag(var(η1),⋯,var(ηn)),根据ηi\eta_iηi的定义
var(ηi)=var[a(ϕ)var(yi)(yi−μi)]=a(ϕ)2var(yi)\text{var}(\eta_i)=\text{var}\left[\cfrac{a(\phi)}{\text{var}(y_i)}(y_i-\mu_i)\right]=\cfrac{a(\phi)^2}{\text{var}(y_i)}var(ηi)=var[var(yi)a(ϕ)(yi−μi)]=var(yi)a(ϕ)2
故V=a(ϕ)W−1\pmb{V}=a(\phi)\pmb{W}^{-1}VVV=a(ϕ)WWW−1
β^IRLS=(XTW−1X)−1XTW−1η\widehat{\pmb{\beta}}_{IRLS}=(\pmb{X}^T\pmb{W}^{-1}\pmb{X})^{-1}\pmb{X}^T\pmb{W}^{-1}\pmb{\eta}βββIRLS=(XXXTWWW−1XXX)−1XXXTWWW−1ηηη
如果直接对广义线性模型的线性部分用广义最小二乘法学习参数结果会是怎样呢?
记θi∗=g−1(yi)\theta_i^*=g^{-1}(y_i)θi∗=g−1(yi),则(x1,θ1∗),⋯ ,(xn,θn∗)(\pmb{x}_1,\theta_1^*),\cdots,(\pmb{x}_n,\theta_n^*)(xxx1,θ1∗),⋯,(xxxn,θn∗)可以看成线性模型θ=xTβ+ε\theta=\pmb{x}^T\pmb{\beta}+\varepsilonθ=xxxTβββ+ε的nnn个观测,利用GLS算法估计β\pmb{\beta}βββ,记U=diag(var(θ1∗),⋯ ,var(θn∗))\pmb{U}=diag(\text{var}(\theta_1^*),\cdots,\text{var}(\theta_n^*))UUU=diag(var(θ1∗),⋯,var(θn∗)),则:
β^GLS=(XTU−1X)−1XTU−1θ∗\widehat{\pmb{\beta}}_{GLS}=(\pmb{X}^T\pmb{U}^{-1}\pmb{X})^{-1}\pmb{X}^T\pmb{U}^{-1}\pmb{\theta^*}βββGLS=(XXXTUUU−1XXX)−1XXXTUUU−1θ∗θ∗θ∗
将g−1(yi)g^{-1}(y_i)g−1(yi)在μi\mu_iμi处一阶泰勒展开有
θi∗≈θi+∂θi∂μi(yi−μi)=ηi\theta_i^*\approx\theta_i+\cfrac{\partial\theta_i}{\partial\mu_i}(y_i-\mu_i)=\eta_iθi∗≈θi+∂μi∂θi(yi−μi)=ηi
故β^IRLS≈β^GLS\widehat{\pmb{\beta}}_{IRLS}\approx\widehat{\pmb{\beta}}_{GLS}βββIRLS≈βββGLS,即IRLS与GLS是渐进等价的。
6.后记
GLM的好处在于建立模型时结合了响应变量的原始分布信息,其响应变量的分布必须是指数族分布,它是当响应变量不满足正态分布和方差不变假设时,区别于GLS的另一种变量变换方法,当然,这种方法也不是万能的,面对具体问题时,GLM只是提供了一种建模思路,而模型是否适用还得做进一步检验,很多情况下,GLM对数据拟合效果不佳,这时候应该尝试使用其他模型。
详解广义线性模型的来龙去脉相关推荐
- 【摄像头与成像】长文详解RAW图的来龙去脉
本文承接上一篇<数字成像系统概述>,将继续延伸数字成像系统的相关概念,但在延伸之前需要详细了解作为整个系统输入的Raw图. 作者 | Tony 编辑 | 言有三 本篇文章主要详细阐述Raw ...
- 【Android 性能优化】—— 详解内存优化的来龙去脉
本文以独家授权于任玉刚公众号玉刚说,详情请见-https://mp.weixin.qq.com/s/XILFalxJsbGJjx-ZOEDi7g Android 高手核心知识点笔记(不断更新中
- 机器学习(五)线性模型详解
线性模型 线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,既可以用于分类 也可以用于回归.从数学角度讲,回归就是用超平面做拟合,分类就是用超平面做分割. 谈及线性模 ...
- 图像仿射变换原理1:齐次坐标来龙去脉详解
☞ ░ 老猿Python博文目录:https://blog.csdn.net/LaoYuanPython ░ 仿射变换博文传送门(带星号的为付费专栏文章): *图像仿射变换原理1:齐次坐标来龙去脉详解 ...
- 广义典型相关分析_重复测量数据分析及结果详解(之二)——广义估计方程
上一篇文章主要介绍了重复测量方差分析的基本思想是什么.它能做什么.怎么做.结果怎么解释,这几个问题.最后同时指出重复测量方差分析还是有一定局限,起码不够灵活.所以本文在上一篇文章基础上继续介绍医学重复 ...
- [Python从零到壹] 十一.数据分析之Numpy、Pandas、Matplotlib和Sklearn入门知识万字详解(1)
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 三因素方差分析_详解方差分析表(ANOVA)(一) —— 线性回归与矩阵代数.回顾
导读:在初学回归分析时,方差分析表(ANOVA)往往由线性回归引入.方差分析表在线性模型的显著性检验.模型选择方面有重要的应用,因此理解其各个表项的含义,以及这些表项值从何而来,对于我们能正确应用AN ...
- python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析
#2018-04-06 13:52:30 April Friday the 14 week, the 096 day SZ SSMR python数据挖掘课程]二十一.朴素贝叶斯分类器详解及中文文本舆 ...
- 2.2w字长文详解推荐系统之数据与特征工程,码起来慢慢看
作者丨gongyouliu 编辑丨lily 来源 | 大数据与人工智能(ID:ai-big-data) [导读]推荐系统是机器学习的一个子领域,并且是一个偏工程化.在工业界有极大商业价值的方向.大量应 ...
最新文章
- 微软资深算法工程师为AI初学者量身打造的机器学习入门书上市啦!
- 二分图行列匹配--- hdu2119,hdu1498
- 风控策略分析中最重要的五步心法
- HDU1215 七夕节【水题】
- 用大前端技术实现的一款仿Boss直聘app(已开源)
- sourceMap到底是个啥玩意?
- idea时间重置插件
- CLion配置STM32(保姆级教程)
- word文档中怎么输入公式符号
- 周博通 | 阿里开源首个 DL 框架、4000台服务器真实数据集;明年1月开源Blink
- 土法炼钢:怎么实现一个简单的B+Tree In-Disk
- 关于小程序移动端调用微信API及腾讯地图实例,获取当前位置、逆地址解析、路线规划、地图展示
- 计算机网络 中 网络层
- 镜像站(整理各个镜像站资源)
- Java核心技术(Java白皮书)卷Ⅰ 第一章 Java程序设计概述
- 基于spring boot的奖助学金评审系统毕业设计源码031035
- [转帖]粤语语系分类
- yolo v4 weights 权重
- IP地址和子网掩码换算
- CF中dns服务器简单配置