音乐分类与聚类算法应用
1. 聚类算法概述
聚类并非如很多人最初认为的那样完美,它存在诸多问题,一致性就是其中一个显著问题。K - Means和EM聚类满足丰富性和尺度不变性,但不满足一致性,这使得聚类测试几乎无法进行,通常只能通过轶事和示例来测试,不过这对于分析目的来说是可行的。
2. 音乐分类示例
音乐有着悠久的录制和创作历史,对其进行有效分类需要深入的音乐学研究。分类方式多种多样,如按艺术家姓名、音乐流派等。以爵士乐为例,它很难被精确归类,根据蒙特勒爵士音乐节的定义,爵士乐是可以即兴演奏的任何音乐。为了构建一个能将音乐收藏划分为相似作品的音乐库,我们可以使用K - Means和EM聚类方法来对音乐进行软聚类,进而构建音乐分类体系。
2.1 数据收集
从1100年代至今有大量的音乐数据,包括MP3、CD、黑胶唱片和书面音乐等。为避免版权问题,我们仅使用专辑的公开信息,如艺术家、歌曲名称、流派(若有)等。通过Discogs.com可以获取大量相关的XML数据。我们聚焦于爵士乐,从http://www.scaruffi.com/jazz/best100.html 下载了约1200张最佳爵士专辑的元数据(年份、艺术家、流派等),并使用Discogs API对数据进行注释,发现爵士乐至少有128种独特风格。
2.2 K - Means算法分析数据
与KNN类似,我们需要确定一个最优的K值。假设我们要将所有唱片放在一个有25个插槽的架子上,可设置K = 25进行聚类。以下是使用Python实现的代码:
import
超级会员免费看
订阅专栏 解锁全文
1801

被折叠的 条评论
为什么被折叠?



