机器学习
li8630
读书和旅行
展开
-
Word2vec Parameter Learning Explained 论文学习笔记
原始论文:http://www-personal.umich.edu/~ronxin/pdf/w2vexp.pdf 之前学习Word2vec时,脱离了神经网络,这周补充了下相关知识,打算之后再 看下源码,加深自己的理解。原创 2015-03-27 19:02:06 · 4637 阅读 · 1 评论 -
Alternating Least Squares(ASL) for Implicit Feedback Datasets的数学推导以及用Python实现
最近在看CF的相关论文,《Collaborative Filtering for Implicit Feedback Datasets》思想很好,很容易理解,但是从目标函数 是如何推导出Xu和Yi的更新公式的推导过程却没有很好的描述,所以下面写一下 推导: 首先对Xu求导: 其中Y是item矩阵,n*f维,每一行是一个item_vec,C^u是n*n维的对角矩阵, 对角线上原创 2015-07-27 18:52:47 · 2631 阅读 · 2 评论 -
word2vec.c源码分析
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <pthread.h>#define MAX_STRING 100#define EXP_TABLE_SIZE 1000#define MAX_EXP 6#define MAX_SENTENCE_LENGTH 1000#d原创 2015-07-08 16:49:30 · 1467 阅读 · 0 评论 -
Linux下的Libsvm使用历程录
技术链接: http://www.ithao123.cn/content-839597.html转载 2015-05-27 18:15:52 · 479 阅读 · 0 评论 -
多线程版本的User_KNN的C语言实现
其中的数据格式: 一行一个用户购买记录,uid pid1 pid2…#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <time.h>#include <pthread.h>#define MaxString 50#define M原创 2015-05-07 15:37:39 · 1057 阅读 · 0 评论 -
多线程版本的Item_KNN的C语言实现
这里模仿了Word2vec里面构建Hash索引的思想。#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <time.h>#include <pthread.h>#define MaxString 50#define MaxUserSi原创 2015-05-11 15:04:10 · 1449 阅读 · 0 评论 -
word2vec中 distence.c 文件源码分析
#include <stdio.h>#include <string.h>#include <math.h>//#include <malloc.h>#include <stdlib.h>const long long max_size = 2000; // max length of stringsconst long long N = 5;原创 2015-04-09 20:01:27 · 1424 阅读 · 0 评论 -
Alias Sampling Algorithm With GSL C代码实现
最近读论文《Large-scale Information Network Embedding》 看到里面对超大数量的边进行采样时采用了Alias Sampling Algotithm,他的优点是可以O(1)的时间采样。下面涉及了gsl,安装方法很简单。 下面是gsl的资料: http://www.gnu.org/software/gsl/manual/html_node/#include <原创 2015-04-07 19:56:24 · 1145 阅读 · 0 评论 -
Word2Vec里实现Huffman树
word2vec里是拿数组实现word2vec,效率很高,在学校里经常见到的是递归迭代实现Huffman树,这对于处理大量叶子节点的问题不是一个最佳方法。 数组法:#include <stdio.h>#include <stdlib.h>#include <math.h>#define MAX_CODE_LENGTH 40//宏定义没有;struct vocab_word{ lo原创 2015-03-13 15:33:13 · 2238 阅读 · 0 评论 -
C语言实现随即梯度下降,批量梯度下降法
批量梯度下降:/* * 批量梯度下降实验: * 训练集输入为矩阵: * 1,4 * 2,5 * 5,1 * 4,2 * 输出结果为: * 19 * 26 * 19 * 20 * 需要参数为theta: * theta0 * theta1 * * 目标函数: * y=theta0*x0+theta1*x1; * */ #includ原创 2015-03-13 15:25:05 · 2852 阅读 · 0 评论 -
Word2Vec算法和源码分析完整版
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>#include <pthread.h>#define MAX_STRING 100#define EXP_TABLE_SIZE 1000#define MAX_EXP 6#define MAX_SENTENCE_LENGTH 1000#d原创 2015-03-21 01:24:20 · 5795 阅读 · 1 评论 -
机器学习中的矩阵求导总结
下图为常见的矩阵求导公式及其推导。原创 2015-03-27 21:31:03 · 1500 阅读 · 0 评论 -
共轭梯度法(conjugate gradient method)
该方法是快速求解Ax=b线性系统的方法,他要求矩阵A是对称正定矩阵。 算法执行过程: matlab实现:clear;%删除工作空间的所有变量,释放系统内存clc;%清楚命名窗口A=[4 1;1 3];b=[1,2]';N=length(b); %解向量的维数fprintf('库函数计算结果:');x=inv(A)*b %库函数计算结果x=[2;1];原创 2015-07-25 16:43:12 · 2882 阅读 · 0 评论