
机器学习吴恩达(基础)
主要对吴恩达机器学习的少学时课程的总结
身影王座
人生在世,谦字当头;学海无涯,愿得一慧眼,以小观世界。
展开
-
机器学习吴恩达第十周
17、大规模机器学习17.1大型数据集学习首先应该做的事是去检查一个这么大规模的训练集是否真的必要,也许我们只用 1000个训练集也能获得较好的效果,我们可以绘制学习曲线来帮助判断。17.2随机梯度下降算法如果我们一定需要一个大规模的训练集,我们可以尝试使用随机梯度下降法(SGD)来代替批量梯度下降法。在随机梯度下降法中,我们定义代价函数为一个单一训练实例的代价:随机梯度下降算法为:首先对训练集随机“洗牌”,然后:随机梯度下降算法在每一次计算之后便更新参数 ???? ,而不需要首先将所有原创 2020-07-26 13:48:38 · 412 阅读 · 0 评论 -
机器学习吴恩达编程作业题8-异常检测和推荐系统
1、异常检测实现一个异常检测算法来检测服务器计算机中的异常行为。这些特性测量每台服务器的吞吐量(mb/s)和响应延迟(ms)。在这个数据集中,你将拟合一个高斯分布,然后找到概率很低的值,因此可以被视为异常。然后,将异常检测算法应用到具有多个维度的更大的数据集。将所需要的数据集ex8data1.mat复制到D:\Machine Learning\ex8目录下,然后利用plot函数可视化数据集:1.1高斯分布要执行异常检测,首先需要使模型适合数据的分布。1.2估计高斯参数使用以下公式估计第i个原创 2020-07-26 09:29:19 · 658 阅读 · 0 评论 -
机器学习吴恩达第九周
15、异常检测15.1问题的动机这样一来,你就有了一个数据集,从????(1)到????(????),如果你生产了????个引擎的话,你将这些数据绘制成图表,看起来就是这个样子:15.2高斯分布机器学习中对于方差我们通常只除以????而非统计学中的(???? − 1)。15.3算法我们选择一个????,将????(????) = ????作为我们的判定边界,当????(????) > ????时预测数据为正常数据,否则为异常。15.4开发和评价一个异常检测系统例如:我们有 100原创 2020-07-24 20:45:55 · 203 阅读 · 0 评论 -
机器学习吴恩达编程作业题7-K-均值聚类和主成分分析
1、K-均值聚类1.1实施方法K-means算法是一种将相似数据自动聚类到一起的方法。算法的内环重复执行两个步骤:(i)将每个训练样本x(i)分配到其最近的质心,(ii)使用分配给它的点重新计算每个质心的平均值。K-means算法总是收敛到质心的某个最终均值集。注意,收敛解可能并不总是理想的,并且取决于质心的初始设置。因此,在实际应用中,K-means算法通常会以不同的随机初始化运行几次。在不同随机初始化的不同解决方案之间进行选择的一种方法是选择成本函数值(失真)最低的一个。1.1.1找到最近的质心原创 2020-07-22 21:32:32 · 1899 阅读 · 0 评论 -
机器学习吴恩达第八周
13、聚类13.1无监督学习:简介图上的数据看起来可以分成两个分开的点集(称为簇),一个能够找到我圈出的这些点集的算法,就被称为聚类算法。这将是我们介绍的第一个非监督学习算法。当然,此后我们还将提到其他类型的非监督学习算法,它们可以为我们找到其他类型的结构或者其他的一些模式,而不只是簇。13.2K-均值算法K-均值是最普及的聚类算法,算法接受一个未标记的数据集,然后将数据聚类成不同的组。K-均值是一个迭代算法,假设我们想要将数据聚类成 n 个组,其方法为:首先选择????个随机的点,称为聚类中原创 2020-07-21 16:55:47 · 296 阅读 · 0 评论 -
机器学习吴恩达编程作业题6-支持向量机
1、支持向量机1.1示例数据集1将ex6data1.mat文件复制到D:\Machine Learning\ex6目录下,在当前目录下建立plotData.m文件,源码与之前类似,绘制相应的数据集。原创 2020-07-20 21:25:14 · 1676 阅读 · 0 评论 -
机器学习吴恩达第七周
12、支持向量机12.1优化目标这就意味着当 ℎ????(????)趋近于 1 时,???????????? 应当远大于 0,这里的>>意思是远远大于 0。相反地,如果我们有另一个样本,???? = 0。我们希望假设函数的输出值将趋近于 0,这对应于????????????,或者就是 ???? 会远小于 0。为什么逻辑回归在观察到正样本???? = 1时,试图将????????????设置得非常大。因为,在代价函数中的这一项会变的非常小。然后我再画一条同逻辑回归非常相似的直线,但是,在原创 2020-07-19 16:45:59 · 282 阅读 · 0 评论 -
机器学习吴恩达编程作业题5—正则化线性回归和偏差/方差
1、正则化线性回归1.1可视化数据集我们将从可视化数据集开始,其中包含水位变化的历史记录x和流出水坝的水量y。将实现线性回归,并使用它来拟合数据的直线并绘制学习曲线。将实现多项式回归,以找到更好的数据拟合。复制ex5data1数据集到D:\Machine Learning\ex5目录下。直接调用plot函数进行数据集的绘制。1.2正则化线性回归成本函数和梯度注意,你不应该正则化θ0项。在当前目录下建立linearRegCostFunction.m文件:function [J, grad]原创 2020-07-18 21:43:18 · 681 阅读 · 0 评论 -
机器学习吴恩达第六周
10、应用机器学习的建议10.1决定下一步做什么获得更多的训练实例——通常是有效的,但代价较大,下面的方法也可能有效,可考虑先采用下面的几种方法。尝试减少特征的数量尝试获得更多的特征尝试增加多项式特征尝试减少正则化程度????尝试增加正则化程度????要想改进一种算法的效果,什么样的尝试,才是有意义的。因此,在接下来几节课中,我将先来介绍如何评价你的学习算法。10.2评估一个假设仅仅是因为这个假设具有很小的训练误差,并不能说明它就一定是一个好的假设函数。而且我们也学习了过拟合假设函数原创 2020-07-18 10:23:51 · 347 阅读 · 0 评论 -
机器学习吴恩达作业题4——神经网络
1、神经网络在上一个练习中,您实现了神经网络的前馈传播,并使用它来预测我们提供的权重手写数字。在本练习中,您将实现反向传播算法来学习神经网络的参数。原创 2020-07-16 18:05:19 · 974 阅读 · 0 评论 -
机器学习吴恩达第五周
9、神经网络的学习9.1代价函数假设神经网络的训练样本有????个,每个包含一组输入????和一组输出信号????,????表示神经网络层数,????????表示每层的 neuron 个数(????????表示输出层神经元个数),????????代表最后一层中处理单元。在神经网络中,我们可以有很多输出变量,我们的ℎ????(????)是一个维度为????的向量。唯一不同的是,对于每一行特征,我们都会给出????个预测,基本上我们可以利用循环,对每一行特征都预测????个不同结果,然后在利用循环在原创 2020-07-15 16:52:25 · 340 阅读 · 2 评论 -
机器学习吴恩达编程作业题3-多类分类与神经网络
1、 多级分类对于本练习,您将使用逻辑回归和神经网络来识别手写数字(从0到9)。在练习的第一部分中,您将扩展先前的逻辑回归实现,并将其应用于一对多分类。1.1数据集将数据集ex3data1.m和ex3weights.m文件复制到D:\Machine Learning\ex3文件目录下。在ex3data1.mat中为您提供了一个数据集,其中包含5000个手写训练示例数字。ex3data1.mat中有5000个训练示例,其中每个训练示例都是数字的20像素×20像素灰度图像。每个像素由一个浮点数表示,该浮原创 2020-07-14 16:54:25 · 1409 阅读 · 0 评论 -
机器学习吴恩达第四周
8、神经网络表述8.1非线性假设我们之前学的,无论是线性回归还是逻辑回归都有这样一个缺点,即:当特征太多时,计算的负荷会非常大。8.2神经元和大脑如果我们能找出大脑的学习算法,然后在计算机上执行大脑学习算法或与之相似的算法,也许这将是我们向人工智能迈进做出的最好的尝试。8.3模型表示1下图为一个 3 层的神经网络,第一层成为输入层(Input Layer),最后一层称为输出层(Output Layer),中间一层成为隐藏层(Hidden Layers)。我们为每一层都增加一个偏差单位(bias原创 2020-07-11 21:25:46 · 259 阅读 · 0 评论 -
机器学习吴恩达编程作业题2——逻辑回归
1、逻辑回归1.1数据的图形呈现首先在D:\Machine Learning\ex2目录下,建立plotData.m文件,以此完成数据集的图形化呈现。function plotData(X, y)%该函数没有返回值,两个参数。第一个参数是数据集的第一列和第二列数据,为自%变量,代表学生两次考试成绩;第二个参数是数据集第三列数据,代表学生录取决定figure; %新建一个图hold on;%在原图上面继续绘制pos = find(y==1); %找到录取情况下对应的行号,从1开始。neg =原创 2020-07-11 10:40:56 · 1288 阅读 · 0 评论 -
机器学习吴恩达第三周
6、逻辑回归6.1分类问题在分类问题中,你要预测的变量 ???? 是离散的值,我们将学习一种叫做逻辑回归 (Logistic Regression) 的算法。在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。我们将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class)所以我们在接下来的要研究的算法就叫做逻辑回归算法,这个算法的性质是:它的输出值永远在 0 到 1 之间。但逻辑回归算原创 2020-07-10 11:45:34 · 310 阅读 · 0 评论 -
机器学习吴恩达编程作业题1——线性回归
1个简单倍频程函数首先在D:\Machine Learning\ex1目录下建立一个warmUpExercise.m的文件,用写字板打开,向其中加入代码,该函数用来实现显示一个5*5的单位矩阵。function A = warmUpExercise() %定义了一个函数,返回是一个A矩阵A=[]; %定义一个矩阵A=eye(5); %A矩阵被赋值为5*5的单位矩阵end打开Octave,将当前路径转换到D:\Machine Learning\ex1,调用warmUpE原创 2020-07-08 11:30:16 · 1058 阅读 · 0 评论 -
机器学习吴恩达第二周
第2周4、多变量线性回归4.1多维特征???? 代表特征的数量????(????)代表第 ???? 个训练实例,是特征矩阵中的第????行,是一个向量(vector)。????????(????)代表特征矩阵中第 ???? 行的第 ???? 个特征,也就是第 ???? 个训练实例的第 ???? 个特征。这个公式中有???? + 1个参数和????个变量,为了使得公式能够简化一些,引入????0 = 1,则公式转化为:此时模型中的参数是一个???? + 1维的向量,任何一个训练实例也都是??原创 2020-07-07 08:54:40 · 389 阅读 · 0 评论 -
机器学习吴恩达第一周
第1周引言1.1欢迎许多 AI 研究者认为,实现做出一个和人类一样聪明的机器最好的方法是通过让机器试着模仿人的大脑学习。这里有一些机器学习的案例:大量的硅谷公司正在收集 web 上的单击数据,也称为点击流数据,并尝试使用机器学习算法来分析数据,更好的了解用户,并为用户提供更好的服务。我们现在有了电子医疗记录。如果我们可以把医疗记录变成医学知识,我们就可以更好地理解疾病。在工程的所有领域,我们有越来越大、越来越大的数据集,我们试图使用学习算法,来理解这些数据。1.2机器学习是什么?原创 2020-07-06 14:08:21 · 277 阅读 · 0 评论