文章目录

  • 中文笔记地址
  • 视频地址
  • 第1章 引言
    • 1.1 欢迎
    • 1.2 机器学习是什么
    • 1.3 监督学习
    • 1.4 无监督学习
  • 第2章
    • 2.1 模型展示
      • 单变量线性回归
    • 2.2 代价函数
    • 2.3-2.4 代价函数理解
    • 2.5-2.6 梯度下降算法,梯度下降算法理解
  • 第3章
  • 第4章
    • 4.2 多元(多变量)梯度下降算法
    • 4.3 梯度下降实用技巧1-特征缩放
    • 4.4 梯度下降算法实用技巧2 -学习率的选择
    • 4.5 特征与多项式回归
    • 4.6 正规方程
    • 4.7 正规方程(在矩阵不可逆的时候解法)
  • 第5章
    • 5.6 向量化概念
  • 第6章
    • 6.1 分类问题
    • 6.2 假设陈述
    • 6.3 决策界限
    • 6.4代价函数
    • 6.5 简化代价函数与梯度下降
    • 6.6 高级优化
    • 6.7 多元分类:一对多
  • 第7章
    • 7. 1过拟合问题
    • 7.2 代价函数
    • 7.3 线性回归的正则化
    • 7.4 正则化的逻辑回归模型
  • 第8章
    • 8.1 非线性建设
    • 8.3 模型展示I
    • 8.4 模型展示II
    • 8.5 例子与直观理解神经网络 I
    • 8.6 例子与直观理解神经网络 II
    • 8.7 神经网络解决多元分类
  • 第9章
    • 9.1 代价函数
    • 9.2 反向传播算法
    • 9.3 理解反向传播算法
    • 9.4 使用技巧:展开参数
    • 9.5 梯度检测
    • 9.6 随机初始化
    • 9.7 总结
    • 9.8 自动驾驶
  • 第10章
    • 10.1 决定下一步做什么
  • 10.2 评估假设
    • 10.3 模型选择和训练,验证,测试集
    • 10.4 诊断偏差与方差
    • 10.5 正则化和偏差、方差
    • 10.6 学习曲线
    • 10.7 决定接下来做什么
    • 11.1 确定执行的优先级
    • 11.2 误差分析
    • 11.3 不对称性分类的误差评估
    • 11.4 查准率和召回率的权衡
    • 11.5 机器学习数据
    • 12.1 优化目标(支持向量机)
    • 12.2 直观上对于大间隔的理解
    • 12.3 大间隔分类器的数学原理
    • 12.4 核函数1
    • 12.5 核函数2
    • 12.6 使用SVM

中文笔记地址

https://github.com/fengdu78/Coursera-ML-AndrewNg-Notes

视频地址

https://www.bilibili.com/video/BV164411b7dx?p=4

https://study.163.com/course/courseLearn.htm?courseId=1210076550#/learn/video?lessonId=1280912351&courseId=1210076550

第1章 引言

1.1 欢迎

1.2 机器学习是什么

定义机器学习为:在进行特定编程的情况下,给予计算机 学习能力的领域。目前存在几种不同类型的学习算法,主要的两种类型被我们称之为监督学习和无监督学习。监督学习这个想法是指,我们将教计算机如何去完成任务, 而在无监督学习中,我们打算让它自己进行学习

1.3 监督学习

**监督学习指的就是我们给学习算法一个数据集(训练集)。这个数据集由“正确答案”组成。

回归与分类问题定义
回归 这个词的意思是,我们在试着推测出这一系列连续值属性
回归问题 ,指我们试着推测出一个连续值的结果,比如房子的价格(1-1000元),尽管价格最小单位是分,但我们还是把它作为连续值

分类指的是,我们试着推测出离散的输出值,如是否是肿瘤(是为1,不是为0)

支持向量机,里面有一个巧妙的数学技巧,能让计算机处理无限多个特征

假设你经营着一家公司,你想开发学习算法来处理这两个问题:

(1)你有一大批同样的货物,想象一下,你有上千件一模一样的货物等待出售,这时你想预测接下来的三个月能卖多少件?
(2)你有许多客户,这时你想写一个软件来检验每一个用户的账户。对于每一个账户,你要判断它们是否曾经被盗过?
那这两个问题,它们属于分类问题、还是回归问题

问题一是一个回归问题,因为你知道,如果我有数千件货物,我会把它看成一个实数(有理数+无理数),一个连续的值。因此卖出的物品数,也是一个连续的值。

问题二是一个分类问题,因为我会把预测的值,用 0 来表示账户未被盗,用 1 表示账户曾经被盗过。所以我们根据账号是否被盗过,把它们定为0 或 1,然后用算法推测一个账号是 0 还是 1,因为只有少数的离散值,所以我把它归为分类问题。

1.4 无监督学习

无监督学习中,数据集没有任何的标签或者是有相同的标签。所以我们已知数据集,却不知如何处理,也未告知每个数据点是什么

无监督学习就是运行一个聚类算法(无监督学习算法),把不同的个体,归入不同类或者归为不同的类型的人

无监督学习的第2种算法,叫“鸡尾酒会算法”,能两种混合在一起的声音区分开来(如两种混在一起的人声,人声和背景音混在一起)

问题Q&A汇总


无监督学习和有监督学习的区别:(1)数据集,有监督学习的数据集是提前打好标签的,而无监督学习的数据集是没有任何标签或标签都是相同的

第2章

2.1 模型展示

单变量线性回归

一元线性回归模型(单变量线性回归模型)
一种可能的表达方式为:
因为只含有一个特征/输入变量,因此这样的问题叫作单变量线性回归问题。h表示为假设函数


我们可以通过模型参数,a和b (对应文中的0和1两个参数),来定义不同的假设函数

2.2 代价函数

代价函数也被称作平方误差函数,有时也被称为平方误差代价函数。我们之所以要求出误差的平方和,是因为误差平方代价函数,对于大多数问题,特别是回归问题,都是一个合理的选择

整体的目标函数是使得误差平方代价函数值最小


这个最小的点,对应的参数(0,1),形成最终的目标函数


看到第2张图,是等高线,所有圆圈上(参数x0,和参数x1),对应的j(x0,x1)的值都是相同的,类似于等高线

2.3-2.4 代价函数理解


提供假设函数,该假设函数有两个参数,我们通过误差平方和来定义代价函数,当选定特定的参数0和参数1,使代价函数值最小,这个就是我们的目标函数

2.5-2.6 梯度下降算法,梯度下降算法理解

梯度下降算法,可以用于求函数的最小值,可用梯度下降算法来求出代价函数J(x0,x1)的最小值

梯度下降算法公式

公式当中的:= 为赋值,而=为条件判断语句(视频中是这样定义的)

另外更新x0,x1 参数需要同步更新,右边先更新x0 ,再更新x1 不是典型的梯度下降算法,结果可能不正确

梯度下降会自动采用更小的幅度,没有必要再降低学习率a

梯度下降可以收敛到一个局部最小值,即使学习率a是固定的。当接近一个局部最小值时,梯度下降会自动采取更小的步骤,所以不需要随时间减小学习率a

但就目前而言,应用刚刚学到的算法,你应该已经掌握了批量梯度算法,并且能把它应用到线性回归中了,这就是用于线性回归的梯度下降法

如果你之前学过线性代数,有些同学之前可能已经学过高等线性代数,你应该知道有一种计算代价函数最小值的数值解法,不需要梯度下降这种迭代算法。在后面的课程中,我们也会谈到这个方法,它可以在不需要多步梯度下降的情况下,也能解出代价函数的最小值,这是另一种称为正规方程(normal equations)的方法。实际上在数据量较大的情况下,梯度下降法比正规方程要更适用一些。

现在我们已经掌握了梯度下降,我们可以在不同的环境中使用梯度下降法,我们还将在不同的机器学习问题中大量地使用它。所以,祝贺大家成功学会你的第一个机器学习算法。

在下一段视频中,告诉你泛化(通用)的梯度下降算法,这将使梯度下降更加强大。

第3章

矩阵和向量相关概念

第4章

4.2 多元(多变量)梯度下降算法


下面是单变量梯度下降和多变量梯度下降的对比

4.3 梯度下降实用技巧1-特征缩放

特征缩放,先看左边的图,如果有两个特征,一个特征是房子大小0-2000,而另一个特征是卧室的数量(1-5),那么画出来的代价函数的图像,就是椭圆状,这种图像经过梯度下降算法,很难收敛,因为(x0,x1)会来回震荡

我们经过特征缩放,即x1=size/2000,x2=卧室数量/5,这样的操作后,x1与x2 都处于 0到1的范围


尽量使得每一个特征处于-1<= xi <=1 这个范围内,误差大一点也没关系,但是太大或者大小就要注意了

使用特征缩放时,有时候会进行均值归一化的操作

特征值x1= x1 -u1 / s1
这里的u1 就是训练数据集当中 x1 的平均值,而 s1 就是 x1的范围,即x1最大值-x1 最小值。 s1 也可以取x1的标准差,不过一般用x1最大值-x1 最小值就行

4.4 梯度下降算法实用技巧2 -学习率的选择

在梯度下降算法运行过程中,该图的横轴是迭代次数,而 竖轴是代价函数的最小值,通常情况下,迭代次数越多,代价函数的最小值会依次减小。有一个自动收敛测试,当J(x)小于 10-3 次方时,就认为已经收敛


像图中的三幅图,都要降低学习率a。但是如果学习率a太小的话,收敛就会很慢,那么如何选择合适的学习率呢

先找一个最小的学习率,再找一个太大的学习率,然后取一个最大可能值或比最大值小一些的值,作为学习率

4.5 特征与多项式回归

我们房子的特征,除了宽和高两个特征,还能把两者结合起来,如房子面积作为一个特征,这样有可能更能准确用来预测房子的价格

线性回归模型,假设函数除了选择直线外如 omg 0 + omg 1 x,还能选择二次多项式,或者三次多项式,这样可能拟合得更好,如果使用了梯度下降,需要特征缩放,不然size ,size 平方,size 三次方,差别太大

当然多项式,也可以选择平方根函数,这样或许拟合得更好。后续会介绍算法去自动选择合适的多项式

4.6 正规方程

在讲正规方程以前,我们知道使用梯度下降,是通过迭代的方法,使得代价函数不断下降

通过求导,或者求所有变量的偏微分,可以获取函数的最小值,但这样实现起来过于复杂,这里我需要知道实现原理即可

对于下面这个例子,有4个特征,我们构造x0的一列,然后表示出矩阵X和向量y,通过下面这个式子就能直接求出oumiga的最小值

构造正规方程的步骤如下

注意:使用正规方程,不用进行特征缩放

对比梯度下降和正规方程,一般特征数量 n>10000 对于线性回归模型就可以使用梯度下降

4.7 正规方程(在矩阵不可逆的时候解法)

XT.X不可逆的情况下,仍然可以使用Octave 里面的伪逆函数pinv 获取正确的结果

其余解决办法有两个,(1)一些已经线性相关的特征,如x1=(3.28)平方* x2,这时候可以去掉x2这个特征
(2)如果特征太多(比如=样本m太少,而特征n太多),可以删除一些特征,或者使用正则化方法

第5章

5.6 向量化概念

用C++ 实现向量化的计算

梯度下降的公式,未用向量化实现

梯度下降算法用向量化实现后的公式

第6章

6.1 分类问题

如果将线性回归用于分类问题上,看到图像1 拟合得很好,当假设函数h(x)>= 0.5 时,预测 y=1 ,就是肿瘤为恶性,当h(x)< 0.5 时,预测 y=0 ,肿瘤为良性。但如果增加一个点x ,假设函数就会变成图像2,这时当h(x)< 0.5时,预测就不准了,此时当h(x)< 0.5 ,有两个恶性肿瘤样本也被认为是良性肿瘤了

使用逻辑回归算法,可以使得假设函数的值在0-1之间

6.2 假设陈述

逻辑回归模型

看一个具体的逻辑回归问题

P(y=0| x;oumiga) 这个公式可以理解成条件概率

6.3 决策界限


g(z)> =0.5 当 z >=0 时

6.4代价函数

逻辑回归的代价函数选择


如果直接使用线性回归的,误差平方作为代价函数,会出现代价函数不是凸函数的情况,会得到局部最优解,影响梯度下降算法寻找全局最小值

下面是逻辑回归的代价函数

先看下if y=1 的函数图像,如果 y=1 时,h(x)接近为0,这时候认定他是一个恶性肿瘤,这时候代价会很大(因为之前预测是h(x)<0.5 是良性)

下面是y=0的代价函数,当h(x)=1 时,若还是预测y=0 ,代价会非常高

6.5 简化代价函数与梯度下降

可以将逻辑回归的代价函数进行简化

注意,假设函数的输出值,表示的P(y=1 |x;oumiga即为恶性肿瘤的概率,逻辑回归的代价函数,是根据统计学当中的最大似然估计得出的


下面的图1,少了1/m,网上说也可以归到学习率里面去


图1

利用梯度下降算法找到代价函数的最小值,表面上看上去与线性回归的梯度下降算法一样,但是这里 的h

【机器学习】机器学习笔记(吴恩达)相关推荐

  1. 斯坦福大学机器学习课程资料-吴恩达老师主讲(2008版)

    吴恩达老师于08年在斯坦福大学开办的机器学习课程,本站将课程视频.讲义.笔记分享下,这个课程的视频比较模糊,有大量的数学推导,有点难度,建议有一定数学基础的同学学习,初学者请绕道. 吴恩达老师后来推出 ...

  2. 笔记 | 吴恩达Coursera Deep Learning学习笔记

    向AI转型的程序员都关注了这个号☝☝☝ 作者:Lisa Song 微软总部云智能高级数据科学家,现居西雅图.具有多年机器学习和深度学习的应用经验,熟悉各种业务场景下机器学习和人工智能产品的需求分析.架 ...

  3. 吴恩达卷积神经网络 笔记,吴恩达 深度神经网络

    如何评价吴恩达的学术地位 吴恩达(AndrewNg),斯坦福计算机系的副教授,师从机器学习的大师级人物MichaelI.Jordan. 同门师兄弟包括ZoubinGhahramani,TommiJaa ...

  4. 吴恩达卷积神经网络笔记,吴恩达人工智能公开课

    吴恩达是个谁 吴恩达(1976-,英文名:AndrewNg),华裔美国人,是斯坦福大学计算机科学系和电子工程系副教授,人工智能实验室主任.吴恩达是人工智能和机器学习领域国际上最权威的学者之一. 吴恩达 ...

  5. 机器学习笔记—吴恩达

    该部分整理了关于机器学习基础理论的知识,整合了其他大佬的笔记做了 一份x-mind图.需要的话可以自取. 还有相关的数学基础理论也做了部分笔记 链接:https://pan.baidu.com/s/1 ...

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

    1 1. Introduction 1.1 Supervised Learning 已知输入x以及其对应的标签y,求解 f:x→y 回归 regression:输出的结果y是一个连续的变量 y=ℝ 分 ...

  7. 学习笔记 吴恩达 斯坦福大学公开课 :机器学习课程-1 机器学习的动机与应用

    机器学习的动机与应用 1,机器学习的定义 1959:"Field of study that gives computers the ability to learn without bei ...

  8. 机器学习(Machine Learning) - 吴恩达(Andrew Ng) 视频笔记

    背景:写于20190408,大概一周前我已经看到了P47 8-4 - Model Representation II 视频链接:https://www.bilibili.com/video/av991 ...

  9. 机器学习入门(吴恩达)——单变量线性回归

    2.1模型表示 从线性回归算法开始学起,从一个预测住房价格的例子开始,需要一个数据集(包含住房价格),根据不同房子尺寸的大小所出售的价格,画出数据集如下图 要想知道多大的房子可以出售什么价格,就需要构 ...

  10. 【简单入门】ChatGPT prompt engineering (中文版)笔记 |吴恩达ChatGPT 提示工程

    目录 思维导图 一.资料 二. 指南 环境配置 两个基本原则(最重要!!!!) 原则一:编写清晰.具体的指令 **策略一:使用分隔符清晰地表示输入的不同部分**,**分隔符可以是:```," ...

最新文章

  1. 基于 Nginx+lua+Memcache 实现灰度发布
  2. 三星note5 android版本区别吗,三星Note5哪种颜色好看?三星Note5四种颜色区别对比图解...
  3. Codeforces Round #191 (Div. 2)
  4. 零基础学Python(第二十一章 OS文件目录)
  5. (超详细版)Linux下Hadoop2.7.1集群环境的搭建(3台为例)
  6. c#Process.Start无法启动exe程序的问题
  7. 限时秒杀┃秒杀90%的玩具,让孩子爱上科学的彩虹实验2来了!
  8. 2019第三届中国通信业物联网大会邀请函
  9. win10远程桌面 CredSSP加密Oracle修正的解决办法
  10. HTML知识积累及实践(二) - 标签样式
  11. sublime python调试_如何用sublime调试程序
  12. 手撕代码合集[短期更新]
  13. 深度学习与自动驾驶领域的数据集(KITTI,Oxford,Cityscape,Comma.ai,BDDV,TORCS,Udacity,GTA,CARLA,Carcraft)
  14. GoldWave几种转换格式方法
  15. 如果们正预测基本面子
  16. python基础之文件处理
  17. 亚马逊违反受限商品政策三次,亚马逊恢复受限asin
  18. 大学计算机组装作业台式,组装一部单机作业基本型计算机的50步骤
  19. WiFi-ESP8266入门http(3-4)网页一键配网(1若为普通wifi直连 2若为西电网页认证自动网页post请求连接)+网页按钮灯控+MQTT通信...
  20. 数字IC所用软件及IP分类

热门文章

  1. DTU接入ZWS云的通信协议
  2. 【Linux-网桥原理分析】
  3. 牛客小白月赛17 - J - 计数(组合数学隔板法)
  4. h5抽奖大转盘开发笔记小结,涉及到的知识点和包资源
  5. 新手做自媒体短视频,会用到的工具和素材站分享,收藏起来慢慢看
  6. NGS检测ALK融合大起底--转载
  7. html仿ppt动画,jquery仿PPT幻灯片特效插件ppt.js
  8. CRMEB多商户版跨域问题解决
  9. Vue如何优雅地进行事件解绑和解绑
  10. (译)BPF技巧和窍门:bpf_trace_printk() 和 bpf_printk() 指南