假设现在有一些数据点,我们用一条直线对这些点进行拟合,这个拟合过程称作回归。利用logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。
基于Logistic回归和Sigmoid函数的分类
我们想要的函数应该是,能接受所有的输入然后预测出类别。在两个分类的情况下,上述函数输出0或者1。我们可以选择sigmoid函数,计算公式如下:
y=1/(1+e-x)。
为了实现Logistic回归分类器,我们可以在每个特征上都乘以一个回归 系数,然后把所有的结果值相加,将这个总和代入sigmoid函数中,进而得到一个范围在0~1之间的数值。任何大于0.5的数据被分入1类,小于0.5的即被归入0类。确定了分类器的函数形式之后,现在问题变成了:最佳回归系数是多少?如何确定它们的大小?
基于最优化方法的最佳回归系数确定
梯度上升法基于的思想是:要找到某函数的最大值,最好的方法是沿着该函数的梯度方向探寻。
梯度上升算法的迭代公式如下:
w:=w+α*∂f(w)/∂w。
该公式将一直被迭代执行,直到达到某个停止条件为止,比如迭代次数达到某个指定值或算法达到某个可以允许的误差范围。
随机梯度上升
梯度上升算法在每次更新回归系数时都需要遍历整个数据集,该方法的的计算复杂度太高了。一种改进算法时一次仅使用一个样本点来更新回归系数,该方法称为随机梯度上升算法。由于可以在新样本到来时对分类器进行增量式更新,因而随机梯度上升算法是一个在线学习算法。
处理缺失值的方法:
1>使用可用特征的均值来填补缺失值
2>使用特殊值来填补缺失值,如(-1、0)(更新时不影响系数)
3>忽略有缺失值的样本
4>使用相似样本的均值添补缺失值
5>使用另外的机器学习算法去预测缺失值
原文:http://www.cnblogs.com/xiongyuesen/p/4441669.html