您当前的位置: 首页 >  数据结构

阿里云云栖号

暂无认证

  • 0浏览

    0关注

    5305博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

与机器学习算法有关的数据结构

阿里云云栖号 发布时间:2018-03-26 17:07:13 ,浏览量:0

摘要: 在机器学习中需要运用到许多数据结构,掌握它们是非常重要的。希望本文能有所帮助

拥有机器学习技能是不够的。你还需要良好的数据结构的工作知识。学习更多,并解决一些问题。

因此,你已经决定不再使用固定的算法并开始编写自己的机器学习方法。也许你已经有了一种新的集群数据的新方法,或者你可能对你最喜欢的统计分类包的局限性感到失望。

无论哪种情况,你对数据结构和算法的了解越多,在代码编写时就越容易。

我不认为机器学习中使用的数据结构与其他软件开发领域的数据结构有很大的不同。然而,由于许多问题的规模和难度,对基础知识的掌握非常重要。

另外,由于机器学习是一个数学性非常强的领域,我们应该记住,数据结构是如何被用来解决数学问题的,以及它们是如何以自己的方式来处理数学问题的。

有两种方法可以对数据结构进行分类:通过它们的实现和它们的操作。

通过实现,我指的是它们的编程方式和实际存储模式的具体细节。它们的外观并没有如何实现更重要。对于按操作或抽象数据类型分类的数据结构来说,情况恰恰相反——它们的外观和操作比实现方式更重要,事实上,它们通常可以使用许多不同的内部表示来实现。

数组

当我说基本数组是机器学习中最重要的数据结构时,我并不是在开玩笑。这个实用的类型比你想象的要多。数组非常重要,因为它们被用于线性代数——这是你可以使用的最有用和最强大的数学工具。

因此,最常见的类型分别是一个和二维的类型,分别对应于向量和矩阵,但偶尔会遇到三个或四维的数组,它们要么用于更高级别的张量,要么为前者的组示例。

在进行矩阵运算时,你将不得不从令人眼花缭乱的各种库、数据类型、甚至语言中进行选择。许多科学编程语言,如Matlab,交互式数据语言(IDL),以及带有Numpy扩展的Python,主要是为处理向量和矩阵而设计的。

但这些数据结构的优点是,即使在更通用的编程语言中,实现向量和矩阵在metal很简单,假设语言中有任何Fortran DNA。考虑矩阵向量乘法的平移:

使用C++:

for (int i=0; i            
关注
打赏
1664438436
查看更多评论
0.0563s