4-Logistic Regression
来源:互联网 发布:仙桃广电网络客服电话 编辑:程序博客网 时间:2024/04/28 21:38
1 - Classification
Logistic Regression解决的并不是regression问题,而是分类(Classification)问题。例如:Email(Spam/Not)、Tumor(Malignant/Benign)
此时,不能再用Linear Regression的Gradient Descent方法来拟合了,现在的问题需要用Logistic Regression来解决,对用的Hypothesis函数取值范围必须在0-1之间。
2 - Hypothesis Representation 拟合函数
- Hypothesis:
hθ(x)=g(θTx) hθ(x) 代表y=1的可能性的大小- 若h大于0.5,那么就取1,如果小于0.5就取0.
- Sigmoid function/Logistic function:
g(z)=11+e−z - 当 z >=0,0.5 <= y < 1
- 当 z< 0,0 < y < 0.5
3 - Decision Boundary 分类边界
- 对于2中的公式,可知,当 θTx >= 0 时,y = 1; 当 θTx < 0 时,y = 0。此时 θTx >= 0 即为Decision Bounday。
- 分类边界类型:
- 直线:
hθ(x)=g(θ0+θ1x1+θ2x2) - 圆:
hθ(x)=g(θ0+θ1x1+θ2x2+θ3x21+θ4x22) - 更复杂的:
hθ(x)=g(θ0+θ1x1+θ2x2+θ3x21+θ4x21x2+θ5x21x22+θ6x31x2)
- 直线:
4 - Cost Function 代价函数
- 关于Cost函数
- 通过maximum likelihood estimation(即极大似然估计)计算得来。
- 之所以不用原来线性回归的误差公式,是因为Sigmoid函数的存在会使J函数最终的结果不是凸函数,存在多个极值点。
5 - Simplified Cost Function and Gradient Descent 简化的代价函数、梯度下降法
- Cost Function:
现在要求的是满足时的 θ 的取值,那么可以采用Gradient Descent方法来求得:
Repeat{θj:=θj−α∂∂θjJ(θ)(simultaneouslyupdateallθj)} 而代入偏导结果之后是:
Repeat{θj:=θj−α∑(i)m(hθ(x(i))−y(i))x(i)j(simultaneouslyupdateallθj)} 梯度下降公式与线性回归中的完全相同!
6 - Advanced Optimization 高级优化
6.1 计算条件
要想计算Cost function的最小值,除了Gradient Descent还有其他方法。首先理清计算条件:
- J(θ)
∂∂θjJ(θ) - θ初值
6.2 其他算法
主要有:
- Conjugate gradient
- BFGS
- L-BFGS
与Gradient Descent相比较,这些算法:
- 优点:
- 不需要人工选择α的值
- 通常比gradient descent运行快
- 缺点:
- 更加复杂(实现起来比较)
6.3 高级算法的使用方法
- 实现一个costFunction:
- 输入:theta(列向量)
- 输出:jVal(误差的值)、gradient(θ的调整量,列向量)
- 调用fminunc函数:
- 输入:@costFunction,initialTheta,options
- 输出:optTheta(计算出的θ值),functionVal(最小误差),exitFlag
- 其中:options为函数参数选项,例如
options = optimset('GradObj', 'on', 'MaxIter', 100);
示例:
function [jVal, gradient] = costFunction(theta)jVal = (theta(1)-5)^2 +(theta(2)-5)^2;gradient = zeros(2,1);gradient(1) = 2*(theta(1)-5);gradient(2) = 2*(theta(2)-5);options = optimset('GradObj', 'on', 'MaxIter', 100);initialTheta = zeros(2,1);[optTheta,functionVal,exitFlag] = fminunc(@costFunction,initialTheta,options);
7 - Multiclass Classification- One-vs-all
多值分类问题:
- Email tagging:Work、Friends、Family、Hobby
- Medical diagrams:Not ill、Cold、Flu
- Weather:Sunny、Cloudy、Rain、Snow
解决办法:One-vs-all(one-vs-rest)
- 为每一个类别训练一个logsitic regression分类器。
- 当输入x时,分别计算每个分类器的hθ(x)的值,选取最大的作为其分类。
0 0
- Regression(4)-------Logistic Regression & Regularization
- 4-Logistic Regression
- logistic regression
- logistic regression
- logistic regression
- Logistic Regression
- Logistic Regression
- logistic regression
- Logistic Regression
- Logistic Regression
- logistic regression
- Logistic regression
- Logistic Regression
- Logistic Regression
- Logistic Regression
- Logistic Regression
- Logistic Regression
- logistic regression
- 地产从业者:房子就像手机电脑,10年后一定买得起
- Android-使用DOM解析与生成XML文件
- LNMP-Linux下Nginx+MySQL+PHP+phpMyAdmin+eAcelerator一键安装包
- 纯C语言INI文件解析
- CSU 1328 近似回文词
- 4-Logistic Regression
- 每天进步一点点————事务控制(2)
- 学习网站
- leetcode: Binary Tree Postorder Traversal
- Xcode 升级后,常常遇到的遇到的警告、错误,解决方法
- Android下的USB Host介绍和开发
- 【iOS开发系列】MD5加密
- 自定义事件(不带参数实现)
- 詩經甲骨文解讀:羔羊(引入麥田圈兒信息)