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



1
1. Introduction


1.1 Supervised Learning


已知输入x以及其对应的标签y,求解 f:xy

  • 回归 regression:输出的结果y是一个连续的变量 y=

    • 分类 classification:输出的结果y是一个离散的变量 y={1,2,3...,k}


    1.2 Unsupervised Learning


    已知输入x,并不知道其所属的类别标签y,求解将x们划分到不同的聚类中,这些聚类具体是什么类别并不知道。

    • 分类 classification:分类到各不知名的聚类中


    1.3 Semi-supervised Learning


    输入的x中,一部分有对应的标签y,大部分没有。通过这一部分有标签的去推测各不知名的聚类是什么类别。


    1.4 一张图弄懂


     
    (图片来源:台湾大学林轩田的《机器学习基石》3-2)


    2
     Linear Regression with One Variable



    2.1 Model Representation


    例子:房价预测 - 给出房子的各种特征,如面积、位置等,以及该房子对应的价格。学习一个模型,当输出其他房子的特征时,能够预测出新房子的价格。 
    明显这是一个回归模型。

    数据说明:

    (x(i)y(i))训练集中的第i条数据
    x输入数据
    y输出数据,数据x的标签(真实输出结果)
    x(i)ji条数据的第j个特征
    m训练集中数据的个数
    h(x)学习得到的模型
    ŷ 模型对输入数据x的预测结果

    由于一开始我们并不知道θ是多少,而这个就是模型需要通过数据学习得到的,和人学习一样,模型需要知道自己究竟哪里错了才能够进一步学习。


    于是提出模型的错误公式,loss/cost function来定义这个错误。


    2.2 Cost Function


    最简单的错误评估,就是将预测出来的结果同真实的结果做一个平方差:

    因为有m条数据,所以将这些个平方差求和之后再平均一下,作为整个训练集的error:

    再者,为了接下来模型根据这个error进行学习的以后更加方便,再除以2(因为平方项在求导的时候可以与这个分母2抵消):

    而最终的目的就是让这个error最小,只要error最小了,那就说明这个h(x)预测出来的结果和真实的结果相差不大了,那我们的模型就训练完毕了。

    学习目标:


    2.3 Cost Function - intuition


    接下来通过几个例子来了解一下cost function是怎么工作的,θ又该怎么取值。

    下面的图中,红色叉叉表示训练数据,黑色直线代表h(x)

    1. 当theta1 = 0.5的时候,计算得到J(θ)=0.58

    1. 当theta1=0的时候,计算得到J(θ)≈2.3

     
    4. 以此类推,再画出一些点,然后连接起来

    cost function取最小值的时候就是凹陷处,数学意义上梯度为0的地方。


    2.4 Gradient Descent


    更新过程可视化如下,从上面的点一直沿着一定的方向下降到下面的点:

    下面来看看这个步长α的取值问题:

    1. 如果α取值太小,那么下降到最小值的速度会比较慢

      • 如果α取值太大,可能一步就跳过了最小值点……

    另外,如果这个J(θ)不止一个最小值点,那么当落入局部最小值(local minimun),就跳不出来了,因为梯度已经变成了0,不再更新θ了。

    当不断靠近最小值的过程中,每次更新的速度也会下降,因为梯度越来越小了,如下图所示:

    最后把gradient descent应用到linear regression with one variable问题上:

    梯度求导如下;

    对于有一些J(θ),可能具有多个“局部最优解”,如下图:

    但是对于Linear Regression来说,J(θ)是“碗形”的,术语称为“convex function”,如下图:



    Batch Gradient Descent 


    使用训练集中所有数据的error的平均值作为一次更新,即:


    Stochastic Gradient Descent 


    使用训练集中的一个数据的error就更新一次,即:


    Mini-Batch Gradient Descent 


    使用训练集中部分数据的error的平均值作为一次更新,即:


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

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

相关文章

html如何链接sql sever,SQL Server链接服务器

链接服务器节点可以连接到另一个数据库,通常/通常在不同的机器上运行,也许在不同的城市/国家。如果您需要执行分布式查询(查询远程数据库),这可能是有用的。设置链接服务器就是相当于使用简单的 SQL Server 管理套件,所有需要的就…

C#断点续传原理与实现

在了解HTTP断点续传的原理之前,让我们先来了解一下HTTP协议,HTTP协议是一种基于tcp的简单协议,分为请求和回复两种。请求协议是由客户机(浏览器)向服务器(WEB SERVER)提交请求时发送报文的协议。回复协议是由服务器(we…

.NET:使用 LinqSharp 简化复杂查询

LinqSharp 是个开源 LINQ 扩展库,它允许您编写简单代码来生成复杂查询,包括查询扩展和动态查询生成。LinqSharp.EFCore 是对 EntityFramework 的增强库,提供更多数据注解、数据库函数及自定义储存规则等。https://github.com/zmjack/LinqShar…

c#事件的发布-订阅模型_微信灰度测试订阅号付费功能,小米推出最便宜5G套餐,腾讯辟谣高管猝死赔钱事件,核心期刊发布十岁儿童文章,这就是今天的其他大新闻!...

今天是1月15日农历十二月廿一杭州又开始下雨了今天中午出个门我们这乡下打车排队能排到十几个。。。下面是今天的其他大新闻# 微信宣布:正灰度测试订阅号付费功能( IT之家 ) 1月15日消息,腾讯微信团队今日表示,目前微信灰度测试订阅号付费能力…

据说这篇总结覆盖了一般Python开发面试中可能会问到的大部分问题

原文标题:一名python web后端开发工程师的面试总结先介绍下我的情况通信背景,工作一年多不到两年。之前一直在做C的MFC软件界面开发工作。公司为某不景气的国企研究所。(喏,我的工作经验很水:1是方向不对;2…

理解C#泛型运作原理

前言我们都知道泛型在C#的重要性,泛型是OOP语言中三大特征的多态的最重要的体现,几乎泛型撑起了整个.NET框架,在讲泛型之前,我们可以抛出一个问题,我们现在需要一个可扩容的数组类,且满足所有类型&#xff…

游戏计算机的显示器,玩游戏用多大显示器好?聊聊电脑显示器多大尺寸合适

最近有多位网友在“电脑百事网”微信公众号中留言问到“显示器多大尺寸合适”、“玩游戏用多大显示器好”类似的相关问题。今天小编就来抽空解答一下,希望对有类似问题的网络朋友有所参考。电脑显示器多大尺寸合适Q:玩游戏用多大显示器好?A&a…

搭建基于域名的虚拟web主机

创建两个目录&#xff0c;分别存放accp和benet两个网站的网页文件<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />创建两个页面用以以后的测试因为我的主页写的是index.htm&#xff0c;在配置文件httpd.conf中没有这个引导页面&…

百度地图大数据告诉你一线城市真相

01 城市人口吸引力大PK&#xff01;2017年度城市人口吸引力指数排名▼划重点&#xff1a;1、第三列里的省会城市南昌、长春、乌鲁木齐、兰州、海口、呼和浩特、西宁是对人口的吸引力较弱。2、第二列里的贵阳、沈阳、哈尔滨、石家庄、福州、合肥、南宁、昆明对人口的吸引力尚可。…

微软开源Power Fx,基于Excel的低代码编程语言

喜欢就关注我们吧&#xff01;微软宣布推出新的开源编程语言 Power Fx&#xff0c;一种基于 Microsoft Excel 的低代码公式语言&#xff1b;将可以在整个 Microsoft Power Platform 中进行使用。该语言背后的动机是开发一些 Excel 用户熟悉的东西&#xff0c;以内容为中心而不是…

如何通过自学找到一份开发的工作?

01学习过程比较仔细的学习了《cprimer》&#xff0c;并对每个习题都自己写代码实现了一遍&#xff0c;包括稍微复杂一点的例子。认真读完了《effective c》&#xff0c;《effective stl》。比较仔细的学完了《数据结构与算法分析》&#xff0c;并把其中的每种数据结构和算法都用…

BeetleX使用bootstrap5开发SPA应用

在早期版本BeetleX.WebFamily只提供了vuejselement的集成&#xff0c;由于element只适合PC管理应用开发相对于移动应用适配则没这么方便。在新版本组件集成了bootstrap5可以更好地适配移动Web应用&#xff1b;同时也集成了Fontawesome和bootstrapIcons,这样在开发过程中使用字体…

Jupyter 常见可视化框架的选择

文末有福利&#xff01;对于以Python作为技术栈的数据科学工作者&#xff0c;Jupyter是不得不提的数据报告工具。可能对于R社区而言&#xff0c;鼎鼎大名的ggplot2是常见的可视化框架&#xff0c;而大家对于Python&#xff0c;以及Jupyter为核心的交互式报告的可个视化方案就并…

AOP(面向切面编程)大概了解一下

前言上一篇在聊MemoryCache的时候&#xff0c;用到了Autofac提供的拦截器进行面向切面编程&#xff0c;很明显能体会到其优势&#xff0c;既然涉及到了&#xff0c;那就趁热打铁&#xff0c;一起来探探面向切面编程。正文1. 概述在软件业&#xff0c;AOP为Aspect Oriented Prog…

机器学习三部曲

随着科技的发展&#xff0c;计算机对人类的生产活动和社会活动产生了极为重要的影响&#xff0c;同时以强大的生命力飞速发展着。目前计算机正广泛用于社会各个领域&#xff0c;并朝着微型化、网络化、智能化和巨型化的方向前进。说到智能化&#xff0c;大家最先想到的应该就是…

AntDesign Pro + .NET Core 实现基于JWT的登录认证

很多同学说AgileConfig的UI实在是太丑了。我想想也是的&#xff0c;本来这个项目是我自己使用的&#xff0c;一开始甚至连UI都没有&#xff0c;全靠手动在数据库里修改数据。后来加上了UI也是使用了老掉牙的bootstrap3做为基础样式。前台框架也是使用了angularjs&#xff0c;同…

武汉大学计算机学院2019考研复试,2019年武汉大学硕士研究生复试及录取名单汇总...

原标题&#xff1a;2019年武汉大学硕士研究生复试及录取名单汇总考生可以通过录取名单了解到很多重要的信息&#xff0c;例如复试比例&#xff0c;进复试最低分&#xff0c;复试录取成绩&#xff0c;录取总评成绩等重要信息。以下是我们整理收集到的各学院复试录取名单汇总&…

ugui unity 取消选择_UGUI中几种不规则按钮的实现方式

前言UGUI中的按钮默认是矩形的&#xff0c;若要实现非矩形按钮该怎么做呢&#xff1f;比如这样的按钮&#xff1a;本文将介绍两种实现方式供大家选择。使用alphaHitTestMinimumThresholdImage类的alphaHitTestMinimumThreshold是一个浮点值&#xff0c;Raycast检测时只有图片中…

你的专业 VS 你妈口中你的专业

亲妈认证★英语语言文学我妈&#xff1a;她就是一个学英语的~我同学&#xff1a;你学英语的啊&#xff1f;那你看美剧不用看字幕的吧&#xff1f;你听英文歌都听得懂的吧&#xff1f;这个怎么翻译啊&#xff1f;这上面写的什么&#xff1f;你不是专八吗&#xff1f;哈喽~ 在吗&…

反射 + 抽象工厂模式切换不同的实现方法

概述工厂模式&#xff08;Abstract Factory&#xff09;定义 &#xff1a;提供一个创建一系列相关或相互依赖对象的接口&#xff0c;而无需指定它们具体的类。抽象工厂模式&#xff08;Abstract Factory Pattern&#xff09;是围绕一个超级工厂创建其他工厂。该超级工厂又称为其…