Andrew Ng机器学习课程笔记(二)之逻辑回归
Andrew Ng机器学习课程笔记(二)之逻辑回归
版权声明:本文为博主原创文章,转载请指明转载地址
http://www.cnblogs.com/fydeblog/p/7364636.html
前言
学习了Andrew Ng课程,开始写了一些笔记,现在写完第5章了,先把这5章的内容放在博客中,后面的内容会陆续更新!
这篇博客主要记录了Andrew Ng课程第二章逻辑回归,主要介绍了梯度下降法,逻辑回归的损失函数,多类别分类等等
简要介绍:逻辑回归算法是分类算法,我们将它作为分类算法使用。有时候可能因为这个算法的名字中出现了回归”使你感到困惑,但逻辑回归算法实际上是一种分类算法,它适用于标签 y 取值离散的情况,如:1 0 0 1。比如对邮件进行分类,垃圾邮件用表示,非垃圾邮件用0表示。
实现算法:梯度下降算法
1. 建立逻辑回归假设

括号内的 x跟线性回归的一样,主要是套上g(x),压缩它的函数值范围,方便分类判决。
g(x)的表达式如下:

根据这个函数特性,我们可以知道,g(z)的范围是在(0,1),函数图形如下:

当hθ大于等于0.5时,预测 y=1;当hθ小于 0.5 时,预测 y=0。
2.建立代价函数
对于线性回归模型,我们定义的代价函数是所有模型误差的平方和。理论上来说,我们也可以对逻辑回归模型沿用这个定义,但是问题在于,当我们将带入到这样定义了的代价函数中时,我们得到的代价函数将是一个非凸函数( non-convex function)
如下图所示

这意味着我们的代价函数有许多局部最小值,这将影响梯度下降算法寻找全局最小值。所以需要定义新的代价函数

hθ(x)与 Cost(hθ(x),y)之间的关系如下图所示:

这样构建的Cost(hθ(x),y)函数的特点是: 当实际的y=1且hθ也为1时误差为0,当y=1但hθ不为1时误差随着 hθ的变小而变大;当实际的
y=0 且hθ也为 0 时代价为
0,当 y=0 但 hθ不为0时误差随着 hθ的变大而变大。这样符合单调性,就可以使用梯度下降法。
于是代价函数定义如下

3. 参数更新迭代
这个与线性回归相同

4. 多类别分类: 一对多
很多时候,我们分类的数目是多个的,这里介绍一个叫做"一对多" (one-vs-all) 的分类算法。

我们将多个类中的一个类标记为正向类(y=1),然后将其他所有类都标记为负向类,如图

在我们需要做预测时,我们将所有的分类机都运行一遍,然后对每一个输入变量,都选择最高可能性的输出变量。(就是比较图中三个hθ(x),找到最大值,并判断为相应的类型)

Andrew Ng机器学习课程笔记(二)之逻辑回归的更多相关文章
- Andrew Ng机器学习课程笔记--week3(逻辑回归&正则化参数)
		Logistic Regression 一.内容概要 Classification and Representation Classification Hypothesis Representatio ... 
- Andrew Ng机器学习课程笔记(五)之应用机器学习的建议
		Andrew Ng机器学习课程笔记(五)之 应用机器学习的建议 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7368472.h ... 
- Andrew Ng机器学习课程笔记--汇总
		笔记总结,各章节主要内容已总结在标题之中 Andrew Ng机器学习课程笔记–week1(机器学习简介&线性回归模型) Andrew Ng机器学习课程笔记--week2(多元线性回归& ... 
- Andrew Ng机器学习课程笔记(四)之神经网络
		Andrew Ng机器学习课程笔记(四)之神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365730.html 前言 ... 
- Andrew Ng机器学习课程笔记(三)之正则化
		Andrew Ng机器学习课程笔记(三)之正则化 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7365475.html 前言 ... 
- Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归)
		title: Andrew Ng机器学习课程笔记--week1(机器学习介绍及线性回归) tags: 机器学习, 学习笔记 grammar_cjkRuby: true --- 之前看过一遍,但是总是模 ... 
- Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计
		Andrew Ng机器学习课程笔记(六)之 机器学习系统的设计 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7392408.h ... 
- Andrew Ng机器学习课程笔记(一)之线性回归
		Andrew Ng机器学习课程笔记(一)之线性回归 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7364598.html 前言 ... 
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 6_Logistic Regression 逻辑回归
		Lecture6 Logistic Regression 逻辑回归 6.1 分类问题 Classification6.2 假设表示 Hypothesis Representation6.3 决策边界 ... 
随机推荐
- 位图bitbucket
			问题:假设有500w条数据,数据是在2^32-1的范围内,数据重复,如何减少内存对数字进行统计呢? 如果用字典来标记数字是否已经统计过来,数字做为key, value仅为0 or1,那么这样需要消耗 ... 
- day25(令牌机制)
			令牌机制 作用:处理页面重复提交,造成数据多次写入数据库. 使用方法: 类似于验证码机制,使用session记录一个不可能重复的值(Uuid)在访问controller时对session进行校验. / ... 
- 《mysql必知必会》学习_第八章_20180730_欢
			第八章学习LIKE操作符,百分百(%)通配符,下划线(_)通配符 P47 select prod_id,prod_name from products where prod_name LIKE 'je ... 
- jQuery插件初级练习4答案
			html: $("p").log().css("color","red") jQuery: $.fn.extend({ log: funct ... 
- SRM470
			250pt 给定1个最多16颜色的字符串(颜色可以重复),甲在最左边,乙在最右边.轮流操作,每次可以消除一种颜色. 给定一个k,问谁能最先消除完到位置k之间的障碍. 思路: 每个人肯定优先取对方没有的 ... 
- hive 桶表
			转自:https://blog.csdn.net/csdnliuxin123524/article/details/81052974 桶表(bucket table): 原理: 分区表是按照经常查询的 ... 
- 前端开发 - HTML/CSS
			概述 HTML是英文HyperText Mark-up Language(超文本标记语言)的缩写,他是一种制作万维网页面标准语言(标记). 相当于定义统一的一套规则,大家都来遵守他,这样就可以让浏览器 ... 
- [php-dom] php-dom使用注意事项
			/* 注意事项: 1. 在loadHTML之前,应该将内容转义为UTF-8编码的,这样子避免出现entity等等的报错: 2. 已经使用了php函数htmlspecialchars()转换的html实 ... 
- javascript变量浅析
			变量声明 javascript 使用var + 变量名 声明变量,因为javascript是弱类型语言, 所有我们可以随意更改已有变量的类型. var b=1; b='2', 另外不同于c#中的var ... 
- mysql-5.7安装、配置
			1.进入到要存放安装包的位置 cd /home/lnmp 2.查看系统中是否已安装 MySQL 服务,以下提供两种方式: rpm -qa | grep mysql yum list installed ... 
