Logistic回归算法

类别

类别:分类算法

学习方法

学习方法:有监督学习

数学知识

1、Logistic回归的数学表达式
2、Logistic回归的损失函数

数据集

·AiStudio:https://aistudio.baidu.com/aistudio/datasetdetail/110593
·sklearn库:load_iris()

代码

dataMat : 数据列表
labelMat : 标签列表

def sigmoid(inX):
	return 1.0 / (1 + np.exp(-inX))

def gradAscent(dataMatIn, classLabels):
	dataMatrix = np.mat(dataMatIn)
	labelMat = np.mat(classLabels).transpose()
	m, n = np.shape(dataMatrix)
	alpha = 0.001
	maxCycles = 500
	weights = np.ones((n, 1))
	for k in range(maxCycles):
		h = sigmoid(dataMatrix * weights)
		dY = labelMat - h
		weights = weights + alpha * dataMatrix.transpose() * dY
	return weights.getA()

详细内容

步骤

1、给X增加权重w(初始默权重为1),得到H(x)
2、将H(x)传递给sigmoid函数,得到预测的结果y’
3、将y’与训练集的标签值比较,得到误差dY
4、通过损失函数调整权重w的值
5、反复训练以到达误差dY最小

Logistic回归的数学表达式

在这里插入图片描述
通过阈值Logistic(x) = 0.5来分类
对应代码:

def sigmoid(intX):
	return 1.0 /(1 + np.exp(-inX))

其中的inX为添加权重的的自变量,即预测的y值,得到的结果为通过simoid函数预测到的结果。

Logistic回归的损失函数

在这里插入图片描述
当预测值H(x)为1,实际标签值y为1,则L(x)为0,权重weight无序改变
当预测值H(x)为1,实际标签值y为0,则L(x)为+∞,权重weight需要减小, K= -1,
当预测值H(x)为0,实际标签值y为1,则L(x)为+∞,权重weight需要增加, k = 1
当预测值H(x)为0,实际标签值y为0,则L(x)为0,权重weight无序改变

优化

梯度下降算法
学习率:alpha
当weight需要增加, weight = weight + alphax
当weight需要减小,weight = weight - alpha
x

笔记内容为作者学习总结,欢迎大家交流探讨,如有侵权,联系作者。
更多内容请关注公众号:玖柒壹点点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值