![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
吴恩达机器学习
文章平均质量分 75
吴恩达机器学习笔记
念~旭
这个作者很懒,什么都没留下…
展开
-
机器学习1编程作业:线性回归
原任务是在Octave/MATLAB实现,本次编程作业全部以python完成。01 简单的练习总结下题目:输出一个5*5的单位矩阵在此我们用np.eye(N,M=None, k=0, dtype=<type ‘float’>),首先N代表的是输出方阵的维度,第二个参数不用设置默认M=N,主要看第三个参数,默认是对角线为1,其余全为0;如果k为正数,则对角线往上第k个全为1,其余全为0;如果k为负数,则对角线往下第k个全为1,其余全为0。import numpy as npA =原创 2021-08-06 11:59:57 · 1042 阅读 · 4 评论 -
机器学习总结
监督学习算法:线性回归、逻辑回归、神经网络、支持向量机(在这些问题中会有带标签的数据和样本)无监督学习:K-均值聚类算法、主成分分析法(进行降维)、异常检测算法(对算法进行评估)特定的应用和话题:推荐系统、大规模机器学习系统(包括并行和映射-化简算法)其他的应用:滑动窗口分类器(计算机视觉问题)从各个不同的方面给出了如何构建机器学习系统的建议:偏差和方差(尝试了是什么使得机器学习算法工作或者是不工作)、正则化(解决一些方差问题)、学习算法的评估方法:召回率和F1分数这样的评价指标和实践方面的评测方.原创 2021-07-26 17:21:56 · 146 阅读 · 0 评论 -
机器学习 day18应用举例:照片OCR(光学字符识别)
01 问题描述与 OCR pipeline照片OCR问题注重的是如何让计算机读出照片中的文字信息(照片OCR对于读取文档来说很简单,但是对于数码照片来说还是很难的)照片OCR当你输入文字时,计算机就能自动的帮你找到相册里带有这些文字的照片,它有如下几个步骤:给定某个照片,将其图像扫描一遍。找出照片中的文字信息找出照片中的文字信息之后,将重点关注这些文字区域,并对区域中的文字进行识别,当它正确读出这些文字之后,他会将这些文字内容显示并记录下来。总体来说步骤分为三类:文字检测、字符分原创 2021-07-26 17:00:44 · 588 阅读 · 0 评论 -
机器学习 day17大规模机器学习
01 学习大数据集大规模机器学习就是处理大数据集的算法一种获取高性能的机器学习系统的途径是采用低偏差的学习算法并用大数据进行训练。大数据集学习的特有问题是计算问题。在训练一亿个样本之前,我们可以随机选择一亿个样本中的一千个样本,然后用这一千个样本来训练我们的算法。如果用一千个样本训练效果也是一样的话,在训练大量的模型前预先检查往往也是一个明智的选择。如果效果相同的话,可以根据这一千个样本绘制学习曲线,如果画出左图高方差的曲线那么增加训练集还是有作用的,如果是右边高偏差的算法,样本也不会比训练10原创 2021-07-25 18:16:43 · 183 阅读 · 0 评论 -
机器学习 day16推荐系统
01 问题规划特征对于机器学习来说是十分重要的,机器学习领域有一个伟大的想法,对于某些问题有一些算法可以自动的学习一系列合适的特征。我们为什么要谈论推荐系统?它是机器学习中的一个重要的应用,比如说亚马逊会根据你之前所买的书来给你推荐一些书。有一些环境能让你开发某个算法来学习使用哪些特征,而推荐系统就是那些环境中的一个例子,通过推荐系统我们能领悟一些特征学习的思想。推荐系统问题的组成:以电影评分为例,先说下这些符号的意思。n_u表示用户的数量、n_m表示电影的数量、r(i,j)代表用户j是原创 2021-07-24 17:10:02 · 118 阅读 · 0 评论 -
机器学习 day15异常检测
01 问题动机异常检测主要用在非监督学习,但从某些角度看,跟有监督学习问题是非常相似的。异常检测问题就是我们希望知道新的测试数据是否有某种异常,换句话说新的测试数据是否需要进一步测试。如下面这个图(飞机引擎的例子),其中x_1、x_2是飞机引擎的特征。通过测试发现如果x_test在对应点里面,那么他就不存在异常,如果在对应的外面,那么就存在异常。我们通常认定这m个数据都是异常或者都不是异常的,我们需要一个算法告诉我们一个新的样本数据是否异常。因此我们要做的就是给定无标签训练集,我们对数据建模原创 2021-07-23 20:42:36 · 202 阅读 · 0 评论 -
机器学习 day14降维
01 目标 I:数据压缩想要使用降维的的原因:数据压缩,数据压缩不仅能使数据占用少量的内存或硬盘空间,还能对算法进行加速。如果特征高度相关,那么真的可能需要降低维数。将二维降到一维:两个特征变成一个特征,把每个样本都保持为一个数字,这样就能把内存需求(数据空间需求)减半。从三维降到二维:02 目标 II:可视化想要使用降维的的原因:2. 可视化数据:将数据从50维或者更高维降到三维或者两维,这样就可以将其在图中画出来更好的理解他。50维数据:从50维降到原创 2021-07-21 15:38:53 · 194 阅读 · 0 评论 -
机器学习 day13无监督学习
01 无监督学习无监督学习:训练集没有标签,也就是图上的点没有任何标签信息。我们要将这系列无标签的数据,输入到算法中,然后我们要让算法找到一些隐含在数据中的结构,这个图中数据集中的点两组分开的簇,这种能够找到这些簇的算法叫做聚类算法。02 K-Means算法K均值算法是现在最为广泛运用的聚类算法通过K均值算法将下图分为两个簇的具体操作:随机生成两点(聚类中心),选取两点的原因是想将数据聚成两类。K均值算法是个迭代算法,可以做两件事:簇分配和移动聚类中心。K均值算法每次内循环的第原创 2021-07-20 16:31:47 · 316 阅读 · 0 评论 -
机器学习 day12支持向量机
01 优化目标支持向量机(SVM)在学习复杂的非线性方程时,能够提供一种更为清晰和更加强大的方式。从逻辑回归开始,稍作改动成为支持向量机观察下逻辑回归的假设函数和sigmoid激活函数观察逻辑回归的代价函数,当把整个假设函数的定义代入其中,得到的就是每个样本对总体函数的具体贡献。为了构建支持向量机,我们从这个代价函数开始进行少量修改,我们取z=1,画出要使用的代价函数,右边都是平的,左边画出一条和最开始的幅度相似的直线,这就是y=1时使用的代价函数。同样的做出y=0时使用的代原创 2021-07-19 19:00:32 · 361 阅读 · 0 评论 -
机器学习 day11机器学习系统设计
01 确定执行的优先级在实际工作过程中,我们应该优先处理哪些事情以邮件筛选为例,选择邮件的特征向量的方法。通常我们会挑选出在训练集中出现频率最多的n个单词,将其作为特征向量。如何在有限时间里让垃圾邮件分类器具有高精准度和低错误率。用更复杂的特征变量来描述邮件(可以在邮件标题中获取复杂的特征,来捕捉这封邮件的来源,以此判断是否为垃圾邮件)。关注邮件的正文,并构建更复杂的特征。来检测单词是否故意出现拼写的错误02 误差分析误差分析就是一种手动地去检查算法所出现的失误的过程,走原创 2021-07-18 16:07:04 · 83 阅读 · 0 评论 -
机器学习 day10应用机器学习的建议
01 决定下一步做什么开发一个机器学习系统,或者想试着改进一个机器学习系统的性能,应如何决定选择哪条路。不要随意选择。机器学习诊断法能够提前发现某些方法是无效的。02 评估假设将所有数据分为训练集和测试集,最经典的分割方法就是按照7:3的比例。线性回归算法和平方误差标准学习和测试学习算法,从训练集学习获得参数,在将参数带入测试集得到测试误差。训练和测试逻辑回归的步骤及用错误分类(0/1分类错误)来定义测试误差。0/1表示了你预测的分类是正确或错误的情况。03 模型原创 2021-07-17 16:50:51 · 85 阅读 · 0 评论 -
机器学习 day09神经网络参数的反向传播算法
01 代价函数有m组训练样本,L代表神经网络结构的总层数,S_l代表第L层的单元数也就是神经元的数量(不包括第L层的偏差单元)。其中二元分类与多类别分类问题如下:应用于神经网络的代价函数:h(x)是一个k维向量,h(x)_i代表第i个输出;k的求和符号应用于y_k和h_K,是因为我们主要是将第k个输出单元的值和y_k的值的大小作比较;y_k的值就是这些向量中其应属于哪个类的量。02 反向传播算法反向传播算法是计算代价函数关于所有参数的导数或者偏导数的一种有效方法。使用前向传播方法来原创 2021-07-16 16:51:50 · 353 阅读 · 0 评论 -
机器学习 day08神经网络学习
01 非线性假设为什么已经有线性回归和逻辑回归算法了,还要学习神经网络?因为有特别多的特征,许多机器学习都需要学习复杂的非线性假设。如果使用逻辑回归算法,由于项数过多,可以能会导致过拟合问题,此外也存在运算量过大的问题。如果项数只包括二次项的的子集,这样将二次项的数量减少到100个,但是最有可能拟合出右下角椭圆而拟合不出左上角复杂的分界线。下图车子例子所示:如果是一张50 * 50 像素的图像, 则会有 50 * 50 = 2500个像素单位(如果是彩色,每个像素又有0-255的RGB取值。原创 2021-07-15 15:36:43 · 70 阅读 · 0 评论 -
机器学习 day07正则化
01 过拟合问题正则化可以减少过度拟合问题1.1 线性回归过拟合问题欠拟合 | 刚好合适 | 过拟合过度拟合问题将会在变量过多的时候出现,这时训练出的假设能够很好的拟合训练集(所以代价函数实际上可能非常接近于0。或者恰好等于0),但是可能会得到图三这样的曲线,去拟合训练集,以至于它无法泛化到新的样本中。泛化是指一个假设模型应用到新样本的能力1.2 逻辑回归过拟合问题欠拟合 | 刚好合适 | 过拟合如果我们有过多的特征变量而只有少量的训练集就会出现过拟合问题。有两种方原创 2021-07-14 17:52:30 · 108 阅读 · 0 评论 -
机器学习 day06Logistic回归
01 分类针对于离散值来进行分类:y = {0,1}0表示负类,没有什么东西1表示正类,有什么东西不建议将线性回归函数应用于分类情况中使用线性回归在分类问题,如果一个值远离其他值,将会使线性回归算法不够准确。Logistic回归算法的预测值一直介于0和1之间,并不会像线性回归算法大于1或者小于002 假设陈述假设陈述:当有一个分类问题的时候,我们要使用哪个方程来表示我们的假设。Logistic函数的形式如下:对线性回归方程稍作修改。输出某个数字,我们会把这个数字当作对一原创 2021-07-13 11:01:22 · 123 阅读 · 0 评论 -
机器学习 day05Octave教程
01 基本操作注释表达:%>> 1~= 2 %注释ans = 1不等号表达:~=>> 1~= 2ans = 1隐藏提示命令:PS1(’>> ');octave:6> PS1('>> ');>>想分配一个变量,但是不想在屏幕上显示结果:只需在结尾加分号(;)>> a = pi;>> a = pia = 3.1416显示命令:disp( );>> dis原创 2021-07-12 18:00:45 · 139 阅读 · 0 评论 -
机器学习 day04多变量线性回归
01 多元线性回归–多特征向量情况下的假设形式一些符号表示:简化下面等式的表达方法:向量内积转化02 多元梯度下降算法多元线性回归方程+代价函数+梯度下降函数单元及多元线性回归的梯度下降法对比03 多元梯度下降法–特征缩放特征缩放的目的只是为了运行更快。使特征值比较接近,使图像变得比较圆。以至于梯度下降的速度更快,收敛所需要的迭代次数更少,收敛更快。缩放前后对比图如下:特征值的取值别太大也别太小,与下面这个范围足够接近最好。均值归一化的工作:X =(当原创 2021-07-11 11:12:47 · 100 阅读 · 0 评论 -
机器学习 day03线性代数基础
01 矩阵与向量小写字母表示向量:a b c大写字母表示矩阵:A B C02 加法和标量乘法只有维度相同的矩阵才能相加一个数乘一个矩阵与一个矩阵乘一个数的结果相同03 矩阵向量乘法矩阵与向量相乘例子:将一个方程转化为矩阵向量相乘的形式04 矩阵相乘矩阵相乘计算原理:只需将第二个矩阵的每一列提取出来,计算矩阵与向量相乘,最终将其拼接成为最终答案。将三个方程转化为两个矩阵相乘的形式05 矩阵乘法特性不能使用乘法交换律(单位矩阵除外),会改变结原创 2021-07-10 12:09:31 · 123 阅读 · 0 评论 -
吴恩达机器学习 day02单变量线性回归
01 模型描述为了更好的描述监督学习问题,需要给出训练集并以此构建一个模型。下面先学习几个符号:m:代表的是训练集有几个x:代表的是输入的特征y:代表的是输出,也就是预测的目标变量h:代表假设函数,引导从x得到y的函数02 代价函数(平方误差函数)可以通过代价函数来衡量假设函数的准确性。代价函数取值越小,假设函数就越准确。代价函数有助于我们弄清楚如何把最有可能的直线与我们的数据相拟合。在线性回归中,我们要解决的是最小化问题代价函数是解决回归问题最常用的原创 2021-07-09 11:54:58 · 78 阅读 · 0 评论 -
吴恩达机器学习 day01初识机器学习
01 监督学习监督学习是指我们给算法一个数据集,其中包含了正确的答案。算法的目的就是给出更多的正确答案。回归是指我们设法预测连续值的属性,可以应用在预测房子价格等方面。分类是指我们设法预测离散值的输出(0或1),可以应用在判断账户是否被入侵等方面。02 无监督学习无监督学习也会给一个数据集,但是数据集不包括正确答案(里面的数据要么都有相同的标签要么都没有标签)。无监督学习会将数据分为一个个不同的簇,这就是聚类算法。聚类算法可以应用在|搜集新闻并将相关新闻组合在一起|星系形成理论|市场销售等原创 2021-07-08 10:50:36 · 88 阅读 · 0 评论