zoukankan      html  css  js  c++  java
  • 矩阵分解

    1.矩阵分解过程

    尴尬的很,不会调整图片旋转,该图片是对矩阵分解的实现过程的理解,代码参考链接:https://github.com/zhangqianjin/recommender-system/tree/master/matrix-factorization

                                                                                                    觉得有用麻烦点个赞~~~~~~~~~~~~~~

    2.下面是通过adagrad求梯度的线性回归参数迭代过程,关键在于知道adagrad的公式,以及对损失函数求导得到梯度的公式,损失函数用的是平方误差损失,求导过程如下绿色笔迹(不好意思,下图中的adagrad的公式都错了,学习率对应的部分前面应是减号)

    两个实现过程的区别在于:前者通过对损失设置阈值来停止迭代,而后者。。。。。。。(有待思考两者的区别)

    3.奇异值分解(SVD分解)

    本来是想找python代码的实现来理解的,但是没有找到,只找到对其原理的理解,下面是循序渐进的对其理解的参考链接:

    1)入门理解 https://www.cnblogs.com/LeftNotEasy/archive/2011/01/19/svd-and-applications.html  

          收获:svd这种奇异值分解可以从原数据A(m*n维)提取r个最优特征,分解为三个矩阵相乘:A=U∑V 其中∑是对角阵(特征值),我们只取前r个最优特征,得到新的矩阵乘积的表示,V为右奇异矩阵,U为左奇异矩阵,分别表示原本m*n元素的特征向量。即提取原矩阵A的重要特征。(U提取A的行表示的含义的特征,V提取提取A的列表示的含义的特征)

    2)为什么称V为右奇异矩阵,U为左奇异矩阵?

    https://blog.csdn.net/zhuiqiuk/article/details/67633477  该链接进行了推导

     3)潜在语义索引LSI在得到主题时应用了svd分解

         https://www.cnblogs.com/pinard/p/6805861.html

        该文档讲解很详细,应用的话这是我自己在做主题模型时候写的代码:

    lsi_model = models.LsiModel(corpus_tfidf, id2word=dictionary, num_topics=5)
    print(lsi_model.print_topics(num_topics=5,num_words=4))

    觉得有用麻烦点个赞~~~~~~~~~~~~~~

  • 相关阅读:
    神文章2:文本矩阵简述 V1.0 -vivo神人
    收集:经典语录收集
    java 实现唯一ID生成器
    Mybatis-Generator自动生成XML文件以及接口和实体类
    form表单提交,Servlet接收并读取Excel文件
    海南小地图(echart)
    Echart 仪表盘和柱形图
    微信小程序图片上传并展示
    springMvc基于注解登录拦截器
    这是一个定时脚本,主要功能是遍历该文件夹下的所有文件并存储到数组,对数据中的文件进行操作,一个一个移动到指定的目录下,并删除原有文件
  • 原文地址:https://www.cnblogs.com/kjkj/p/10096841.html
Copyright © 2011-2022 走看看