SVD算法
以下内容来源于参考文献,仅供学习交流
一、什么是SVD算法
奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石
二、SVD算法的应用
隐形语义索引:最早的SVD应用之一就是信息检索,我们称利用SVD的方法为隐性语义检索(LSI)或隐形语义分析(LSA)。
基于SVD的图像压缩、基于协同过滤的推荐引擎、利用SVD简化数据
可应用于优化类问题,路径、空间最优化问题
三、SVD代码的实现
import math
import random
import matplotlib.pyplot as plt
#求平均值
def Average(fileName):
fi = open(fileName, ‘r’)
result = 0.0
cnt = 0
for line in fi:
cnt += 1
arr = line.split()
result += int(arr[2].strip())
ret