![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
吴恩达机器学习笔记
文章平均质量分 73
George&Rita
星光不负赶路人!
展开
-
吴恩达机器学习笔记(十六)——大数据集处理
1.学习大数据集从某种意义上来说,大数据集确实可以使得模型效果变得更好,如下图所示:但是,大数据集带来更大的计算问题,例如计算代价函数时的计算量会变得很大同时,我们也知道大数据量对高方差的模型有效果,而对高偏差的模型效果不大。2.随机梯度下降在我们之间的学习中,我们进行梯度下降都是采用所有样本来计算,这就导致计算量很大。这种方式的梯度下降较快,如下图基于此,就提出了随机梯度下降的思想:每次只采用一个样本来更新梯度,这样就可以减少计算量,具体步骤如下图所示:对于上图,我们需要注意的点原创 2021-07-13 10:57:21 · 605 阅读 · 0 评论 -
吴恩达机器学习视频笔记和编程作业(Python实现)汇总
1.吴恩达机器学习视频笔记吴恩达机器学习笔记(一)——机器学习概念吴恩达机器学习笔记(二)——单变量线性回归吴恩达机器学习笔记(三)——线性代数及应用吴恩达机器学习笔记(四)——多元线性回归吴恩达机器学习笔记(五)——逻辑回归吴恩达机器学习笔记(六)——过拟合问题吴恩达机器学习笔记(七)——初识神经网络吴恩达机器学习笔记(八)——深入神经网络吴恩达机器学习笔记(九)——机器学习系统的建议吴恩达机器学习笔记(十)——机器学习系统设计吴恩达机器学习笔记(十一)——支持向量机吴恩达机器学习原创 2021-07-11 16:53:23 · 1509 阅读 · 0 评论 -
吴恩达机器学习课后作业——异常检测和推荐系统
1.写在前面吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了。所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了。作业及数据下载网址:吴恩达机器学习课程2.异常检测作业1作业一中主要是异常检测,并标注异常点,分别采用单变量高斯分布和多变量高斯分布。下面附上代码,有详细的注释,这里就不一一解释了。# author:FLC# time:2021/7/10import numpy as npimport scipy.io as scio原创 2021-07-11 16:43:05 · 613 阅读 · 3 评论 -
吴恩达机器学习笔记(十五)——推荐系统
1.问题规划推荐系统在我们的日常生活中其实很常见,比如电影推荐等等。因此下面就以电影推荐为例子介绍推荐系统。首先如下图所示:上图中的一些信息点包括如下:例子是一个电影评分的例子,用户可以对电影进行0~5的评分。如果用户未对某个电影进行评分,那么就会被标记为?。从图中可以看到,Alice和Bob对于前三个电影的评分较高,这三个电影大多偏向于爱情。而对于后面两个电影的评分则为0,这两个电影偏向于动作类。Carol和Dave则与之相反。定义几个符号:nu代表用户的数量,这里nu=4。nm代表电影的原创 2021-07-10 17:50:02 · 418 阅读 · 1 评论 -
吴恩达机器学习笔记(十四)——异常检测
1. 问题动机异常检测问题的具体应用其实在我们的生活中很常见,例如我们的飞机制造工厂新生产了一批飞机,我们需要检测这批飞机中是否存在不合格的飞机,这时我们就会应用异常检测。我们通常的做法是构建一个模型,计算p(x),也就是对x的分布概率建模。我们设定一个阈值ε,当p(xtest)<ε,则判定为异常。当p(xtest) >= ε时就判定为合格。飞机异常检测的例子如下图所示:2. 高斯分布 (正态分布)假设x∈实数,且x的均值为u,方差为σ2,则用数学符号可以表示为x~N(u,σ2),图原创 2021-07-10 00:03:03 · 739 阅读 · 2 评论 -
吴恩达机器学习课后作业——KMeans和PCA
1.写在前面吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了。所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了。作业及数据下载网址:吴恩达机器学习课程2.KMeans作业1作业一中主要是实现聚类算法下面附上代码,有详细的注释,这里就不一一解释了。# author:FLC# time:2021/7/5import numpy as npimport scipy.io as scioimport sysimport matplo原创 2021-07-06 17:54:27 · 872 阅读 · 0 评论 -
吴恩达机器学习笔记(十三)——降维
1.降维应用:数据压缩降维首先是可以用于数据压缩的,例如将2维数据降维成一维数据,就可以将存储量减小一半,如下图所示:又如下面从三维降至二维的数据所示:2.降维应用:可视化降维还可以将原本无法可视化的数据通过降维从而进行可视化。如下图是各国的各项数据,因为特征较多,因此无法进行可视化:通过降维成二维数据,我们就可以进行可视化了,如下图所示:...原创 2021-07-05 16:16:24 · 658 阅读 · 0 评论 -
吴恩达机器学习笔记(十二)——聚类
1. 无监督学习我们先来回顾一下之前的监督,监督学习的数据都是有标记的数据,如下图所示:而对于无监督学习来说,就是使用没有标记的数据,也就是不会有标签y,如下图所示:2. K-Means算法首先KMeans算法需要有两个输入:K(聚类的个数)训练集{x(1)、x(2)、…、x(m)}其中我们约定x(i)∈Rn(注意这里不需要加入x0=1)接下来是K-Means算法的具体实现步骤,如下图所示:其中上图中我们需要注意的是:首先是要随机初始化K个聚类中心u1,u2,…,uK,其中这原创 2021-07-02 15:39:46 · 542 阅读 · 0 评论 -
吴恩达机器学习课后作业——支持向量机
1.写在前面吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了。所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了。作业及数据下载网址:吴恩达机器学习课程2.数据集一数据集一中,我们主要是通过修改参数C来观察结果的变化。下面附上代码,有详细的注释,这里就不一一解释了。# author:FLC# time:2021/6/30import numpy as npimport scipy.io as scioimport matplot原创 2021-06-30 23:04:53 · 893 阅读 · 7 评论 -
吴恩达机器学习笔记(十一)——支持向量机
1. 优化目标首先从逻辑回归开始讲起,我们会先定义sigmoid函数然后我们根据sigmoid函数绘制出它的图像,如下图所示:基于上面的图像,我们可以得到下面的结论:如果y=1,那么我们期望得到hθ(x)≈1,即要使θTx >>0如果y=0,那么我们期望得到hθ(x)≈0,即要使θTx <<0下面接着讨论逻辑回归中单个样本的代价函数,如下图所示:紧接着,我们根据逻辑回归的代价函数图像类比出支持向量机中代价函数图像,如下图所示:上图中需要注意的地方有以下几个原创 2021-06-30 17:25:04 · 596 阅读 · 0 评论 -
吴恩达机器学习课后作业——偏差和方差
1.写在前面吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了。所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了。作业及数据下载网址:吴恩达机器学习课程2.反向传播反向的作业同样也是一个识别手写数字的任务,需要定义带正则化的代价函数、随机初始化矩阵函数、正向传播函数、反向传播函数等。下面附上代码,有详细的注释,这里就不一一解释了。import numpy as npimport pandas as pdimport scipy.io a原创 2021-06-24 10:38:42 · 360 阅读 · 0 评论 -
吴恩达机器学习笔记(十)——机器学习系统设计
1.误差分析当我们在开发一个机器学习系统的时候,我们通常不会立即建造出一个十分复杂的系统。相反,我们通常会优先构建一个简单的系统,然后分析这个系统有哪些方面可以进行改进,从而不断优化这个系统。此外,我们还应该认识到对于误差定量分析的重要性,我们对误差确定一个量化的指标,然后在交叉验证集中计算每种模型的误差,这样就很方便我们选择模型。2.不对称分类的误差评估在本小节中,我们接着前面提到的判断病人是否得了癌症的例子。当我们的训练集中只有0.5%的人得了癌症,剩下的人都没有患病,就有可能造成计算误差失效的原创 2021-06-20 19:23:16 · 458 阅读 · 6 评论 -
吴恩达机器学习笔记(九)——机器学习系统的建议
1.决定下一步做什么假设我们已经实现了一个机器学习系统,但是他的预测表现并不是太好。那么我们就需要想办法去改进我们的机器学习系统,下面是我们通常会想到的一些办法:获取更多的训练集减少特征的数量(防止过拟合)增加特征的数量增加更多高阶多项式特征(x12,x22,x1x2等等)尝试增大lamda尝试减小lamda但是大部分人对于上面方法的选择都是靠感觉来选择的,因此很可能一开始选择努力的方向就是错误的。在接下来的小节中,我们会讨论机器学习模型的诊断方法。2.评估假设对于两个维度的数据,原创 2021-06-20 16:15:48 · 426 阅读 · 1 评论 -
吴恩达机器学习课后作业——反向传播
1.写在前面吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了。所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了。作业及数据下载网址:吴恩达机器学习课程2.反向传播反向的作业同样也是一个识别手写数字的任务,需要定义带正则化的代价函数、随机初始化矩阵函数、正向传播函数、反向传播函数等。下面附上代码,有详细的注释,这里就不一一解释了。import numpy as npimport pandas as pdimport scipy.io a原创 2021-06-15 19:29:46 · 547 阅读 · 2 评论 -
吴恩达机器学习课后作业——多元分类及前向传播
1.写在前面吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了。所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了。作业及数据下载网址:吴恩达机器学习课程2.多元分类多元分类的作业是一个识别手写数字的任务,主要包含两方面的任务:对初始数据进行可视化和进行数字的识别。下面附上代码,有详细的注释,这里就不一一解释了。import scipy.io as scio #用于导入mat文件的库from scipy.optimize i原创 2021-05-31 17:28:15 · 490 阅读 · 0 评论 -
一文读懂反向传播算法原理
1.前言 写这个文章主要是因为学习了吴恩达老师的机器学习视频,在神经网络的反向传播算法(Back Propagation)的公式推导有些模糊,所以自己也查阅了很多资料,才基本搞明白其中的原理。所以希望通过写一下文章来进行梳理一下。 因为本文的公式推导是基于吴恩达老师的课程,课程里的神经网络部分主要讲述的是神经网络在分类的应用,因此激活函数采用的是sigmoid函数,下面的公式推导也基于这个进行推导。 最后,因为自己是刚开始学习机器学习,所以可能理解上存在一些小的偏差。如果文章中有错误,欢迎大家指原创 2021-05-28 20:34:48 · 16330 阅读 · 9 评论 -
吴恩达机器学习笔记(八)——深入神经网络
注:在吴恩达老师的机器学习的视频中,神经网络部分更多的讨论是在分类方面的应用。1. 代价函数首先,我们拥有如下的神经网络架构,如下图所示:然后我们拥有如下的训练集,如下图所示:接下来我们需要定义两个概念:L = 神经网络的总层数sl = 第l层中的单元数(不包括偏置单元)如上图s1=3、s2=5并且从之前的知识,我们也了解到:当进行二元分类的时候,输出层会只有一个单元。当进行多元分类的时候,输出层会有多个单元,因为输出的是一个向量。如下图所示:因此对比于简单逻辑回归的代价函数,我们可以原创 2021-05-27 16:49:04 · 697 阅读 · 0 评论 -
吴恩达机器学习笔记(七)——初识神经网络
1.非线性假设对于我们之前学习的逻辑回归,当决策边界明显不是直线的时候,我们就需要使用高阶的多项式去绘制决策边界,但是当特征的数量不断增大,那么计算量也会随之增大,如下图所示,当有100个特征的时候:因此,简单的逻辑回归算法并不适合在特征n很大的情况下学习复杂的非线性假设。而神经网络则是学习复杂的非线性假设的一种好办法。2.神经网络的发展神经网络的出现是起源于人类想去模仿人类的神经系统,但是在早期因为计算能力上的不足,因此早期的神经网络发展有些停滞。但是随着计算能力的发展,神经网络近些年来又被广泛原创 2021-05-25 17:12:39 · 632 阅读 · 1 评论 -
吴恩达机器学习课后作业——逻辑回归(Python实现)
1.写在前面吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了。所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了。作业及数据下载网址:吴恩达机器学习课程2.逻辑回归实现逻辑回归的作业主要包含两个任务:对决策边界进行可视化以及进行预测。下面附上代码,有详细的注释,这里就不一一解释了。import pandas as pdimport numpy as npimport matplotlib.pyplot as pltimport mat原创 2021-05-24 23:03:47 · 4188 阅读 · 20 评论 -
吴恩达机器学习笔记(六)——过拟合问题
1. 过拟合现象对于过拟合现象,这里采用线性回归中预测房价的例子来进行阐述。具体如下图所示:然后我们分别来评价者三个图对于数据的拟合效果。对于第一幅图而言,实际上就是强行用直线来进行拟合,但是这些数据明显不是一个线性的关系。通常我们将第一幅图的效果称为“欠拟合”。对于第二幅图而言,可以看到拟合效果是比较好的,并且也符合房价逐渐增大后会趋于平稳。对于第三幅图而言,虽然对于训练集的数据拟合效果非常好,但是我们可以观察到假设函数中有许多高阶项,导致拟合的曲线上下波动较大,我们通常把这种称为具有高方差原创 2021-05-18 17:06:30 · 1130 阅读 · 1 评论 -
吴恩达机器学习笔记(五)——逻辑回归
1.分类前面学习的线性回归是针对连续型的,本节学习的逻辑回归则是用来处理分类问题的,也就是得到的结果是离散值{1,2,3,…}。之所以叫逻辑回归,是因为历史原因,但是实际上是用来处理分类问题。如果对于分类问题采用线性回归的话,那么拟合曲线就会十分容易受到离群值的影响,造成预测的分类偏差较大。如下图所示:2.假设陈述在进行二分类问题的时候,我们会希望我们的假设函数因此,我们需要提出一个假设,让因变量y=hθ(x)位于0到1之间。在逻辑回归中,我们首先会令接着我们会令将两个公式进行整理原创 2021-05-17 17:50:13 · 707 阅读 · 0 评论 -
吴恩达机器学习课后作业——线性回归(Python实现)
1.写在前面吴恩达机器学习的课后作业及数据可以在coursera平台上进行下载,只要注册一下就可以添加课程了。所以这里就不写题目和数据了,有需要的小伙伴自行去下载就可以了。作业及数据下载网址:吴恩达机器学习课程2.单变量线性回归单变量的线性回归的作业主要包含两个任务:进行拟合函数的绘制以及展示梯度下降的过程。下面附上代码,有详细的注释,这里就不一一解释了。import pandas as pdimport numpy as npimport matplotlibimport matplotl原创 2021-05-15 18:00:28 · 1457 阅读 · 3 评论 -
吴恩达机器学习笔记(四)——多元线性回归
1. 多特征在之前学的线性回归中,只有一个特征。但是在实际生活中,我们还会考虑许多因素,因此通常会使用到多元线性回归。在这里,我们依然使用波特兰的房价数据,但是在前面的基础上,增加了多个特征进行房价的预测。具体如下图:为此我们需要增加一些符号的定义:n代表特征的个数(上图中n=4)m代表训练集样本的个数(上图中m=47)x(i)代表第i个样本(上图中x(2)=[1416,3,2,40])xj(i)代表第i个样本的第j个特征(上图中x2(2)=3)根据新的训练集,我们可以得出一个多元的假设函原创 2021-05-12 17:02:19 · 1080 阅读 · 0 评论 -
吴恩达机器学习笔记(三)——线性代数及应用
因为自己有线性代数的基础,所以吴老师讲解的一些线性代数的基础知识就不一一列举,这里只归纳部分知识。1.案例1通过矩阵的运算,我们可以快速计算出多个房价的预测值,极大加快速度,如下图:2.逆矩阵逆矩阵:如果矩阵A是一个m*m的方阵,且可逆,则不存在逆矩阵的矩阵称为非奇异矩阵或退化矩阵。...原创 2021-05-07 22:03:22 · 238 阅读 · 0 评论 -
吴恩达机器学习笔记(二)——单变量线性回归
1.模型的定义下面我们采用波特兰的一个数据集进行举例,数据展示的是房屋的大小以及对应价格之间的关系,数据如下:对于监督学习,我们通常会有一个数据集,又称为训练集。下面对于一些符号进行定义:m表示训练样本的数量x表示输入变量或者说是特征y表示要预测的目标变量(x,y)表示一个训练样本(x^(i) , y^(i))表示特定的第i个训练样本并且对于监督学习的具体流程我们可以从下图清晰的看出:其中h通常称为假设函数。那我们要如何求得h呢?我们可以尝试使用一元线性表达式进行拟合房价的数据,得原创 2021-05-07 17:52:25 · 543 阅读 · 0 评论 -
吴恩达机器学习笔记(一)——机器学习概念
1. 机器学习定义Samul的定义:在没有明确设置的情况下,使计算机具有学习能力的研究领域;Mitchell的定义:计算机程序从经验E中学习(程序与自己下几万次跳棋),解决某一任务T(玩跳棋),进行某一性能度量P(与新对手玩跳棋的胜率),通过P测定在T随着在经验E中学习后的表现;2. 机器学习的分类最主要的两种分类:监督学习(Supervised learning)和无监督学习(Unsupervised learning)其他类型的机器学习算法:强化学习(Reinforcement learing原创 2021-04-10 17:13:26 · 466 阅读 · 0 评论