分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
【机器学习算法实现】系列文章将记录个人阅读机器学习论文、书籍过程中所碰到的算法,每篇文章描述一个具体的算法、算法的编程实现、算法的具体应用实例。争取每个算法都用多种语言编程实现。所有代码共享至github:https://github.com/wepe/MachineLearning-Demo 欢迎交流指正!
(2)logistic回归__基于Python和Numpy函数库
1、算法简介
回归的概念:假设有一些数据点,我们用一条直线对这些点进行拟合,这个拟合过程就称作回归。
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表示Θ的转置)。
对于分类边界上的点,代入分类边界函数就得到f(x)=0,同样地,对于分类边界之上的点,代入得到f(x)>0,对于分
类边界之下的点,代入得到f(x)<0。这样就可以依据f(x)大于0或者小于0来分类了。
logistic回归的最后一步就是将f(x)作为输入,代入Sigmoid函数,当f(x)>0时,sigmoid函数的输出就大0.5,且随
着f(x)趋于正无穷,sigmoid函数的输出趋于1。当f(x)<0时,sigmoid函数的输出就小于0.5,且随着f