---
title: 算法原理优化
description: "鲲鹏BoostKit大数据算法加速库在机器学习算法的原理上做了很多优化，降低算法复杂度，以下以分布式SVD算法为例进行说明。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengbds/appAccelFeatures/algorithmaccelf_ml/kunpengbdsml_19_0007.html
sourcePath: /source/zh/kunpengbds/appAccelFeatures/algorithmaccelf_ml/kunpengbdsml_19_0007.html
indexId: 281a87d0fc7523a187708ae138c0d0690746bb7d5cc92ec8d38b02ccadc83da883
---
# 算法原理优化

鲲鹏BoostKit大数据算法加速库在机器学习算法的原理上做了很多优化，降低算法复杂度，以下以分布式SVD算法为例进行说明。

SVD算法通常用来做信息提取、降维或者信息预处理。SVD算法基本的概念如图，将一个大矩阵分解为三个矩阵乘，SVD分为全量式和截断式，全量式指求解全部的奇异值S，截断式是求解前K大的部分的奇异值。

图1 SVD算法原理优化

在对大规模矩阵进行求解时，通常使用截断式SVD。我们对截断式SVD流程图的关键节点进行了一些创新：

1. 在开始奇异值相差比较大的情况下，我们采用幂法加速的方式加快随机SVD的收敛速度。
2. 在后续奇异值相差比较小时，通过构建块Krylov子空间来进一步加速不分离奇异值的收敛，提升计算性能。
3. 在算法实现上，我们将矩阵乘向量的计算，优化为矩阵乘矩阵，计算效率提升明显。

最终达成SVD算法性能相比开源提升1倍以上。

图2 截断式SVD算法流程关键节点创新
