谈谈分类算法的选择

       在我们运用机器学习解决实际问题时,我们可能用得最多的套路就是找特征,选模型,扔进去训练。比如当我们面对{0,1}分类问题时,我们可能很自然的就想到了逻辑回归来解决,这个看似自然的做法背后又有什么秘密呢?为什么我们要选择逻辑回归呢?很多文章中都用到的关于房屋价格的回归问题时,我们可能也会很快就想到最小二乘法,同样,这又是怎么得来的呢?其实对为类问题,只要随便在网上一搜,都可以找到很多答案,比如类似的说明逻辑回归的例子,大致意思都是由于我们需要最终的产生0~1之间的值,而线性回归显然是无法满足要求的,因此引入Logistic方程,将最终结果归一化到0~1区间,即逻辑回归就是一个被Logistic方程归一化后的线性回归而已。但是,我们这里不打算以这种类似的方式来解释逻辑回归,而是从我们遇到问题的本身来阐述,从我们面对问题的本身的分布情况来最终得到应该采用逻辑回归来解决这个问题是最好的。在说明原因的同时,同样的方法,我们也可以用在其它类似的机器学习中的算法的选择问题上。

       为了后面描述方便,我们首先简单回顾一下指数分布簇的函数形式,

          alt

千万别被这个公式吓跑了,其实在这里,我们并不会去深究指数分布簇各个参数的意义,暂且只需要知道有这回事就ok了。因为我们介绍它只是为了引出广义线性模型的定义,因为我们前面所提到的逻辑回归等,属于广义线性模型中的一个特例。所以,通过广线性模型来最终引出为什么我们在解决这类问题时选择这两个模型,并且得出类似问题的解决方法,应该是比较合理的。广义线性模型(GLM)定义为需要满足如下三个条件:

  • alt满足指数分布簇的分布;

  • 给定x, 我们的目标是想得到alt

  • alt

      好了,现在我们可以正式介绍当我们面对一个{0,1}分类问题时,我们是怎么知道最终采用逻辑回归模型来解决。我们知道,当y属于{0,1}最为自然的分布就是伯努利分布,因此,有alt。下面有几步推导,相信只要有一点数学功底的都能够看得懂。

         alt

       有人会问了,我们推导出这个式子有什么作用呢?别急,作用可大了。细心的同学会发现,其实最后的等式就是一个指数分布簇的形式。伯努利分布就是一个指数分布簇的特例。这里,

          alt

仔细观察,alt是以alt为自变量的函数,稍作变形可以得到:alt

       回到我们一开始对广义线性模型的定义,我们已经证明了伯努利分布满足了广义线性模型的第一条性质。对第二条性质,给定了x和theta,我们想要得到alt,显然,对伯努利分布,这个期望值就是等于以theta为参数,给定x条件下y=1的概率(因为y=0的期望项为0)。因此,

           alt

这就是我们的逻辑回归!我们通过一系列的还不算复杂的推导,从观察到的最简单直接的0,1事件,得到了逻辑回归。当然后序就可以通过极大似然等方法,得到我们的训练迭代规则了。
        为了更进一步说明这个方法,我们再举个例子,假如我们面临的问题可能不是伯努利分布,而是一个泊松分布,比如某一服务设施在一定时间内受到的服务请求的次数,电话交换机接到的呼叫的次数,汽车站台的候客人数,机器出现的故障数,自然灾害发生的次数,DNA序列的变异数,放射性原子核的衰变数等,即:alt,类似的,我们有:

            alt

其中,alt。对泊松分布而言,其期望就是alt,因此,alt

        同样的算法,我们可以应用在更加复杂的问题上,比如满足多项分布的多类的分类问题,如邮件分类问题,我们需要将邮件分为到各种目录下;预测病人生何种病的问题等等,都可以类似得到相应的学习模型。

        我们再回到房屋价格预测这个问题上,我们一般都会看到对此类问题利用最小二乘法做如下建模alt,并且最小化它,通过梯度下降法或牛顿法都可以求得最终的迭代解。我们这里就会看到这样看似理所应当的理论背后的一些秘密。

       一般,对房屋价格预测中,有各种各样的因素都会决定房屋的价格,比如卖家的情绪、买家的情绪、季节等等,我们对这些不可预知的因素都会假定是独立的,我们假定最终房屋价格满足高斯分布alt,即:alt,因此,我们有:

            alt

同上面一样,高斯分布也是一个指数分布簇的特例,其中:

            alt

因此,alt,这就是我们对房屋价格所建立的模型,当然,别忘了加上随机满足高斯分布的不可预知的因素alt,即:alt。利用极大似然:alt得到:

 

           alt

因此,最大化似然函数就相当于最小化alt,这就是我们的最小二乘了。

       好了,到了这里,我想有必要总结一下,当我们遇到一个问题时,假如需要预测的问题又恰好只能取两个值时,我们需要做出的唯一决策就是使用伯努利分布,同理,我们也可以假定y属于不同的分布,比如高斯分布、伽玛分布,泊松分布,多项式分布等,遵从相似的算法,就可以得到不同的机器学习模型了。最后我们只需要处理训练集合了,利用最大似然,梯度下降(上升),牛顿等,得到我们的参数迭代公式。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值