干货|机器学习零基础?不要怕,吴恩达课程笔记第三周!逻辑回归与正则


吴恩达Coursera机器学习课系列笔记

课程笔记|吴恩达Coursera机器学习 Week1 笔记-机器学习基础

干货|机器学习零基础?不要怕,吴恩达机器学习课程笔记2-多元线性回归


1
Logistic Regression

1.1 Logistic Regression (Classification) Model

之前对房价的预测,其预测结果是一个连续变量,属于回归模型(Linear regression)。接下来要讲的是分类模型(Logistic regression),即其预测结果是一个离散变量,有固定的取值分布。

分类问题,又分成了“二分类”和“多分类”,先讲简单的“二分类”。

例子:判断一个病人是否罹患癌症。一个二分类问题,是或者否。

sigmoid函数形状如下:

现在可以用这个[0,1]之间的值来表示罹患癌症的概率了,设定一个阈值(threshold),如果h(x)>threshold,则罹患癌症,反之。


注意:这里的sigmoid只是起到了映射到(0, 1)范围的作用。

逻辑回归的边界依然是: θ^(T)x==threshold

从这个边界中看到,这样的逻辑回归是一个线性分类器。


用等高线图画出来就是这样的: 

三维图是这样的:

画图的代码如下:

% Here is the grid rangeu = linspace(30, 100, 100);v = linspace(30, 100, 100);z = zeros(length(u), length(v));% Evaluate z = theta*x over the gridfor i = 1:length(u)for j = 1:length(v)t = [1, u(i), v(j)];z(i,j) = sigmoid(t * theta);endendz = z'; % important to transpose z before calling contour% Plot z = 0% Notice you need to specify the range [0, 0]contour(u, v, z, [0.5, 0.5], 'LineWidth', 2)xlabel('Exam 1 score')ylabel('Exam 2 score')hold off;figure;surf(u, v, z)

接下来就是loss function的设置了。

在logistic regression中,不再使用平方差来表示error了,转而使用negative log来表示error:

解释为什么使用negative log;

首先说明loss function的定义:当预测结果越接近真实结果时,loss越小。只要函数可以满足这一点,就可以成为loss function

逻辑回归一般情况下是线性分类器,但是在特定的情况下,可以转变成非线性分类器,如下图: 

1.3 Multiclass Classification Model

OK, OK…但是还有很多情况,分类不止“是”、“否”两种。

下图左边是二分类的情况,右边是多分类的情况。

对于多分类问题可以转化成多个二分类问题来解决,如下图,先取一种类别,把其他的都归并为一类。然后再去一种类别,把剩余的归并为一类……直至所有类别都遍历完。

最后,对于一个x,有kh(x),分别代表k个类概率,取最大h(x)所属的类别即可。

2
Regularization

2.1 Overfitting Problem

overfitting就是在训练集中拟合的特别好,或者说是过分好了,导致在新数据上的预测的效果不好。如下图:

左边没有overfitting,右边的overfitting

2.2 Regularization Intuition

下面两幅图中,左边的没有overfitting,右边的overfitting了,原因就是多了最后θ3θ4这两项使得整个模型变复杂了。

所以我们需要在cost function中增加一项惩罚项penalty,我们的目的就是θ3θ4尽可能的小,最好接近于0,这样就可以消除这两项的干扰了。

2.3 Regularization Term


总而言之,λ是用来控制惩罚项的影响因子,越大就是让惩罚项越发挥作用。

最后,在gradient descent中,把这一项也求导了就好了。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304192.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络互联网技术实验报告,2013计算机网络技术与应用.实验报告01

本报告 6 月 5 日前完成。 此框阅读后删除。 此处填写:年级和姓名。 《计算机网络技术与应用》实验报告 此框阅读后删除。 年级、专业、班级 实验题目 实验时间 实验成绩 2013.4.1 11 级 专业 班 姓名计算机网络应用软件与拓扑结构实验地点 实验性质 DS1422■验证性…

如何在C#中使用 ArrayPool,MemoryPool

对资源的可复用是提升应用程序性能的一个非常重要的手段,比如本篇要分享的 ArrayPool 和 MemoryPool,它们就有效的减少了内存使用和对GC的压力,从而提升应用程序性能。什么是 ArrayPool System.Buffers 命名空间下提供了一个可对 array 进行复…

LAMP攻略: LAMP环境搭建,Linux下Apache,MySQL,PHP安装与配置

之前写过一个red hat 9下的LAMP环境的配置,不过由于版本比较旧,很多不适用了。 所以决定写一个新的LAMP环境搭建与配置教程。本配置是在 CentOS-5.3 下 httpd-2.2.11.tar.gz MySQL-client-community-5.1.33-0.rhel5.i386.rpm MySQL-devel-community-5.1…

canvas 实现图片局部模糊_Canvas模糊化处理图片、毛玻璃处理图片之stackblur.js

Canvas实现毛玻璃效果解决方式1:使用stackblur.js在Android系统中实现图片的毛玻璃效果比较好用的类库是:Android StackBlur简单API说明:API 调用下面是针对不同的源(图片或者 Canvas 等)进行 StackBlur 的调用。图像作为源:StackBlur.image(…

服务器自动删文件,服务器定时删除文件工具

服务器定时删除文件工具,这是一个定时删除服务器上文件的小程序修改配置文件config.ini,dir是主目录;dirs是要删除文件目录;deltype是删除类型,0是创建日期,1是修改日期;delday是保留天数;deltime是定时删除时间。[config]dir\\cb19\pictifdirs01,02,03,…

30 个实例详解 TOP 命令

Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。(译注:不…

IComparer与IEqualityComparer的简单使用

场景一:对象列表的自定义排序简单类型的列表,可以直接使用Linq的OrderBy或OrderByDescending进行排序,复杂对象的列表排序可以使用Sort()和IComparer实现自定义对象比较规则。假如有一个Box类,它有名称、长、宽、高四个属性&#…

Linux 远程开机(walk on lan)

Linux 远程开机(walk on lan)一,什么情况下需要远程开机? 如果我们的服务器没有部署在本地(实际上通常都是这样的,我们会把服务器托管到IDC机房), 而且服务器在机房中不止一台&am…

程序显示文本框_【教程】TestComplete测试桌面应用程序教程(二)

TestComplete是一款具有人工智能的自动UI测试工具,利用自动化测试工具和人工智能支持的混合对象识别引擎,轻松检测和测试每个桌面,Web和移动应用程序。其中,TestComplete支持测试使用C、C#、VB.NET、Java、Delphi、C …

陕西省计算机二级报名流程,计算机二级考试报名流程

计算机二级考试报名流程第一次参加全国计算机等级考试的考生对于网上报名的流程,对全国计算机考试流程中某些环节并不清楚。下面是小编为大家带来的计算机二级考试报名流程,欢迎阅读。(一)注册账号和登录1)考生首次登录系统需要注册登录通行证&#xff0…

Git 的 4 个阶段的撤销更改

虽然git诞生距今已有12年之久,网上各种关于git的介绍文章数不胜数,但是依然有很多人(包括我自己在内)对于它的功能不能完全掌握。以下的介绍只是基于我个人对于git的理解,并且可能生编硬造了一些不完全符合git说法的词…

51CTO下载专题有奖征集建议:您的期待,我们的方向!

2010年5月10日,51CTO下载专题 隆重上线。精细的技术领域、优质的技术资源、大方的设计风格......让您对精品资源一网打尽,直达心灵所需! 51CTO下载专题每周发布1-2期,旨在帮助大家在最短的时间里,找到自己感兴趣技术点…

Visual Studio SnippetDesigner使用

SnippetDesigner代码片段编辑器这是一款在Visual Studio上代码片段编辑器插件,可以轻松创建代码片段,为什么要用这个代码片段呢,理由:平常在编码过程中,有许多重复性的代码语句,为了提高编码速度与便捷&…

python中merge函数怎么用_Python Merge函数原理及用法解析

Merge函数的用法简单来说Merge函数相当于Excel中的vlookup函数。当我们对2个表进行数据合并的时候需要通过指定两个表中相同的列作为key,然后通过key匹配到其中要合并在一起的values值。然后对于merge函数在Pandas中分为1vs1, 多(m)vs1,以及多(m)vs多(m)…

计算机显卡是指什么时候,电脑哪个是显卡

语音内容:大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。以台式机电脑为例,一般有两种显卡,找到显卡位置的方法:1、集成显卡。集成显卡被集成在CPU或者主板芯片组内部,不…

人民币大写格式转换

在处理财务报表时,单元格格式设置为人民币大写后,-123显示为红色的“壹佰贰拾叁元整”,打印出来后无法区别是正数还是负数;同时有的单位习惯在大写数字前加上“人民币大写:”字样。为了满足不同的人民币大写格式的需要…

生态合作与自主可控

生态合作与自主可控是一个大题目,从不同角度来讨论,不同的人会得出不同的结论。为了交流不空洞,先介绍一个案例,它具有普遍性:L总应该是前年与我们联系过,今年刚刚与我们联系描述了一下他们的现状&#xff…

css规则中区块block,CSS的命名方式:BEM(区块、元素、修饰符)

原标题:CSS的命名方式:BEM(区块、元素、修饰符)本资源由 伯乐在线- 凝枫整理,您也想贡献一份力量?欢迎加入我们 重要概念“Block”区块区块的定义是:一个逻辑和功能兼备的独立页面组件,也可以称为web组件。一个区块包含…

表达式如何获取复选框的值_Nuke表达式 Expression节点讲解

nuke中的表达式节点对于大多数人来说有点神秘,但它非常强大。通常它通过简单的if / else语句修补数据,但在这里我们将从最基本的原则,到一些长期被遗忘的高中数学做一些简单的技巧,最后把它们融合在一起。第一步创建Constant节点&…

卸载重新安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法【转】...

错误原因造成这种错误的原因在于Microsoft SQL Server 安装程序中的安装配置检查器 (SCC)在安装SQL Server前会验证计数器注册表项的值。如果 SCC 无法验证现有的注册表项,或 SCC 无法运行 lodctr.exe 系统程序,则 SCC 检查会失败,致使安装受…