对机器学习预测模型思想的思考

原来ALS“交叉最小二乘法”只是优化方法,和梯度下降是一类东西,并不是建模的方法,模型一般是指损失函数?矩阵分解的损失函数一般都很直接:a-uv,而uv一开始是随机初始化,所以大体的规律都是这样:提出一些参数,认为通过这些参数可以计算出模拟值,然后损失函数就是真实值减模拟值,然后用某种优化方法,当然这些参数一开始都是未知的可以先用随机值,然后再不断的优化调整
基于latent factor(隐含语义)、MF(matrix factorization 矩阵分解)的推荐方法:
推荐方法有两种思路:一种是基于领域的,就是推荐与用户喜欢的商品类似的或者推荐与这个用户类似的其他用户喜欢的,领域的意思就是类似,相近。另一种是基于隐含语义的,这种需要用到矩阵分解。比如说有一个矩阵X,表示多个用户对多个商品的评分,类似于:
              商品a 商品b 商品c 商品d 商品e
用户甲  1          3          5         0          1
用户乙   0         1           2        1           0
用户丙   4          1          0         0          3
使用“矩阵分解技术”(SVD 或 BPR,都是非常高深莫测的数学)将这个矩阵分解为两个矩阵:X=WH,也就是矩阵X等于矩阵W乘以矩阵H(的转置),W有u行k列,u等于用户的数量,
类似于:
               列1  列2  …  列k
用户甲
用户乙
用户丙

H有i行k列,i等于商品的数量
k是自定义的,只要能够理解k,就理解了一切,k是什么,k就是隐含语义,可以这样生动形象地理解:假设这些商品是电影,我可以把电影分成k个类别:悬疑,搞笑,恐怖…
矩阵W就表示用户对这些分类的喜好,比如
                悬疑  搞笑  恐怖
用户甲    1          5       0

表示用户甲对悬疑,搞笑,恐怖类的喜欢程度分别是1,5,0
矩阵H表示电影的类别相关程度,比如
              悬疑 搞笑 恐怖
电影a    1       5       0
表示电影a属于搞笑类但也有点悬疑的成分,完全不属于恐怖类
这样一来,类别就成了用户和电影之间的桥梁,我们可以用类别来标识用户,比如这个用户非常喜欢搞笑类,有点喜欢悬疑类,不喜欢恐怖类,也可以用类别标识电影,比如这部电影属于搞笑类,有悬疑的成分,没有恐怖的成分,那这部电影就非常适合这个用户。
这就是k的生动理解,k为什么是隐语义,因为k这个维度是通过数学自动计算出来的,并不是人为指明的,它具有不可解释性,也就是说我们不知道W H矩阵中的这些列1,列2,列k到底是什么,就像图像识别中的深层特征,数学中有很多这种东西,搞得很难理解,但是可以用比喻的方式去形象化理解,这k个列就可以理解为或者说比喻成k个类别,相比于人为明显的指明具体是哪些类别(悬疑,搞笑…),这种数学分解出来的“类别”就是“隐晦”的,这k个列就是latent factor(潜在因子),是W和H的中介,桥梁,表示用户和商品之间的某种联系,为什么不人为指定类别呢,因为那样每个商品都要人工地去分类,虽然可解释性强,但很麻烦工作量很大,而让数学自动去计算分解就很简单,但可解释性差,不能直接理解的就是隐语义
嵌入:embed,经常看到这个词,很装逼,字面上很难理解,其实他ma的就是降维,嵌入=降维,用低维来表示,比如有成千上万部电影,但都可以分为几类,就可以用低维向量来标识这些电影

朴素贝叶斯、TF-IDF、page rank等等都有一个共同思想:就是找“显著的个性”,个性就是人无我有,而且得显著,基本上都可以表示为分子除以分母的形式,分子就是“我有多少”,分母就是除我之外还有多少人也有。比如说为什么吃野味比吃米饭更有优越感,因为虽然我吃过很多米饭,但其他人也都吃过呀,所以就不具备区分度,但野味就不同,大部分人都没吃过(分母很小),而唯独我吃过很多(分子很大),所以…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值