【机器学习算法实现】logistic回归__基于Python和Numpy函数库

本文深入介绍了Logistic回归的概念、算法思想,并通过Python和Numpy实现了一个二分类工程实例,涉及邮件垃圾过滤、照片性别识别等应用场景。详细解析了从数据读取、Sigmoid函数、梯度上升算法到错误率计算的全过程。

【机器学习算法实现】系列文章将记录个人阅读机器学习论文、书籍过程中所碰到的算法,每篇文章描述一个具体的算法、算法的编程实现、算法的具体应用实例。争取每个算法都用多种语言编程实现。所有代码共享至github:https://github.com/wepe/MachineLearning-Demo     欢迎交流指正!


(2)logistic回归__基于Python和Numpy函数库

1、算法简介

本文的重点放在算法的工程实现上,关于算法的原理不具体展开,logistic回归算法很简单,可以看看Andrew Ng的视频: https://class.coursera.org/ml-007 ,也可以看看一些写得比较好的博文: 洞庭之子的博文 。下面我只列出一些个人认为重要的点。

回归的概念:假设有一些数据点,我们用一条直线对这些点进行拟合,这个拟合过程就称作回归。

logistic回归算法之所以称作“logistic”,是因为它运用了logistic函数,即sigmoid函数

logistic回归算法一般用于二分类问题(当然也可以多类别,后面会讲)。


logistic回归的算法思想:



用上面的图来分析,每个O或X代表一个特征向量,这里是二维的,可以写成x=(x1,x2)。

用logistic回归进行分类的主要思想就是根据现有数据集,对分类边界建立回归公式,拿上面这个图来说,就是根据

这些OOXX,找出那条直线的公式:Θ0*x0+Θ1*x1+Θ2*x2=Θ0+Θ1*x1+Θ2*x2=0  (x0=1)。

因为上图是二维的,所以参数Θ=(Θ0,Θ1, Θ2),分类边界就由这个(Θ0,Θ1, Θ2)确定,对于更高维的情况也

是一样的,所以无论二维三维更高维,分类边界可以统一表示成f(x)=ΘT*x  (ΘT表示Θ的转置)。


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值