您的位置:首页 > 其它

机器学习实战——第五章:Logistic回归

2015-05-17 10:29 274 查看
本系列目的在于总结每一个分类器的特点(优点、缺点、使用数据类型、使用时的注意事项等)。相关代码自己搜。

python:建议使用2.7

python常用函数库:NumPy、scikit-learn等

python集成环境:anaconda

优点:

1、简单、易于理解

缺点:

1、容易欠拟合,效果不很好

2、要求error函数在当前点是有定义、并且可微

使用数据类型:

1、连续型(不用做离散化处理;但要做归一化)

2、离散型

使用时注意事项:

0、梯度只是方向,步长还要alpha控制,alpha控制不好,很容易造成不收敛

1、注意,我们关心的其实是error的梯度,希望让error尽快变小,所以使用梯度下降,而且方向为error的梯度(回想回归系数w的更新公式)。

2、梯度下降的改进:

基本的随机梯度下降:

来一个样本更新一次梯度

也是一种在线学习算法

改进的随机梯度下降:

alpha随迭代次数逐渐减小,但不要为零:alpha=4/(1.0 + i + j) + 0.01

随机的选择训练样本

使用随机梯度下降,一般需要多跑几遍程序,或使用交叉验证;因为样本选择是随机的,要避免偶然情况。

3、如何处理数据中的缺失值:

类别缺失,只能忽略该样本(此处只考虑有监督学习)

某些特征值缺失:

忽略该样本

用该特征的均值代替

用特殊值代替,如-1、0等

在LR中,特征缺失,我们采用0来替代,这样做有两个直觉:

不会影响系数的更新:we i g h t s = we i g h t s + alpha * e r r o r * d a t a M a t r i x [randIndex] = we i g h t s

不影响分类的结果:由于sigmoid(0) = 0.5,即它对结果的预测不具有任何倾向性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: