机器学习
文章平均质量分 61
吴恩达机器学习笔记
丿罗小黑
计算机硕士在读
展开
-
机器学习 day39(决策树和神经网络的比较)
单个决策树、决策树集合的优缺点适用于表格数据(结构化数据)。例如在房屋预测中,我们有房屋大小、卧室数量、楼层数量、房屋年龄等数据,这些数据可以存储在表格中,不论是连续的还是离散的都可以不适用于非结构化数据。例如图片、视频、音频、文本,这些数据不能存储在表格中训练速度快,可以让机器学习算法的迭代循环完成的更快单个决策树和小型决策树集合可能是人类可以解释的一次只能训练一个决策树神经网络的优缺点适用于所有类型的数据,包括表格数据(结构化数据)、非结构化数据训练速度比决策树慢可以与迁移学原创 2024-02-22 20:27:53 · 1244 阅读 · 1 评论 -
机器学习 day38(有放回抽样、随机森林算法、XGBoost)
有放回抽样有放回抽样和无放回抽样的区别:有放回可以确保每轮抽取的结果不一定相同,无放回则每轮抽取的结果都相同在猫狗的例子中,我们使用”有放回抽样“来抽取10个样本,并组合为一个与原始数据集不同的新数据集,虽然新数据集中可能有重复的样本,也不一定包含原始数据集的所有样本。随机森林算法装袋决策树算法(Bagged decision tree)是适用于决策树集合的一种算法,生成决策树集合的过程如下:对于一个大小为M的原始数据集,进行以下操作:使用“有放回抽样”,生成一个大小为M的新数据集原创 2024-02-17 00:41:59 · 760 阅读 · 1 评论 -
机器学习 day37(独热编码、处理连续值的特征、回归树、决策树集合)
独热编码(one-hot encoding)如果特征值可以采用两个以上的离散值,那么可以采用独热编码,它的思想如下:如果一个分类特征可以取K个可能的值,那么我们就创建K个二进制特征来替换这个分类特征,二进制特征表示只能取0或1同时,如果我们将其他的二进制特征都用0或1来表示,那么独热编码可以使这些特征不仅适用于训练决策树,也适用于神经网络,如下图所示:原创 2024-01-09 14:22:21 · 375 阅读 · 0 评论 -
机器学习 day01(机器学习定义,监督学习,回归算法和分类算法)
机器学习计算机无需明确编程即可学习的研究领域。----Arthur Samuel,如图:一般来说,给学习算法学习的机会越多,它表现得就会越好,如图:原创 2023-03-30 12:44:35 · 328 阅读 · 0 评论 -
机器学习 day02(无监督学习,聚类算法,术语)
无监督学习在无标签的数据中,无监督学习的工作是找到某种结构,某种模式,或者只是在无标签的数据中找到一些有趣的东西。我们不是试图给每一个输入都提供一些正确的答案,从而监督算法。相反我们要求算法自己找到某种结构,某种模式,或者弄清楚什么是有趣的原创 2023-03-30 16:48:51 · 97 阅读 · 0 评论 -
机器学习 day03(成本函数,简化后的和一般情况下的成本函数)
成本函数平方误差成本函数是最通常用于线性回归的成本函数最终,我们要找到一组w和b,让j函数的值最小误差:ŷ - y简化后的平方误差成本函数,即b = 0当w = 1时,f(x) = x,J(1) = 0左侧为f(x)函数,X轴为x,❌表示训练示例右侧为J(w)函数,X轴为w当w = 0.5时,f(x) = 0.5x,J(0.5) ≈ 0.58当w = 0时,f(x) = 0,J(0) ≈ 2.3以此类推,多取几个点,再画出J(w)函数图像原创 2023-04-13 19:12:27 · 1021 阅读 · 0 评论 -
机器学习 day04(梯度下降算法,学习率,偏导数,执行过程示意图)
梯度下降我们可以用一种更系统的方法,来找到一组w,b,使成本函数的值最小。这个方法叫梯度下降,它可用于最小化任何函数,不仅仅包括线性回归的成本函数,也包括两个以上参数的其他成本函数在线性回归中,w和b的初始值是多少并不重要,所以通常将他们的初始值设为0。成本函数并不总是弓形或吊床行的函数,这代表他可能有两个及以上的最小值梯度下降的步骤:a. 初始化w和b的值,通常设为0b. 继续更改w和b的值,来降低J函数的值c. 直到J函数到达,或接近J函数的最小值原创 2023-04-14 10:36:16 · 503 阅读 · 0 评论 -
机器学习 day05(多元线性回归,向量化,及向量化高效的原理)
单个特征(变量)的线性回归模型房子的价格仅由房子的大小决定,如图:多个特征(变量)的线性回归模型房子的价格由房子的大小,房子有多少个卧室,房子有几层,房子住了多少年共同决定,如图:x原创 2023-04-18 15:31:37 · 503 阅读 · 0 评论 -
机器学习 day06(向量化应用于多元线性回归的梯度下降算法,正规方程)
向量化多元线性回归将W₁,…,Wn写成向量W,将X₁,…,Xn写成向量X,而b还是之前的b注意:在多元线性回归的梯度下降算法中,Wj是指从W₁到Wn中的某一项,因为多元线性回归有多个特征(变量),所以对于每一个特征X都有对应的W。而对于每一个W,梯度下降算法在每一步都要对其进行更新多元和单元线性回归的梯度下降算法中的导数对比这里的多元和单元是指X的个数原创 2023-04-19 09:46:04 · 437 阅读 · 0 评论 -
机器学习 day07(特征缩放)
特征缩放的作用特征缩放可以让梯度下降算法运行的更快特征:X 对应的参数:W当一个特征的可能值范围很大时,一个好的模型会选择一个相对较小的对应参数值,因为W₁的一个非常小的变化会给估计价格产生非常大的影响,同时也会对成本函数J产生非常大的影响。同样,当一个特征的可能值范围很小时,一个好的模型会选择一个相对较大的对应参数值,而W₂需要非常大的变化才能给估计价格产生非常大的影响,对成本函数J也是如此。如图:当两个特征的可能值范围差距过大时,所对应的参数的可能值范围差距也会过大,产生的成本函原创 2023-04-21 11:01:13 · 609 阅读 · 0 评论 -
机器学习 day08(如何判断梯度下降算法收敛,即何时停止训练模型)
画学习曲线图x轴是梯度下降算法的迭代次数,y轴是成本函数J的值梯度下降算法的目的是:找到一组w和b,让成本函数J最小学习曲线图可以帮助我们查看成本函数J如何变化。如果梯度下降算法工作正常,那么成本函数J在每次迭代后都会减少。如果成本函数J在一次迭代后增加,那意味着学习率α可能选的太大,或代码有bug。学习曲线图还可以帮助我们判断,梯度下降算法是否收敛。当学习曲线平坦时,梯度下降算法收敛。自动收敛测试ε表示一个很小的数,如0.001。当一次迭代后,成本函数J的减少幅度小于ε,那原创 2023-04-23 10:56:29 · 529 阅读 · 0 评论 -
机器学习 day09(如何设置学习率α,特征工程,多项式回归)
常见的错误的学习曲线图(上方两个)当关于迭代次数的学习曲线图,出现波浪型或向上递增型,表示梯度下降算法出错该情况可由,学习率α过大,或代码有bug导致常用的调试方法:选择一个非常非常小的学习率α,来查看学习曲线是否还是有误,即在某次迭代后增加,即出现波浪型或向上递增型。若学习曲线正常,即保持递减。表示之前的学习率α过大。若学习曲线依旧有误,则表示代码有bug注意:将学习率α设为非常非常小的数,仅用于调试,并不表示此时的α为梯度下降算法的最有效的学习率α。因为当学习率太小时,梯度下原创 2023-04-24 15:45:46 · 241 阅读 · 0 评论 -
机器学习 day10(分类算法,Sigmoid函数,逻辑回归)
线性回归的缺点对于只有两种输出情况的问题(如肿瘤是否良性,0和1)来说,如果采用线性回归模型,会有很大误差,因为线性回归不仅会输出0和1,还会输出0和1之间以及<0和 > 1的所有结果。对于均匀分布的数据来说,也许我们选择0.5作为分界线,可以得到比较合适的线性回归模型。但是,如果在右侧添加一个训练示例,使数据分布不均匀,同时不改变0.5分界线的话,则之前的线性回归模型的误差会很大。但,如果改变的话,这与我们的意愿不符,在右侧添加一个训练示例,不应该改变我们对于区分肿瘤是否良性的分界线(决原创 2023-04-26 16:16:42 · 153 阅读 · 0 评论 -
机器学习 day11(决策边界,损失函数,简化后的逻辑回归的成本函数)
逻辑回归模型的预测过程通常来说,我们先选择一个阈值0.5,当f(x) >= 0.5时,则预测y为1,当f(x)<0.5时,则预测y为0。由此我们可以得出,当阈值取0.5时,g(z)取0.5,z取0。所以,向量W·向量X + b 取0决策边界原创 2023-05-04 10:19:52 · 255 阅读 · 0 评论 -
机器学习 day12(逻辑回归的梯度下降,过拟合及解决办法)
逻辑回归的梯度下降原创 2023-05-08 19:23:49 · 259 阅读 · 0 评论 -
机器学习 day13(正则化,线性回归的正则化,逻辑回归的正则化)
正则化的思想如果特征的参数值更小,那么对模型有影响的特征就越少,模型就越简单,因此就不太容易过拟合如上图所示,成本函数中有W₃和W₄,且他们的系数很大,要想让该成本函数达到最小值,就得使W₃和W₄接近0,从而消除它们对成本函数的影响,最后我们就得出一个接近二次函数(左边图片)的成本函数正则化的一般形式通常,一个模型有很多特征,我们不知道哪个特征的参数重要,哪个特征的参数我们需要缩小或惩罚。所以,我们一般是缩小或惩罚所有特征的参数。原创 2023-05-13 19:44:32 · 294 阅读 · 1 评论 -
机器学习 day14 ( 神经网络,计算机视觉中的引用:人脸识别和汽车识别)
神经网络的发展最开始的动机:是通过构建软件来模拟大脑,但今天的神经网络几乎与大脑的学习方式无关原创 2023-06-01 12:57:50 · 571 阅读 · 0 评论 -
机器学习 day15(神经网络的工作原理,激活值a的公式)
隐藏层的内部实现原创 2023-06-07 17:06:06 · 525 阅读 · 0 评论 -
机器学习 day16(前向传播算法,Tensorflow的实现代码)
手写数字识别的神经网络模型为简单起见,仅区分手写0和1,并用8*8的像素矩阵,共有64个像素(特征),即该神经网络模型的输入特征有64个,设改模型有两层隐藏层,第一个隐藏层有25个神经元,第二个隐藏层有15个神经元,则第一个隐藏层的输出,激活值向量a上标1的结果如图所示输入特征向量X也可写作向量a上标0,因为输入层为layer 0向量a上标2的结果与向量a上标1类似,把向量X改成向量a上标1,且注意神经元的个数为15个即可因为输出层只有一个神经元,所以输出层的结果是激活值a而不是激活值向原创 2023-06-09 16:41:46 · 371 阅读 · 0 评论 -
机器学习 day17( Tensorflow和Numpy中的数据形式 )
2 矩阵,第二个是 2。原创 2023-06-11 15:33:03 · 1229 阅读 · 0 评论 -
机器学习 day18(用Tensorflow搭建一个神经网络)
之前搭建神经网络的方法原创 2023-06-14 15:51:56 · 587 阅读 · 0 评论 -
机器学习 day19(使用python和np实现前向传播)
烤咖啡豆模型原创 2023-06-15 20:51:08 · 646 阅读 · 0 评论 -
机器学习 day20(前向传播的向量化代码,向量的点积,矩阵乘法)
前向传播的循环代码与向量化代码的对比把X、B写作二维数组,即矩阵左边的for循环就可以用右边的np.matmul来实现matmul是numpy执行矩阵乘法的一种方式注意:此时所有的变量(X、W、B、Z、A_out)都是二维数组,即矩阵矩阵乘法原创 2023-06-24 11:56:07 · 155 阅读 · 0 评论 -
机器学习 day21(Tensorflow代码实现,逻辑回归模型和神经网络模型的步骤)
Tensorflow代码实现原创 2023-06-27 20:59:36 · 123 阅读 · 0 评论 -
机器学习 day22(ReLU激活函数,激活函数的种类,如何选择激活函数)
ReLU激活函数原创 2023-07-02 10:34:54 · 558 阅读 · 0 评论 -
机器学习 day23(激活函数的作用,线性激活函数的不足)
*原创 2023-07-05 09:43:53 · 862 阅读 · 1 评论 -
机器学习 day24(多类分类模型,Softmax回归算法及其损失函数)
多分类原创 2023-07-05 16:52:10 · 715 阅读 · 0 评论 -
机器学习 day25(softmax在神经网络模型上的应用,提高数据精度的方法)
输出层采用softmax在识别手写数字的模型中,预测y只有两个结果,所以输出层采用sigmoid激活函数且只有一个神经元。若预测y有10个结果(0-9),该模型的前向传播计算方式与识别数字的模型完全相同,即隐藏层的设定完全相同,那么输出层可以采用softmax激活函数,也叫该神经网络模型有一个softmax输出层softmax激活函数与sigmoid激活函数的区别:对于sigmoid,a₁是只关于z₁的函数;对于softmax,a₁是关于z₁…z₁₀所有z的函数(每一个激活值a都取决于所有z的原创 2023-07-09 13:20:00 · 710 阅读 · 0 评论 -
机器学习 day26(多标签分类,Adam算法,卷积层)
多标签分类多标签分类:对于单个输入特征,输出多个不同的标签y多类分类:对于单个输入特征,输出单个标签y,但y的可能结果有多个为多标签分类构建神经网络模型我们可以构建三个不同的神经网络模型来分别预测三个不同的标签y,但这种方法很低效我们也可以构建一个神经网络模型来同时预测三个不同的标签y原创 2023-07-12 14:08:26 · 2200 阅读 · 0 评论 -
机器学习 day27(反向传播)
导数函数在某点的导数为该点处的斜率,用height / width表示的话,可以看作原创 2023-07-14 21:00:17 · 838 阅读 · 0 评论 -
机器学习 day28(模型评估,模型选择,交叉验证集)
为什么需要模型评估我们可以借助图像来判断模型是否良好。但当我们用单一特征来绘制f(x)图像时,模型容易出现过拟合现象。但如果输入特征的种类很多,绘制图像又会变得很困难。而模型评估可以解决这一痛点。模型评估原创 2023-07-17 15:15:40 · 679 阅读 · 0 评论 -
机器学习 day29(高偏差、高方差,参数d对模型的影响)
高偏差、高方差原创 2023-07-20 21:22:58 · 329 阅读 · 0 评论 -
机器学习 day30(正则化参数λ对模型的影响)
λ对Jcv和Jtrain的影响假设该模型为四阶多项式当λ很大时,w会很小且接近0,而模型f(x)近似于一个常数,所以此时模型欠拟合,Jtrain和Jcv都很大当λ很小时,模型几乎没有正则化,而四阶多项式的模型十分弯曲,所以此时模型过拟合,Jtrain很小,Jcv远大于Jtrain当λ取中间值,模型刚好拟合良好、泛化良好,此时Jtrain很小、Jcv也很小如何选择一个合适的λ第一次,假设λ为0,最小化成本函数J后得到一组w、b,之后计算这组参数对应的Jcv第二次,假设λ为0.0原创 2023-07-23 18:14:11 · 515 阅读 · 0 评论 -
机器学习 day31(baseline、学习曲线)
语音识别的Jtrain、Jcv和人工误差对于逻辑回归问题,Jtrain和Jcv可以用分类错误的比例这一方式原创 2023-07-25 21:37:37 · 858 阅读 · 0 评论 -
机器学习 day32(神经网络如何解决高方差和高偏差,机器学习开发的迭代循环)
解决高偏差和高方差的新方法原创 2023-08-07 17:41:56 · 473 阅读 · 0 评论 -
机器学习 day33(误差分析、添加数据、迁移学习)
误差分析我们可以手动查看分类错误的子集样本(通常为100个),并统计他们的错误类型在所有错误类型中,选择一种或几种最常见的错误,进行改进。这可以最高效的改进你的模型原创 2023-09-14 15:34:12 · 271 阅读 · 1 评论 -
机器学习 day34(机器学习项目的完整周期、精确度和召回率、F1)
机器学习项目的完整周期第一步,决定项目是什么。第二步,收集数据。第三步,训练模型,进行错误分析并改进模型,可能会回到第二步。第四步,当模型足够好后,部署在生产环境中,继续监控性能并维护模型,以防性能下降,可能会回到第二步或第三步。部署在生产环境中的常见方法:将模型部署在服务器中,并在应用程序中通过API调用,最后返回模型的预测根据生产环境是服务于少数几个用户还是几百万个用户,软件工程的需求也有所不同:确保可靠和有效的预测输出,大量用户的扩展,记录用户输入输出数据,系统监控,模型更新等。原创 2023-09-16 11:13:41 · 305 阅读 · 0 评论 -
机器学习 day35(决策树)
决策树上图的数据集是一个特征值X采用分类值,即只取几个离散值,同时也是一个二元分类任务,即标签Y只有两个值上图为之前数据集对应的决策树,最顶层的节点称为根节点,椭圆形节点称为决策节点,矩形节点称为叶子节点决策树学习算法的工作是,在所有可能的决策树中,选择一个在训练集上能表现良好,并能很好的推广到新数据(即交叉验证集和测试集)的决策树原创 2023-09-17 16:29:55 · 380 阅读 · 0 评论 -
机器学习 day36(熵、信息增益、构建决策树)
熵这些例子的纯度和熵如图所示,且左侧为熵函数图熵函数是判断某组数据是否纯度高的指标熵函数公式如上图,底数为2仅为了使函数峰值为1,且设定0log(0)为0,但log(0)为无穷大原创 2023-09-18 21:47:38 · 173 阅读 · 0 评论