0912_Collective Intelligence Programming Reading Notes
来源:互联网 发布:网络用语猜成语 编辑:程序博客网 时间:2024/05/18 20:35
读了两天的机器学习方面的书,一般都觉得太高大上了,这次仔细翻开入门书,才顿觉之前大学必修课程——数值代数计算的重要性;当然还有之前参加美赛时候学习的matlab的曲线拟合不仅仅只是在建立模型时有用,在日常生活中同样适用。
才翻了近20页的书,不算特别多,不过还是蛮有感触的。
姑且不谈前几页谈的人工智能的作用之类,我们从实际算法开始说起。
根据都评价了的影片进行相似度评价:(比较两人的已作相同电影的评价相似度)
1. 欧几里得距离 similarity-distance
sim_distance = 1 / ( 1 + sqrt ( Σ (a - b)² ) )
2. 皮尔逊相关系数 similarity-pearson(解决欧几里得距离不能解决的用户起评分数不同,但是评价相同的问题)
sim_pearson = ( Σ ( a * b ) - Σ ( a ) * Σ ( b ) / n ) / sqrt ( ( Σ ( a² ) - Σ ² ( a ) / n ) * ( Σ( b² ) - Σ ² ( b ) / n ) )
以已看的电影所作出的评价为依据,找出评价最为相似的群体(个人),为用户推荐其他电影。
ranking = Σ ( sim_distance * grade ) / Σ ( sim_distance )
ranking = Σ ( sim_pearson * grade ) / Σ ( sim_pearson )
为了解决某些用户可能对部分电影特别青睐导致推荐有误,采用对不同相似度的用户进行加权操作,结果显示不论是皮尔逊相关系数亦或是欧几里得距离,最终的算法得到的结果是大抵相同的。
那么就足以解决相似度推荐的问题。
算法大多是使用python写的,且大量使用了python特有的字典(类似json数组或者是map容器)和列表,对于列表推导式,之前学习python基本语法时真的比较少接触,还是比较习惯写java/c++/php中的foreach、while操作。
今天就先整理这么多吧!
- 0912_Collective Intelligence Programming Reading Notes
- 《编程之美》(The beauty of Programming) Reading notes
- Reading notes on <The Art of Unix Programming>(1)
- Notes on reading: Functional Programming in Scala - Part 1
- Reading Notes
- Reading Notes
- [reading notes] css W3school reading notes
- Programming notes
- Reading notes of 'The Art of Multiprocessor Programming' -- Chapter 1 & Appendix B
- 《Programming Collective Intelligence》review
- 'Programming Collective Intelligence'读书笔记
- Programming Collective Intelligence
- <Programming Collective Intelligence>
- Programming Collective Intelligence
- PBRT reading notes 1
- PBRT reading notes 2
- PBRT reading notes 3
- sdk reading notes
- 开始写博客
- Hadoop/spark安装实战(系列篇2)安装虚拟机、PieTTY、winscp、JDK、配置DNS、SSH免密码登录
- 串口调试助手--VC++ 2010 开发
- Perl 实现简单的html 标签筛选
- 1101. Quick Sort (25)
- 0912_Collective Intelligence Programming Reading Notes
- Android JNI的动态注册
- 测试你是否和LTC水平一样高 1407 (简单数学题)
- posix线程栈
- 判断浏览器是否安装pdf插件
- 改革70周年
- IOS 调用系统键盘 设置搜索字段和事件
- MATLAB中find函数用法
- 超轻量级的安卓SlidingMenu库