逻辑回归是用在分类问题中,而分类为题有存在两个比较大的方向:分类的结果用数值表是,好比1和0(逻辑回归采用的是这种),或者-1和1(svm采用的),还有一种是以几率的形式来反应,经过几率来讲明此样本要一个类的程度即几率。同时分类问题经过适用的场合能够分为:离散和连续,其中决策树分类,贝叶斯分类都是适用离散场景,可是连续场景也能够处理,只是处理起来比较麻烦,而逻辑回归就是用在连续特征空间中的,并把特征空间中的超平面的求解转化为几率进行求解,而后经过几率的形式来找给出分类信息,最后设置一个阈值来进行分类。算法
首先咱们要明白,咱们要解决的问题:给你一批数据,这一批数据特征都是连续的,而且我还知道这批数据的分类信息(x,y),x为特征,y为类别,取值为:0或者1。咱们想干什么,想经过这批数据,而后再机器学习
给一个新的数据x,这个数据只存在特征,不存在类别,咱们想给出分类的结果,是0仍是1。下面为了方便,咱们以二维空间的点为例进行说明。ide
遇到这个问题时,咱们首先作的是把数据的特征放到空间中,看有没有什么好的特色。以下,从网上取的图。函数
这些是二维空间的点,咱们想在空间中找到一个超平面,在二维空间中超平面的为一条直线f(x),当咱们带入数据时:学习
就是咱们所要求的的直线。那么找这个直线怎么找,在机器学习中,咱们要找的是一个学习模型,而后经过损失函数来进行模型参数的求解。那么对于逻辑回归,求逻辑回归的参数就是w和b,那么这个损失函数应该怎么设置。给一条数据,咱们但愿,他距离这个直线越远咱们越能够认为可以很好的进行分类,即属于这个类的可信度就越高。那么咱们就须要有一个函数来反应这个状况啊,古人也很聪明啊,使用了logistics函数:spa
并且这个函数又很是的好,f(x)来衡量数据距离超平面的距离二维中是直线,他被成为函数间隔,f(x)是有正负的,上图中,在直线上面的点发f(x)是负的,相反位于其下的点事正的。这个为何?是解析几何的最基本的一些性质了。3d
是直线,而不在这个直线上的点f(x)是带入后,实际上是不等于0的,可是有规律,则就能够经过这个规律来进行划分分类。以上面的图为讨论对象,位于上方的点是负的,为与下方的点是正的,那么当f(x)为正,愈来愈大,则说明点在直线的下方愈来愈靠下,那么他分为一个类的可能性是否是越大啊,相反,在上方的时候,f(x)是负的,愈来愈远的时候,是否是越靠近另外一个类啊。那么logistics函数不就是反应了这个现象吗?咱们类别设置成0或者1,当f(x)正向最大时为1,f(x)负向最大时为0,多好。下面给一下logistics的图像(网上盗图):orm
这个函数是否是能够反应出咱们所说的状况。其中f(x)就是咱们logistics函数的x轴的值。y能够是一个程度,h越大,则说明其分为正类1的可能性越大,h越小,则说明分为负类0可能性越大。那么在数学中可能性的度量是什么?几率啊,logistics函数的大小恰好是[0,1]之间的,多好啊。那么咱们之前的求直线问题就转化为求以下的函数:对象
把之前的问题就转化为求几率的问题
为何把y放上面,我认为这只是数学上的一种表示形式,给一个特征样本,要么属于0类的,要么属于1类的,在不知道的状况下这样表示和最后知道类别获得的几率是同样的嘛。变化后的logistics函数其中的参数也只是包含w和b,那么咱们求解超平面转化为了求解h函数,在几率问题中,求解最优化的损失函数是谁?这又涉及到另一个问题,个人数学模型已经有了,数学模型中包含一些参数,我须要进行抽样,获得这个问题的一些样本,理由这些样原本对参数进行估计,对参数估计时须要一个损失函数。几率问题最优化的损失函数通常用的是最大似然函数,也就是经过最大似然估计进行计算。这样你们又会问,最大似然估计最大化的是什么?只有知道最大化的是什么的时候,咱们才能构造出似然函数啊。刚才咱们说了进行参数估计时,咱们须要一个样本,那么最大似然函数最大化的是这个样本出现的几率最大,从而来求解参数。可能有点抽象,在样本空间中,样本空间的数据很大,咱们想获得含有n个对象的样本,这样含有n个的样本是否是有不少不少,不一样的人获得的样本数据也不同,那么在咱们已经获得了这n个样本的状况下,咱们进行参数估计,最大似然估计最大化的是咱们已经获得的样本在整个样本空间中出现的几率最大,从而来求解参数。
经过上面的讨论,咱们很容易构造出咱们的似然函数:
这就很简单了,把上面的似然函数对数化,即:
通常有数学基础的人都会知道咱们这个下面就是求导呗,如今的x和y都是已知的只有w是未知的,咱们要求的是找到w是咱们抽到这个样本的几率最大。可是有一个问题,这样无缘无故的求的w不必定是咱们这个样本中最优的啊,不是让咱们在整个样本空间中进行求导,而是咱们有一个样本,在这n个样本中找到咱们最想要那个的w,这个用什么啊,这种搜索算法最经常使用的就是梯度降低啊,沿着梯度的负方向来找咱们想要的点。
一、图中的i表示的是第i个记录,j表示的一个记录中的第j个特征份量
二、上面的推导中1→ 2为何有求和,然后又不存在了啊,这个是和梯度降低法有关系的,梯度降低法就是在当前点下找到一个梯度最大的点做为下一个可使用的,全部在1到2中,去掉了求和号
三、2→ 3的推导是根据logistics函数的性质获得的。
若是这仍是不懂,那没有办法了。