学习Logistic Regression的笔记与理解(转)
学习Logistic Regression的笔记与理解
1.首先从结果往前来看下how logistic regression make predictions。
设我们某个测试数据为X(x0,x1,x2···xn),Θ(θ0,θ1,θ2,···θn)为我们的学习算法所学到的参数,那么
写成向量的话就变成
Z就是我们得到的结果,但是logistic regression只能处理二值数据,这个Z是一个连续值,它的范围可以很广。为了把这个Z化为二值变量,引人Sigmoid函数
这个函数的图形如下所示,将算得的Z代入上式即可得到一个接近1或者0的值,我们把g(Z)函数得出的值>=0.5的判断为1。
所以最终构造出的预测函数为
这个函数也可以用下式表示,即在给定测试数据X和训练算法所得的系数Θ的条件下,该测试数据位positive(y=1)的概率。
当然相对的,下式为该测试数据位negative(y=0)的概率。
2.训练算法(得到参数Θ)
2.1首先通过一个例子来看下Cost函数:有一组数据(X,Y),其中X是属性,Y是类别属性(连续)。其图像如图1所示,训练算法要得到一个评估函数入图2的绿色直线所示来预测未来的测试数据。
很明显只要使训练数据离该直线的距离最短即可,即图3中的黑色直线之和最短。用数学公式来表示的话就是
其中
所以我们的训练算法就是要找合适的θ0,θ1来使下式最小
上式就称为cost函数,当然cost函数可以有很多种,这个cost函数只是适用于这种情况。
2.2而logistic regression使用的cost函数为
接下来问题就变成了如何求J(Θ)的最小值。求这个J(Θ)可以采用梯度下降法,以有两个参数θ1,θ2为例(多维的也类似),图中的圈代表J(Θ)的值(类似于地理上的等高线)
每次向该点处梯度方向移动α的距离,这样就能在多次计算后就能得到其最小值。迭代的终止条件可以设为达到某个指定的迭代次数或算法达到某个允许的误差范围。用数学公式来表示这个迭代过程就是:
其中表示对每个θj分别求偏导:
由上面的化简可得Θ的更新过程如下:
由这个公式迭代多次最终得到所需参数,完成logistic regression算法的训练过程。
来源:http://blog.sina.com.cn/s/blog_64ecfc2f0101ranp.html
学习Logistic Regression的笔记与理解(转)的更多相关文章
- Classification week2: logistic regression classifier 笔记
华盛顿大学 machine learning: Classification 笔记. linear classifier 线性分类器 多项式: Logistic regression & 概率 ...
- [Machine Learning]学习笔记-Logistic Regression
[Machine Learning]学习笔记-Logistic Regression 模型-二分类任务 Logistic regression,亦称logtic regression,翻译为" ...
- Logistic Regression 笔记与理解
Logistic Regression 笔记与理解 Logistic Regression Hypothesis 记为 H(theta) H(theta)=g(z) 当中g(z),是一个叫做Logis ...
- ufldl学习笔记与编程作业:Logistic Regression(逻辑回归)
ufldl学习笔记与编程作业:Logistic Regression(逻辑回归) ufldl出了新教程,感觉比之前的好,从基础讲起.系统清晰,又有编程实践. 在deep learning高质量群里面听 ...
- 学习笔记(七): Logistic Regression
目录 Calculating a Probability Model Training 1.Loss function for Logistic Regression 2.Regularization ...
- 深度学习 Deep LearningUFLDL 最新Tutorial 学习笔记 2:Logistic Regression
1 Logistic Regression 简述 Linear Regression 研究连续量的变化情况,而Logistic Regression则研究离散量的情况.简单地说就是对于推断一个训练样本 ...
- 李宏毅机器学习笔记3:Classification、Logistic Regression
李宏毅老师的机器学习课程和吴恩达老师的机器学习课程都是都是ML和DL非常好的入门资料,在YouTube.网易云课堂.B站都能观看到相应的课程视频,接下来这一系列的博客我都将记录老师上课的笔记以及自己对 ...
- Coursera公开课笔记: 斯坦福大学机器学习第六课“逻辑回归(Logistic Regression)” 清晰讲解logistic-good!!!!!!
原文:http://52opencourse.com/125/coursera%E5%85%AC%E5%BC%80%E8%AF%BE%E7%AC%94%E8%AE%B0-%E6%96%AF%E5%9D ...
- [机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)
引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等.主要学习资料来自Standford Andrew N ...
随机推荐
- angularJs 自定义服务 provide 与 factory 的区别
<!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <met ...
- 知道创宇研发技能表v3.0
知道创宇研发技能表v3.0 2015/8/21 发布 by @知道创宇(www.knownsec.com) @余弦 & 404团队 后续动态请关注微信公众号:Lazy-Thought 说明 关 ...
- 安装VMware Tools找不到内核头文件
http://blog.csdn.net/bobbat/article/details/38568885 安装VMware Tools,解决无法找到kernel header path的问题 安装 V ...
- Git 的安装和创建版本库 。
Git 的优点就不再多说了 .直接进入正题吧 . 安装Git 首先可以尝试输入 Git 看看有没有反映 . $ git The program 'git' is currently not insta ...
- "无意义"的div和span标签
HTML <div> 元素是块级元素,它是可用于组合其他 HTML 元素的容器.<div>元素没有特定的含义.除此之外,由于它属于块级元素,浏览器会在其前后显示折行.如果与 C ...
- swift系统学习第三章
第九节:结构体-sturt //: Playground - noun: a place where people can play import UIKit /* swift学习第九节 结构体:st ...
- 5、C#基础整理(for 语句经典习题--与 if 的嵌套)
1.for循环最基本运用:小球每次落地后再弹起是以前的4/5,求第5次弹起后的高度 ; i < ; i++) { high = high*/; } Console.WriteLine(" ...
- 第一个sprint与第二个sprint 阶段总结
总体来说: 1.团队合作情况: 整个队伍配合得还算是不错的了,有些队员比较积极与主动,这是比较好的现象,因为一个队伍最终要的是活力与团结,至少我是这样认为的,如果一个队伍每个人都不干活,我想后果是不堪 ...
- Hadoop no.1
解决的问题: 1. 磁盘读取速度慢:磁盘容量大了,将一个大的文件存在磁盘上,但读取速度慢. 解决方法:hdfs将文件拆开存在不同的节点(datanode)上,namenode记载文件存储的位置( ...
- vs2012相关配置
文件包含不能在当前代码页(936)中表示的字符.请将该文件保存为 Unicode 格式: 在Project -> Properties -> Configuration Propertie ...