0x00 前言 大家好我是机器小蕉。上一次我们说完了线性回归。学习虾扯不知道小伙伴有没有什么意见建议,回归是机器不是发现每个字都看得懂,但是学习虾扯全篇都不知道在说啥?哈哈哈哈哈哈,那就对了。回归 这次我们来聊聊,机器有小伙伴说,学习虾扯那我如果我么想把结果分为两拨,回归就这样的机器,咋办?学习虾扯 大蕉大笔一挥。啊这不是回归分好了吗? 我敢说,现在百分之很多十(目测七八十)说自己在做人工智能的机器,都只是学习虾扯用Logistic回归在做分析。 “就你事多。回归我不会分。” “想学啊你?我教你啊。” 0x01 Logistic是啥玩意 想法大概是这样。把数据映射到Logistic函数上边,大于0.5我们就认为是类别y1 = 0,小于0.5我们认为是类别y2 = 1。 这个函数长啥样?就长下面这样。云服务器 所以我们在这种情况下,观察到各个样本的概率长下面这样。 所以比值比ODD 长这样 对数比值比刚刚好 你说神不神奇!!当然我们不仅仅只有一个参数是吧?所以对原始数据变成 其中θ是一个N维的向量,跟每一个样本X的维度保持一致这样。 所以LR的映射函数做一下线性变换就变成这样了。 到这里,我们已经知道Logistic回归是什么鸟了,其实就是把数据映射到Logistic函数上,根据概率来进行分类。 0x02 极大似然估计 那我们要怎么得到损失函数loss呢?不要急跟大蕉一步一步来。 上面我们已经看到了每个样本的概率。现在说一下极大似然估计是什么东西。极大似然估计,就是我们装作这些个参数啊,我们老早就知道了,然后借此来估计现在这些样本被观察到的概率。你脑子wata啦?既然这些样本都已经发现了,所以实际概率肯定是***啊!!概率要越大越好越大越好,而又只是一个估计值,服务器租用所以我们就叫它极大似然估计啦。 所以我们观察到样本的概率是 怎么容易一点去理解这行蜈蚣一样的公式呢?把Y的值0跟1代进去就行了,你就懂了,Y等于0的时候就是(1 - p ),y等于1时就是 p。就是这么简单。 下面是重点。敲黑板,划重点!!!我就是卡在这里想了很多天,完全不知道损失函数怎么来的! 因为所有样本都是相互独立的,所以他们的联合概率分布是他们的概率乘积。 yi是每个样本的实际Y值。我们这里要求***值嘛,那要变成损失函数咋变?我们知道这个值永远是 ( 0 , 1)的云南idc服务商,所以直接加个负号,本来求***就变成求最小了。 当然我们习惯这样加,看起来比较高端,m是样本的个数 无所谓,原理一样的。 乘法是很消耗资源的,我们可以把它转换成对数,这样所有的乘法都变成加法啦!!而且而且函数的性质不变。所以最终的损失函数长这样。 下面开始我们用Andrew NG大大的方式变换一下好了,仅仅是为了后面比较好算而已。 跟上面没什么本质的差别,只是把Y的值域变成-1跟1了。下面就是普通的公式变换。 0x03 损失函数咋来的 进行log变换,幂乘变成乘法。 把p代进去,也就是把把负号放到P里边了。变成直接取倒数。就得到下面这个 观察一下,就可以看出来。自己代进去就知道啦。 当yi = -1 时,l(θ) = ∑ ln(1 + exp ( g(xi)) 所以最终的损失函数长这样。 好了,到这里我们的推导就结束了,接下来就按照梯度下降算法去求最小值就好啦。 0x04 怎么用呢 然后我们就可以用最终得到的参数进行预测,大于0就当成类别Y1 ,即Y = 1,小于0当成类别Y1,即Y = -1。当然,这只能用于二分类。 那这玩意有什么用呢?应用场景比比皆是。 用户点击还是不点击?客户是欺诈还是没欺诈?客户逾期还是不逾期?这个产品是推荐还是不推荐? 传说中的人工智能预测高端引擎就出来了,小伙伴自己试试看把。 0x05 结束语 今天就酱,掰~跪在地上求不掉粉。 【本文为专栏作者“大蕉”的原创稿件,转载请通过作者微信公众号“一名叫大蕉的程序员”获取授权】 戳这里,看该作者更多好文