写在前面的话:哈喽,大家早安、午安、晚安喽,欢迎大家指点,也希望我的内容可以温暖、帮助同在学习路上的人们~再次申明:本文的理论知识来自Peter Harrington的《机器学习实战》和李航的《统计学习方法》,非常感谢这些优秀人物和优秀书籍。正文开始~~
今天主要分享Logistic回归(LR)的基础知识。首先简答介绍一下回归的概念。
回归:回归分析是一种统计学分析数据的方法,目的在于了解两个或多个变数间是否相关、相关方向与强度,并建立数学模型以便观察特定变数来预测研究者感兴趣的变数。回归在数学上来说就是给定一个点集合,能够用一条曲线去拟合。根据曲线的差异分为线性回归,二次回归,Logistic回归等。
Logistic回归工作原理:根据现有数据对分类边界线建立回归公式,以此进行分类。‘回归’源于最佳拟合,表示要找到最佳拟合参数集。训练分类器时的做法就是寻找最佳拟合参数,使用的是最优化算法。见图1,Logistic回归就是为了找到这样的分类边界(Decision Boundary)备注:如果是二维情况,那么就是找到如图0中的分类曲线,如果是多维,那么就是找到可以分类的平面
辣么,接下来就是求解这条曲线了,如果是Y=0,1两种类型的,可以见图2。(备注:很遗憾,因为我刚开始学,所以这篇暂不考虑多类型分类的问题。)
Logistic回归公式中这些θ参数的设置,常用方法有:牛顿法、拟牛顿法、梯度上升方法(或梯度下降方法)、随机梯度上升方法(或随机梯度下降方法)等。比如如果求函数的最大值,那么就利用梯度上升方法来求解;如果要找函数的最小值,那么就利用梯度下降方法来求解。
辣么,具体的实现过程如下:
1)构造预测函数,用h(θ)表示,其实此处的θ和图1中的w是一个意思,均表示特征值的参数。h(θ)与特征值X可能是线性关系,也可能是非线性关系,见图3-图4。
2)构造求解参数的代价函数
在线性规划中,代价函数的思想是要使得预估结果h(θ)与实际y差距最小,见图5
那么,在Logistic回归中,可以将J(θ)表示为如下图6中的形式:
3)利用梯度下降法求解J(θ)的最值
应该通过拟合参数,使得J(θ)达到最值,这时候就需要求函数的梯度。为了简化求导的计算,可以考虑以下的代价函数:
因为图8中对θ的求导刚好可以消去求导的因子,实际每次参数θ的迭代见图9
4)基本思想就是这样啦,开始写代码验证啦~~
(1)准备数据
(2)通过梯度下降来获取参数
(3)基于求出的参数θ向量,根据新的特征值来预测分类
好哒,关于Logistic回归的初级学习基本就是这些,以后我会更加深入的学习,请大神轻拍,也希望自己总结的内容对大家有所帮助,谢谢
另外,学习Logistic回归的不错的资料,可以查看从初等数学视角解读逻辑回归、浅析Logistic Regression 等