[入门]对LR logistic regression 和linear regression的一些理解

NG课上是从linear regression到logistic regression的。   它们同属于广义线性模型。 logistic regression可以看做是先将输入映射到了(0,1)空间。从直观上看这种平滑是概率的需要。 sigmoid函数的推导则需要指数分布族和广义线性模型的知识。 从这一角度看,这两种算法都可以从概率分布出发去推导,而一开始讲linear regression时给出的“均方误差”【最小二乘法】的损失函数看起来是直观而且符合数学推导要求.

      从而    logistic regression对应了分类问题(离散情况)[所以需要一个sigmoid函数将其映射到连续函数域上去]的伯努利分布,即独立重复试验且只有发生与不发生的情况【这是二分类的情况,如果要推导softmax的多分类算法,则需要从Multinomial——多项式分布出发去进行推导】

                  linear regression 对应了回归问题(连续情况) 的Gaussian 高斯分布 


      广义线性模型从概率分布到机器学习算法的推导恰好是使用了极大似然估计的思想。事实上,概率模型的训练过程就是参数估计(parameter estimation)过程。【见周志华书p149】

      我们先假设某种确定的概率分布式,再基于训练样本对概率分布的参数进行估计。

      对于参数估计,统计学派又分为两派持有不同观点[详情自行搜索]。我们在数理统计中所用的源自频率主义学派的极大似然估计(Maximum Likelihood Estimation)。


      它的直观想法就是,我们根据N次实验得到了N组样本,假设这些样本是独立同分布的,则我们可以得到参数cita 对于N次实验得到的数据集的似然

                       P(cita)  =     

       也就是说我们要找到一个cita使得上述概率最大也就是满足这组数据出现的可能性最大。

       在数学处理方法上,因为连乘,所以经常取Log换成连加的形式便于处理,也就是我们常说的极大似然估计的对数形式了。



        回到Logistic regression的算法中来。跟很多书里的推导一样,因为我们假设的模型是sigmoid函数,目标是确认其线性部分的参数。可以得到p(y=1

|x)和p(y=0|x)【因为伯努利分布只有这两个取值】, 根据上述极大似然的思想,我们直接得到了对数形式,目标是对它进行最大化即可,化简可转换成对损失函数求极小值。这便转化成了常规问题,该函数会是关于参数的高阶可导连续凸函数,根据凸优化理论,我们使用经典的数值优化算法如梯度下降法和牛顿法等都能求得其最优解。

       上述便完成了logistic regression算法的过程,其中只用到了极大似然估计的思想和给出的sigmoid函数。


       而对于sigmoid函数为什么是这样?为什么要直接用这样的一个函数?直观的我们可以看做是一个平滑[数学性质很好,便于求导等]且将整个区间映射到【0,1】的函数(同类型的函数,据说在神经网络中也有应用到类似arctanx的函数),它实际上在满足参数形式仍为线性的情况下,做了从输入空间到输出空间的非线性函数映射【广义线性】。如果还是想不明白, 其推导过程则需要引入指数分布族和广义线性模型的概念。这里不作详述,大致思想是假设伯努利分布满足一个参数【这个参数就是要求的sigmoid函数】,我们根据指数分布族和广义线性模型的定义将这个参数求出就可以挂靠到我们的输入与模型参数上,从而就可以得到sigmoid函数的形式。

  

       对Gaussian分布使用同样的方法,可以推出假设 [入门]对LR logistic regression 和linear regression的一些理解_第1张图片【Gaussian分布的期望是u 。模型就是这个分布的期望】

      


       

     

      

你可能感兴趣的:(机器学习)