【机器学习】逻辑斯蒂回归原理

逻辑斯蒂函数

引入: 在线性感知器算法中,我们使用了一个f(x)=x函数,作为激励函数,而在逻辑斯蒂回归中,我们将会采用sigmoid函数作为激励函数,所以它被称为sigmoid回归也叫对数几率回归(logistic
regression),需要注意的是,虽然它的名字中带有回归,但事实上它并不是一种回归算法,而是一种分类算法。它的优点是,它是直接对分类的可能性进行建模的,无需事先假设数据分布,这样就避免了假设分布不准确所带来的问题,因为它是针对于分类的可能性进行建模的,所以它不仅能预测出类别,还可以得到属于该类别的概率。除此之外,sigmoid函数它是任意阶可导的凸函数。在这篇文章中,将会使用到梯度上升算法,可能有很多同学学到这里会有点迷糊,之前我们所使用的是,梯度下降算法为什么到这里却使用的是梯度上升算法?

解释logistic回归为什么要使用sigmoid函数
hθ=g(θTX)=11+e−θTXh_{\theta} = g(\theta^TX) = \frac{1}{1 + e^{-\theta^TX}}hθ=g(θTX)=1+eθTX1

hw=g(wTX)=11+e−wTXh_w = g(w^TX) = \frac{1}{1 + e^{-w^TX}} hw=g(wTX)=1+ewTX1

hw=g(Xw)=11+e−Xwh_w = g(Xw) = \frac{1}{1 + e^{-Xw}} hw=g(Xw)=1+eXw1

准备数据

import numpy as npX = np.random.randn(50,4)
X.shapew = np.random.randn(4) 
X[[0]].dot(w)#或者 w.T.dot(X[0])

3.154665990657282

'''假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,
两种颜色的比例也不知。我们想知道罐中白球和黑球的比例,
但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀
的罐中拿一个球出来,记录球的颜色,然后把拿出来的球 再放回罐中。
这个过程可以重复,我们可以用记录的球的颜色来估计罐中黑白球的比例。
假如在前面的一百次重复记录中,
有七十次是白球,请问罐中白球所占的比例最有可能是多少?'''
# 请问罐子中白球的比例是多少?很多种可能10%,5%,95%……
# 请问罐子中白球的比例最有可能是多少?70%,进行精确计算,‘感觉’ 
# ‘感觉’的计算
# 假设白球的概率是p,黑球1-p
# 取出一个球是白球的概率 :p
# 取出两个球,都是白球的概率:p**2
# 取出3个球,2个白球一个黑球的概率:p**2*(1-p)
# 取出100个球,70是白球,30个是黑球,概率:p**70*(1-p)**30
f(p) = p**70*(1-p)**30

f(p)=p70∗(1−p)30f(p) = p^{70}*(1-p)^{30}f(p)=p70(1p)30

70∗p69∗(1−p)30+p70∗30∗(1−p)29∗(−1)=070*p^{69}*(1-p)^{30} + p^{70}*30*(1-p)^{29}*(-1) = 070p69(1p)30+p7030(1p)29(1)=0

70∗(1−p)−p∗30=070*(1-p) - p*30 = 070(1p)p30=0

70−100∗p=070 - 100*p = 070100p=0

p=0.7p = 0.7p=0.7

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qYFdaCw1-1574858609335)(l.png)]

l(θ)越大越好,梯度上升优化l(\theta) 越大越好,梯度上升优化l(θ)

J(θ)=−l(θ)越小越好,梯度下降了J(\theta) = -l(\theta)越小越好,梯度下降了J(θ)=l(θ)

将似然函数变成log函数

梯度上升添加符号就变为梯度下降

再求导求出j点的梯度

!!!
我是这样认为的:所谓的梯度“上升”和“下降”,一方面指的是你要计算的结果是函数的极大值还是极小值。计算极小值,就用梯度下降,计算极大值,就是梯度上升;另一方面,运用上升法的时候参数是不断增加的,下降法是参数是不断减小的。但是,在这个过程中,“梯度”本身都是下降的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xKqBTwEo-1574858609336)(d.png)]

提取共同系数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cF1F5HVs-1574858609337)(d2.png)]

hθ=g(θTX)=11+e−θTXh_{\theta} = g(\theta^TX) = \frac{1}{1 + e^{-\theta^TX}}hθ=g(θTX)=1+eθTX1

1(1+e−θTX)2∗e−θTX∗∂∂θjθTX\frac{1}{(1 + e^{-\theta^TX})^2}*e^{-\theta^TX}*\frac{\partial}{\partial{\theta_j}}{\theta^TX}(1+eθTX)21eθTXθjθTX

1(1+e−θTX)∗e−θTX(1+e−θTX)∗∂∂θjθTX\frac{1}{(1 + e^{-\theta^TX})}*\frac{e^{-\theta^TX}}{(1 + e^{-\theta^TX})}*\frac{\partial}{\partial{\theta_j}}{\theta^TX}(1+eθTX)1(1+eθTX)eθTXθjθTX

g(θTXi)∗e−θTX(1+e−θTX)∗∂∂θjθTXg(\theta^TX^i)*\frac{e^{-\theta^TX}}{(1 + e^{-\theta^TX})}*\frac{\partial}{\partial{\theta_j}}{\theta^TX}g(θTXi)(1+eθTX)eθTXθjθTX

g(θTXi)∗e−θTX(1+e−θTX)∗∂∂θjθTXg(\theta^TX^i)*\frac{e^{-\theta^TX}}{(1 + e^{-\theta^TX})}*\frac{\partial}{\partial{\theta_j}}{\theta^TX}g(θTXi)(1+eθTX)eθTXθjθTX

1−g(θTXi)=1−11+e−θTX=1+e−θTX1+e−θTX−11+e−θTX=e−θTX1+e−θTX1 - g(\theta^TX^i)=1 - \frac{1}{1 + e^{-\theta^TX}} = \frac{1 + e^{-\theta^TX}}{1 + e^{-\theta^TX}} - \frac{1}{1 + e^{-\theta^TX}} = \frac{e^{-\theta^TX}}{1 + e^{-\theta^TX}}1g(θTXi)=11+eθTX1=1+eθTX1+eθTX1+eθTX1=1+eθTXeθTX

g=11+e−xg = \frac{1}{1 + e^{-x}}g=1+ex1

g′=g∗(1−g)g^{\prime} = g*(1 -g)g=g(1g)

在这里插入图片描述

手写笔记个人总结使用

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可参考
彻底搞懂逻辑斯蒂回归在这里插入图片描述

PS:公众号内回复 :Python,即可获取最新最全学习资源!

    破解专业版pycharm参考博客www.wakemeupnow.cn公众号:刘旺學長

内容詳細:【个人分享】今年最新最全的Python学习资料汇总!!!

在这里插入图片描述
以上,便是今天的分享,希望大家喜欢,
觉得内容不错的,欢迎点击分享支持,谢谢各位。

单纯分享,无任何利益相关!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手机影音第十一天,显示视频缓冲,显示卡顿时的网速,播放系统视频时调用播放器的选择...

代码已经托管到码云,有兴趣的小伙伴可以下载看看https://git.oschina.net/joy_yuan/MobilePlayer一、设置视频缓冲进度显示视频播放进度的效果图如下:灰色的是缓冲的进度。原理:只有播放网络视频时,才有缓冲这个说法,所…

Django之创建应用以及配置路由

Django之创建应用以及配置路由 配置所有IP都可以访问你的项目 1.进入manage.py同级的my_web里面的settings.py的文件 2.在文件的第28行把ALLOWED_HOSTS []改成ALLOWED_HOSTS [*] 注意:*代表的是所有IP都可以访问 创建一个app应用 在终端中,结束项目…

python中opencv是什么_python-opencv的用法

#!/usr/bin/env python # -*- coding:utf-8 -*- # author:love_cat import cv2 # 接收两个参数,一个是文件名,一个值,如果值为1,接收的是彩色图片,如果值为零,接受的是灰度图片。会有一个返回值&#xff0c…

【Tensorflow】卷积神经网络实现艺术风格化通过Vgg16实现

卷积神经网络实现艺术风格化 基于卷积神经网络实现图片风格的迁移,可以用于大学生毕业设计基于python,深度学习,tensorflow卷积神经网络, 通过Vgg16实现,一幅图片内容特征的基础上添加另一幅图片的风格特征从而生成一幅…

抗误码技术

抗误码技术: 视频传输过程中的错误是不可避免的,抗误码技术历来都足视频领域一个研究的热点。H264标准继承r以前视频编码标准中某些优秀的错误恢复工具,同时也改进和创新了多种错误恢复丁具。这些错误恢复的工具主要有:参数集、数…

Linux统计文件行数、字数、字节数

2019独角兽企业重金招聘Python工程师标准>>> 语法:wc [选项] 文件 说明:该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名,则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符…

【Tensorflow】人脸128个关键点识别基于卷积神经网络实现

引言: 卷积神经网络 卷积神经网络最早是为了解决图像识别的问题,现在也用在时间序列数据和文本数据处理当中,卷积神经网络对于数据特征的提取不用额外进行,在对网络的训练的过程当中,网络会自动提取主要的特征.卷积神经网络直接用原始图像的全部像素作为输入,但是内…

python 爬虫 包_python爬虫学习之路-抓包分析

利用浏览器抓包,是爬虫中的很实用的技能。在爬虫编程之前,我们要对抓取的目标页面有所了解,比如浏览器的这个请求这个页面中间都经历了什么,数据是怎么发送和返回的。 抓包的作用 我把抓包分析的作用简单列一下: 分析请…

帧间EC原理和过程

出错的宏块(图中灰色表示)根据上、下、左、右四个方向相邻宏块的不同分割情况及预测类型进行插值。将最后的结果中进行比较,选取边界像素差值之和最小者为最优的EC方案。其步骤为: 1、判断相邻宏块左上角8*8块的预测模式是否大于R…

Maven依赖的是本地工程还是仓库jar包?

相信大家都碰见过maven配置的依赖或者是jar包或者是工程,在开发的过程当中,我们当然需要引入的是工程,这样查看maven依赖的文件的时候,就能直接查看到源码。 一、本地工程依赖 举个例子,其架构如下所示(以下…

关于django新版本无法使用MySQL数据库的问题

关于django新版本无法使用MySQL数据库的问题 参考这里 稍微记录下Django2.2使用MariaDB和MySQL遇到的坑 现在演示一下整个流程吧 1.创建项目和应用 PS:你也可以使用PyCharm直接创建项目 2.注册应用 先把刚刚创建的应用添加进去 3.配置MySQL或者MariaDB 4.PyMySQL替…

python连接sql数据库_python连接sql server数据库实现增删改查

简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html)。在官方文档可以看到,pymssql是基于_mssql模块做的封装,是为了遵守python的DBAPI规范接口.…

es5.0 安装head插件

es5.0的安装和之前的版本有些区别,我的电脑用plugin install 没成功, 查了一下资料,说是可以用grunt进行安装,启动; 1,先安装grunt: grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.0里的head插件就是通过grunt启动的。 npm ins…

套接字 资料查阅

(3)套接字(socket) 一个完整的网络应用程序包括客户端和服务器两个部分。网间通信进程需要由两个进程组成,并且只能用同一种协议。也就是说,不能在通信的一端使用TCP协议,而另一端则用UDP协议。一个完整的网络通信需要一个五元组来标识…

linux mysql安装_Linux下安装mysql服务(超详细)

Mysql数据库的安装对于开发者来说,是我们必然会面对的问题,它的安装过程其实并不复杂,并且网络上的安装教程也非常多,但是对于新手来说,各种不同形式的安装教程,又给新手们带来了要选择哪种方式进行安装的难…

day2 操作系统

一.为何要有操作系统 程序员无法把所有的硬件操作细节都了解到,管理这些硬件并且加以优化使用是非常繁琐的工作,这个繁琐的工作就是操作系统来干的,有了他,程序员就从这些繁琐的工作中解脱了出来,只需要考虑自己的应用…

python安装不了jupyter_python学习笔记——Windowns下Python3之安装jupyter

Windowns下Python3之安装jupyter Jupyter notebook: 一个交互式笔记本,支持运行40多种编程语言。 利用它来写Python,代码和运行结果都可以保存下载,十分方便。本文主要以自身的安装过程为例,结合遇到的问题&#xff0c…

matlab 三维核密度图_Matlab精彩画图示例:三维网状图和三维曲面图

接上篇:Matlab精彩画图示例:绘制图上图这篇介绍两个绘制三维图的命令:mesh - 绘制三维网状图surf - 绘制三维曲面图matlab代码如下:绘制三维图的matlab代码示例程序运行结果如下:mesh(X,Y,Z) draws a wireframe mesh w…

JDBC1

1.jdbc的概述 是sun公司统一提供的一套接口规范,各个数据库生产商提供实现 注册驱动,获得连接,获得执行的SQL语句对象,释放资源 package com.learn.jdbc;import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException;import org.junit.Test;publ…

python程序怎么保存到u盘_python实现usb自动拷贝程序的方法

python实现usb自动拷贝程序的方法 发布时间:2020-06-28 09:07:05 来源:亿速云 阅读:135 作者:清晨 这篇文章将为大家详细讲解有关python实现usb自动拷贝程序的方法,小编觉得挺实用的,因此分享给大家做个参考…