机器学习-逻辑回归

一、什么是逻辑回归

1、逻辑回归(英语:Logistic regression 或logit regression),即逻辑模型(英语:Logit model
,也译作“评定模型”、“分类评定模型”)
2、常用于做数据的初步判断,(推荐算法,医疗诊断等)
3、是通过线性模型完成分类效果(线性可分)
逻辑回归实际解决的是分类问题!

二、Sigmoid函数

 

解释:将任意的输入映射到[0,1]区间我们在线性回归中得到一个预测值,再将该值映射到sigmoid函数中就完成了一个值到概率的转化,也就是分类任务。

 其中z=W^{T}X

实际上g(z)并不是预测结果,而是预测结果为正例的概率,一般来说阈值为0.5,也就是当g(z)>0.5,我们就说他是正例,g(z)<0.5就是负例,但在实际应用中也可能不同。比如我们预测一个人是否患有新型冠状病毒,我们这时如果只设置阈值为0.5,那么一个人患有新冠的概率为0.45,我们的模型也会认为他没有新冠,所以这时我们不妨把阈值设置的小一些如0.1,如果概率大于0.1你就要去做检查隔离,这样可以减少误差防止漏放病人。

上述可知:

P(y=0|w,x) = 1 – g(z)        #预测为负例

P(y=1|w,x) =  g(z)             #预测为正例

 那么我们可以得到函数表达式:

 P(正确) =(g(w,xi))^{y^{i}} * (1-g(w,xi))^{1-y^{i}}          y^{i}为某一条样本的预测值,取值为0或者1.

三、极大似然估计

 公式:g(z) = \frac{1}{1 + e^{w^{T}x}} 

因此我们要去寻找一个w的值使得g(z)正确的概率最大,而我们在上面的推理过程中已经得到每个单条样本预测正确概率的公式:

  P(正确) =(g(w,xi))^{y^{i}} * (1-g(w,xi))^{1-y^{i}} 

若想让预测出的结果全部正确的概率最大,根据最大似然估计,也就是所有样本预测正确的概率相乘得到的P(总体正确)最大,似然函数如下:

 我么对其取对数可得:

        得到的这个函数越大,证明我们得到的W就越好.此时为梯度上升求最大值,引入j(θ)=(-1/m)L(θ)转化为梯度下降任务,得到公式如下:

 这就是其代价函数,也称交叉熵函数。

 四、求解W

我们对代价函数求导可得:

 然后采用梯度下降来更新w:

五、代码解释

1、创建数据并进行切割

# data数据   4,3    x1, x2, y
data = np.array([
    [1, 1, 0],
    [1, 2, 0],
    [0, 0, 1],
    [-1, 0, 1]
])
#数据集切分,  前两列特征,最后一列作为标签
x = data[:, :-1]
y = data[:, -1:]
print(x)
print(y)

 

2、调用模型LogisticRegression()训练预测

model = LogisticRegression()
model.fit(x, y.ravel())
y_ = model.predict(x)
print(y_)

3、打印输出的可能性, 第一列为0样本,第二列为1样本

print(model.predict_proba(x))

4、查看w和b的值

w = model.coef_
b = model.intercept_
print(w)
print(b)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

醉翁之意不在酒~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值