资源描述
逻辑(逻辑(logisticlogistic)回归)回归目录一、算法原理二、数学推导三、Python代码实现四、案例:预测患有疝病的马的死亡率逻辑回归算法在实际过程中主要用于解决二分类问题,它跟Adaline线性自适应算法很类似,主要是将线性函数的结果映射到sigmoid函数中,找到分类超平面逻辑回归算法原理我们知道,线性回归的公式如下:其中,被称作sigmoid函数,我们可以看到,LogisticRegression算法是将线性函数的结果映射到了sigmoid函数中。二分类问题可以看成伯努利分布,因此对于输入x分类结果为类别1和类别0的概率分别为:数学推导极大似然估计利用概率论中极大似然估计的方法去求解损失函数,首先得到概率函数:因为样本数据(m个)独立,所以它们的联合分布可以表示为各边际分布的乘积,取似然函数为:取对数似然函数:最大似然估计就是要求得使l()取最大值时的,这里可以使用梯度上升法求解。我们稍微变换一下:使损失函数最小梯度下降法求J()的最小值求J()的最小值可以使用梯度下降法,根据梯度下降法可得的更新过程:学习步长,下面来求偏导:因此,方程式可以写成:对应机器学习实战中,约定训练数据的矩阵形式如下,x的每一行为一条训练样本,而每一列为不同的特称取值:Python代码实现读取数据梯度上升法画出决策边界共迭代500次,学习效率为0.001,代码实现分类效果还不错算法优化在每次迭代中随机选择样本来更新权重,并且随迭代次数增加,权重变化越小,并且迭代次数设置为150,远低于500案例:预测患有疝病的马的死亡率疝病是描述马胃肠痛的术语,该数据集中包含了医院检查马疝病的一些指标,我们的目标是通过这些指标(特征),来预测马是否会死亡。数据集包括299个训练样本和67各测试样本,特征数量为21。数据集中包含缺失值,采取的措施是用0替换所有缺失值。使用Logistic回归方法进行分类并不需要做很多工作,所需要做的只是把测试集上每个特征向量乘以最优化方法得来的回归系数,再将该乘积结果求和,最后输入到Sigmoid函数即可。训练数据:从上面的结果可以看出,10次迭代之后的平均错误率为35%左右。事实上,这个结果并不差,因为有30%的数据缺失。运行结果:Thank you
展开阅读全文