吴恩达机器学习笔记(week1——week5)

2024-06-23 08:32

本文主要是介绍吴恩达机器学习笔记(week1——week5),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Week1 


转自该大神~~~~~ http://scruel.gitee.io/ml-andrewng-notes/week1.html   

一、 引言(Introduction)

1.1 欢迎

1.2 机器学习是什么?

1.3 监督学习

1.4 无监督学习

二、单变量线性回归(Linear Regression with One Variable)

2.1 模型表示

2.2 代价函数

2.3 代价函数的直观理解I

2.4 代价函数的直观理解II

2.5 梯度下降

2.6 梯度下降的直观理解

2.7 梯度下降的线性回归

2.8 接下来的内容

三、线性代数回顾(Linear Algebra Review)

3.1 矩阵和向量

3.2 加法和标量乘法

3.3 矩阵向量乘法

3.4 矩阵乘法

3.5 矩阵乘法的性质

3.6 逆、转置


补充:

    A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E

  一个程序被认为能从经验E中学习解决任务 T,达到 性能度量值P,当且仅当,有了经验E后,经过P评判, 程序在处理 T 时的性能有所提升。


    一般来说,任何机器学习问题都可以分配到两大类中的一个:有监督学习和无监督学习。

监督学习

在监督式学习中,我们得到了一个数据集,并且已经知道我们的正确输出应该是什么样子,并且认为输入和输出之间存在关系。
监督学习问题分为“回归”和“分类”问题。在回归问题中,我们试图预测连续输出中的结果,这意味着我们试图将输入变量映射到某个连续函数。在分类问题中,我们试图预测离散输出中的结果。换句话说,我们试图将输入变量映射到离散的类别中。

例1:
给定有关房地产市场上房屋大小的数据,尝试预测其价格。作为尺寸函数的价格是连续的输出,所以这是一个回归问题。我们可以把这个例子变成一个分类问题,而不是让我们的输出关于房子是“卖出多少还是低于要价”。在这里,我们将基于价格的房屋分为两类。
例2:
(a)回归 - 给定一张人的照片,我们必须根据给定的图片预测他们的年龄

(b)分类 - 给予患有肿瘤的患者,我们必须预测肿瘤是恶性的还是良性的。

无监督学习

无监督学习使我们能够很少或根本不知道我们的结果应该是什么样子。 我们可以从数据中得出结构,我们不一定知道变量的影响。
我们可以通过基于数据中变量之间的关系对数据进行聚类来推导出这种结构。
在无监督学习的情况下,没有基于预测结果的反馈。

例:
聚类:获取1,000,000个不同基因的集合,并找到一种方法将这些基因自动分组成不同变量的相似或相关的组,例如寿命,位置,角色等。

非聚类:“鸡尾酒会算法”,允许您在混乱的环境中查找结构。 (即在鸡尾酒会上识别来自声音网格的个人声音和音乐)。

代价函数

通过使用代价函数来衡量假设函数的准确性。该函数被称为“平方误差函数”或“均方误差”。

以下图片总结了代价函数的作用:



Week2

大神笔记  http://scruel.gitee.io/ml-andrewng-notes/week2.html


四、多变量线性回归(Linear Regression with Multiple Variables)

4.1 多维特征

4.2 多变量梯度下降

4.3 梯度下降法实践1-特征缩放

4.4 梯度下降法实践2-学习率

4.5 特征和多项式回归

4.6 正规方程

4.7 正规方程及不可逆性(选修)

五、Octave教程(Octave Tutorial)

5.1 基本操作

5.2 移动数据

5.3 计算数据

5.4 绘图数据

5.5 控制语句:for,while,if语句

5.6 向量化 88

5.7 工作和提交的编程练习


补充:

以下为便于理解添加的图或内容

4.1多特征:

4.2多变量梯度下降

一与多:


4.3梯度下降——特征值缩放


4.4梯度下降——学习效率


4.5特征和多项式回归

    我们可以通过使它成为二次函数,立方函数或平方根函数(或任何其他形式)来改变我们的假设函数的行为或曲线。线性回归只能以直线来对数据进行拟合,有时候需要使用曲线来对数据进行拟合,即多项式回归(Polynomial Regression)。在使用多项式回归时,要记住非常有必要进行特征缩放,比如  的范围为 1-1000,那么  的范围则为 1- 1000000,不适用特征缩放的话,范围更有不一致,也更易影响效率。

4.6正规方程(标准化方程):

矩阵的求导公式是关键,图片转载自https://blog.csdn.net/perfect_accepted/article/details/78383434



4.7不可逆性正规方程

选讲


Week3


大神笔记http://scruel.gitee.io/ml-andrewng-notes/week3.html#header-n109


六、逻辑回归(Logistic Regression)

6.1 分类问题

6.2 假说表示

6.3 判定边界

6.4 代价函数

6.5 简化的成本函数和梯度下降

6.6 高级优化

6.7 多类别分类:一对多

七、正则化(Regularization)

7.1 过拟合的问题

7.2 代价函数

7.3 正则化线性回归

7.4 正则化的逻辑回归模型


补充:

6.5 简化的成本函数和梯度下降(Simplified Cost Function and Gradient Descent)

此    逻辑回归中代价函数求导推导   更容易理解


注意:倒数第二步最后一项z对θj求偏导写到累加里面


7.2 代价函数(Cost Function)

调整学习速率和正则化参数的技巧:

    先调整学习速率,使迭代次数在一个可以接受的范围内,因此学习速率过小,会导致迭代次数很大,初始lambda是不是应该设为0。

1.在现有学习速率的基础上,在验证集上调整正则化参数,主在是判断是不是出现了variant和bias的问题。

(1)如果lambda过小,则可能会出现variant问题,那就是训练误差很小,而验证集上的误差很大,增加labmda会使步长(学习速率与增量的乘积)变小,学习速率变慢。

(2)如果lambda过大,则可能会出现bias的问题,就是训练误差和验证误差都很大,并且相差很小,减少lambda会使步长变大,从而使得收敛速度变快。

2.最终的结果应该是使得训练误差和验证误差都比较小,而且很接近,并且训练误差在有限迭代次数内能达到最小值。
(1)增加学习速率,相当于增加步长,也相当于增加正则化参数

(2)减小学习速率,相当于减小步长,也相当于减小正则化参数。

3. 在现有基础上,由于增加lambda会使学习速率变慢,因此需要在轻度过拟合的时候增加学习速率的值,这样也可以进一步减轻过拟合问题(增加学习速率,会变相增加正则化参数)。也就是当存在轻度过拟合问题,并且学习过程过慢的情况下,应该增加学习速率的值,而不是正则化参数lambda的值。但是如果学习速率过大,会导致步长过大,导致训练误差比较大,进一步也会影响验证误差,也就是说增加学习速率会有可能会使验证误差变大。

4. 如果lambda过大,则会出现bias的问题,这时应该减少lambda的值,注意,这也相当于减小了步长,会使收敛速率加快。

需要注意的是:验证集上的误差会在迭代过程中,出现先小后大的情况,我们似乎只需要关注在训练集上收敛的情况。

     由于限制了迭代的次数,所以在准确率上会有所损失(训练误差只是近似最优),但应该也在可以接受的范围之内。

     在过拟合情况下,训练误差的最优值会比较小,而在正常情况下,训练误差会比较大,也验证误差相当。因此,在调参的过程中,会出现训练误差逐步增加的情况(从过学习到正常情况)。 


Week4

大神笔记:     http://ai-start.com/ml2014/html/week4.html#header-n634

第八、神经网络:表述(Neural Networks: Representation)

8.1 非线性假设

8.2 神经元和大脑

8.3 模型表示1

8.4 模型表示2

8.5 样本和直观理解1

8.6 样本和直观理解II

8.7 多类分类

补充:

8.7    Suppose you have a multi-class classification problem with 10 classes. Your neural network has 3 layers, and the hidden layer (layer 2) has 5 units. Using the one-vs-all method described here, how many elements does Θ(2)

50    55    60√    66

多类分类器包含十个类,第三层激活单元为10作θ行,第二层有5个单元,加上一个偏差,则为6个作θ列,θ维度应为10*6

异或实现XOR      (x1 OR x2) AND ((NOT x1) OR (NOT x2))


Week5

http://scruel.gitee.io/ml-andrewng-notes/week5.html

http://ai-start.com/ml2014/html/week5.html

任何布尔函数都可由两层神经网络准确表达,但所需的中间单元的数量随输入呈指数级增长;

任何连续函数都可由两层神经网络以任意精度逼近;

任何函数都可由三层神经网络以任意程度逼近。


九、神经网络的学习(Neural Networks: Learning)

9.1 代价函数

9.2 反向传播算法

9.3 反向传播算法的直观理解

9.4 实现注意:展开参数

9.5 梯度检验

9.6 随机初始化

9.7 综合起来

9.8 自主驾驶


这篇关于吴恩达机器学习笔记(week1——week5)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1086647

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件