【HowTo ML】分类问题->逻辑回归
来源:互联网 发布:被网络攻击的公司 编辑:程序博客网 时间:2024/05/03 00:23
分类问题(Classification Problem)
样本因变量
支持向量机支持无数多的属性
逻辑回归(Logistic Regression)
逻辑回归:根据自变量确定因变量的种类,
逻辑回归通常使用的是二元,这类问题中
其中:
0: Negative Class1: Positive Class
常见问题:垃圾邮件过滤,欺诈检测,肿瘤识别.
通常我们不会使用线性回归来解决分类问题.
对于两种分类来说,我们通常会引入阀值(Threshold),但当我们加入一个
但现实中影响却不大.
假设函数(Hypothesis Representation)
为了使
其中
带入可得
我们也能将
解释为:当给定
对于二元分类问题来说
决策边界(Decision boundary)
决策边界是决策函数的一个属性,由参数决定,能根据参数将样本分为不同类别的边界.
为了更好的理解决策边界,现在我们考虑逻辑函数
其实,也就是当
代价函数(Cost Function)
对于线性回归来说:
代价函数可以方便的表示为:
我们为什么不能直接套用线性回归的代价函数?因为我们期望代价函数能得到一个最小的值,但线性回归的代价函数是非凸函数(Non-convex),如左图,有多个局部最小值.我们期望能得到右图.
那么逻辑回归的代价函数应该设计成什么样呢?
假设有个目标的
但是有处于中部的预测错误,我们就不会受到较大惩罚.
为了方便编写,我们可将
所以
逻辑回归的梯度下降
梯度下降算法:
带入待解函数后可化简为
惊奇(?)的发现,里面的公式其实没有变!
其实改变的只有
特征缩放
线性回归的特征缩放是有效的!
其他参数求取方法
- Conjugate gradient
- 共轭梯度法BFGS(变尺度法)
- L-BFGS(限制变尺度法)
优点:
- 不需要手动选择学习率
α (通过线性搜索选择) - 比梯度下降快
Octave中使用函数:
fminunc(无约束最小化函数):
-- Function File: fminunc (FCN, X0) -- Function File: fminunc (FCN, X0, OPTIONS) -- Function File: [X, FVAL, INFO, OUTPUT, GRAD, HESS] = fminunc (FCN, ...)Octave:
具体用法
##定义代价函数function [jVal, gradient] = costFunction(theta) #...options = optimset( 'GradObj', 'on', 'MaxIter', '100');initialTheta=zeros(2,1);[optTheta, functionVal, exitFlag] ... = fminunc(@costFunction, initalTheta, option;
options 解释:
- 梯度下降
- 打开
- 最大迭代次数
- 100次
exitFlag:
如果为1就是收敛了,具体查阅手册.
解决多类别分类问题(Multi-class classification)
思想: 把多类别分类转化为多次逻辑回归,也就是每次分为两类,一类为本次所选取的类,另一类为剩下的(One-vs-Rest).
最后我们能得到K(种类个数)个逻辑分类器.也就可以得到每一种可能性的概率了,通常我们取最大的那个作为结果.
- 【HowTo ML】分类问题->逻辑回归
- 【HowTo ML】回归问题
- 【HowTo ML】分类问题->神经网络入门
- 分类问题之逻辑回归
- ML 逻辑回归 note
- ML逻辑回归实现
- 6章 分类问题、逻辑回归算法
- spark厦大----逻辑斯蒂回归分类器--spark.ml
- 初学ML笔记N0.1——线性回归,分类与逻辑斯蒂回归,通用线性模型
- 逻辑回归分类器
- 逻辑回归分类器
- Stanford ML - Logistic Regression 逻辑回归
- ML—逻辑回归算法(MATLAB)
- ML涨姿势 001A 逻辑回归
- 逻辑斯蒂回归-机器学习ML
- 逻辑回归的MATLAB实现(二分类问题)
- 逻辑回归算法——解决分类问题
- 逻辑回归的MATLAB实现(二分类问题)
- boost 与 string 的应用
- Android Data Binding框架指南
- lintcode:Subsets II
- 面向协议编程
- 从此不求人:自主研发一套PHP前端开发框架(9)
- 【HowTo ML】分类问题->逻辑回归
- 【Android】Eclipse自动编译NDK/JNI的三种方法
- ACM ProblemR
- C++学习笔记——第12章 继承
- 仿最美应用-每日最美 钢琴律动效果(一)
- 33款可用来抓数据的开源爬虫软件工具
- iOS开源-图像缓存库LYImageCache
- 英文歌曲:my heart will go on(我心永恒)
- 《leetCode》:Minimum Size Subarray Sum