热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Y=eye(K)(y,:);替换"for"循环?Coursera

如何解决《Y=eye(K)(y,:);替换"for"循环?Coursera》经验,为你挑选了1个好方法。

从Coursera机器学习开始分配任务.我很好奇这是如何工作的...从一个例子来看,这个更简单的代码:

% K is the number of classes.
K = num_labels;
Y = eye(K)(y, :);

似乎是以下的替代品:

I = eye(num_labels);
Y = zeros(m, num_labels);
for i=1:m
  Y(i, :)= I(y(i), :);
end

而且我不知道怎么做.我也有一些困难谷歌搜索这个信息.

谢谢!



1> gnovice..:

y在这种情况下,您的变量必须是m包含1到1范围内的整数的元素向量num_labels.代码的目标是创建一个矩阵Ym-by- num_labels其中每行k包含除了在列1全部为零y(k).

生成的方法Y是首先使用该函数创建单位矩阵eye.这是除了主对角线以外的所有零的方阵.k因此,单位矩阵的行在列中将具有一个非零元素k.因此,我们可以Y使用y作为行索引从单位矩阵索引的行构建矩阵.我们可以使用for循环(如在第二个代码示例中)执行此操作,但这并不像使用单个索引操作那样简单有效(如在第一个代码示例中).

让我们看一个例子(在MATLAB中):

>> num_labels = 5;
>> y = [2 3 3 1 5 4 4 4];  % The columns where the ones will be for each row
>> I = eye(num_labels)

I =

     1     0     0     0     0
     0     1     0     0     0
     0     0     1     0     0
     0     0     0     1     0
     0     0     0     0     1

>> Y = I(y, :)

Y =
                                       % 1 in column ...
     0     1     0     0     0         %    2
     0     0     1     0     0         %    3
     0     0     1     0     0         %    3
     1     0     0     0     0         %    1
     0     0     0     0     1         %    5
     0     0     0     1     0         %    4
     0     0     0     1     0         %    4
     0     0     0     1     0         %    4

注意: Octave允许您索引函数返回参数,而无需先将它们放在变量中,但MATLAB不会(至少不是很容易).因此,语法:

Y = eye(num_labels)(y, :);

仅适用于Octave.在MATLAB中,您必须按照上面的示例执行此操作,或者在此处使用其他选项之一.


推荐阅读
  • 本文详细介绍了MicroATX(也称Mini ATX)和MATX主板规格,探讨了它们的结构特点、应用场景及对电脑系统成本和性能的影响。同时,文章还涵盖了相关操作系统的实用技巧,如蓝牙设备图标删除、磁盘管理等。 ... [详细]
  • 毕业设计:基于机器学习与深度学习的垃圾邮件(短信)分类算法实现
    本文详细介绍了如何使用机器学习和深度学习技术对垃圾邮件和短信进行分类。内容涵盖从数据集介绍、预处理、特征提取到模型训练与评估的完整流程,并提供了具体的代码示例和实验结果。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 探索如何使用公共数据集为您的编程项目提供动力。无论您是编程新手还是有经验的开发者,本文将为您提供实用建议和资源,帮助您启动并运行一个创新的数据驱动型项目。 ... [详细]
  • 本文探讨了如何在iOS开发环境中,特别是在Xcode 6.1中,设置和应用自定义文本样式。我们将详细介绍实现方法,并提供一些实用的技巧。 ... [详细]
  • 利用决策树预测NBA比赛胜负的Python数据挖掘实践
    本文通过使用2013-14赛季NBA赛程与结果数据集以及2013年NBA排名数据,结合《Python数据挖掘入门与实践》一书中的方法,展示如何应用决策树算法进行比赛胜负预测。我们将详细讲解数据预处理、特征工程及模型评估等关键步骤。 ... [详细]
  • 深入理解K近邻分类算法:机器学习100天系列(26)
    本文详细介绍了K近邻分类算法的理论基础,探讨其工作原理、应用场景以及潜在的局限性。作为机器学习100天系列的一部分,旨在为读者提供全面且深入的理解。 ... [详细]
  • Coursera ML 机器学习
    2019独角兽企业重金招聘Python工程师标准线性回归算法计算过程CostFunction梯度下降算法多变量回归![选择特征](https:static.oschina.n ... [详细]
  • Python 工具推荐 | PyHubWeekly 第二十一期:提升命令行体验的五大工具
    本期 PyHubWeekly 为大家精选了 GitHub 上五个优秀的 Python 工具,涵盖金融数据可视化、终端美化、国际化支持、图像增强和远程 Shell 环境配置。欢迎关注并参与项目。 ... [详细]
  • 技术分享:从动态网站提取站点密钥的解决方案
    本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 历经三十年的开发,Mathematica 已成为技术计算领域的标杆,为全球的技术创新者、教育工作者、学生及其他用户提供了一个领先的计算平台。最新版本 Mathematica 12.3.1 增加了多项核心语言、数学计算、可视化和图形处理的新功能。 ... [详细]
  • 探讨ChatGPT在法律和版权方面的潜在风险及影响,分析其作为内容创造工具的合法性和合规性。 ... [详细]
author-avatar
whucad
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有