赞
踩
机器学习解决的问题,大体上就是两种:数值预测和分类。前者一般采用的是回归模型,比如最常用的线性回归;后者的方法则五花八门,决策树,kNN,支持向量机,朴素贝叶斯等等模型都是用来解决分类问题的。其实,两种问题从本质上讲是一样的:都是通过对已有数据的学习,构建模型,然后对未知的数据进行预测,若是连续的数值预测就是回归问题,若是离散的类标号预测,就是分类问题。
这里面有一类比较特殊的算法,就是逻辑回归(logistic regression)。它叫“回归”,可见基本思路还是回归的那一套,同时,逻辑回归又是标准的解决分类问题的模型。换句话说,逻辑回归是用与回归类似的思路解决了分类问题。
现在有n个数据元组{X1,X2,…,Xn},每个数据元组对应了一个类标号yi,同时每个数据元组Xi有m个属性{xi1,xi2,…,xim}。假设现在面临的是一个简单的二分类问题,类标号有0,1两种。如果用简单的回归方法对已知数据进行曲线拟合的话,我们会得到如下的曲线方程(曲线拟合的方法后面会说到):
注:并不是说逻辑回归只能解决二分类问题,但是用到多分类时,算法并没有发生变化,只是用的次数更多了而已。
实际上,逻辑回归分类的办法与SVM是一致的,都是在空间中找到曲线,将数据点按相对曲线的位置,分成上下两类。也就是说,对于任意测试元组X∗,f(X∗)可以根据其正负性而得到类标号。那换句话说,直接依靠拟合曲线的函数值是不能得到类标号的,还需要一种理想的“阶跃函数”,将函数值按照正负性分别映射为0,1类标号。这样的阶跃函数ϕ(z)如下表示:
然而,直接这样设计阶跃函数不方便后面的优化计算,因为函数值不连续,无法进行一些相关求导。所以,逻辑回归中,大家选了一个统一的函数,也就是Sigmoid函数,如公式(1)所示:
Sigmoid函数的图像如下图所示,当
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。