机器学习之逻辑回归

举报
最后一个好人 发表于 2020/10/30 14:53:10 2020/10/30
【摘要】 轻松学逻辑回归

机器学习之逻辑回归

回归模型一般分为线性回归和逻辑回归,,所谓的逻辑回归,其实就是用于目标分类的模型,他使用一个逻辑函数(一般为sigmoid函数),把任意输入的实值x转换成区间为0-1之间的预测值y。逻辑回归比线性回归多了一步,就是把结果映射到逻辑函数上,输出是A或者不是A

sigmoid函数如图:

 

在逻辑回归的世界里,通常呢我们不拟合数据,我们只做决策边界,

下图为各种各样的决策边界:

 

逻辑回归的损失函数长什么样呢,

 

 

就是这样,当y=1时,越接近1,-log((x)) 就越小,反之y=0越接近0,-log(1-(x))就越小,所以把两式合在一起就得到:

 


在损失函数前面加1/m,就是为了求导好算,并不影响损失函数的相对大小。

 

为了防止某一个属性对数据的训练作用过大,从而拉偏了预测,所以我们加上正则项,

得到:

 

式中λ为学习率。

正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化项就越大。

正则项可以取不同的形式,在回归问题中取平方损失,就是参数的L2范数,也可以取L1范数。

用梯度下降法求解最小值,

θ的更新过程为:

 


所以θ的更新过程写为:

 

Python实现逻辑回归:

from sklearn.linear_model import LogisticRegression

Model = LogisticRegression()

Model.fit(X_train, y_train)

Model.score(X_train,y_train)

# Equation coefficient and Intercept

Print(Coefficient,model.coef_)

Print(Intercept,model.intercept_)

# Predict Output

Predicted = Model.predict(x_test)


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。