Python 全栈体系【四阶】(二十)

第五章 深度学习

二、推荐系统

1. 推荐算法介绍

1.1 个性化推荐算法
  • 人口属性

  • 地理属性

  • 资产属性

  • 兴趣属性

1.2 推荐算法分支
  • 协同过滤推荐算法
  • 基于内容的推荐算法
  • 混合推荐算法
  • 流行度推荐算法
1.3 推荐算法

为推荐系统选择正确的推荐算法是非常重要的决定。目前为止,已经有许多推荐算法可供选择,但为你需要解决的特定问题选择一种特定的算法仍然很困难。每一种推荐算法都有其优点和缺点,当然也有其限制条件,在作出决定之前,你必须要一一考量。在实践中,你可能会测试几种算法,以发现哪一种最适合你的用户,测试中你也会直观地发现它们是什么以及它们的工作原理。

1.4 协同过滤算法

基于内存的协同过滤/基于邻域的协同过滤

  • 相似统计的方法得到具有相似兴趣爱好的邻居用户

基于模型的协同过滤

  • 先用历史数据得到一个模型,再用此模型进行预测。基于模型的推荐广泛使用的技术包括神经网络等学习技术、潜在语义检索 (latent seman2tic indexing)和贝叶斯网络 (bayesian networks)。
1.5 邻域的协同过滤

UCF 距离算法 ICF

欧几里得距离(Euclidean Distance)以及欧式距离的标准化(Standardized Euclidean Distance)

马哈拉诺比斯距离(Mahalanobis Distance)

曼哈顿距离(Manhattan Distance)

切比雪夫距离(Chebyshev Distance)

明可夫斯基距离(Minkowski Distance)

海明距离(Hamming distance)

1.6 ICF

请添加图片描述

1.7 UCF

请添加图片描述

1.8 邻域的协同过滤

UCF ICF 相似度

余弦相似度(Cosine Similarity)以及调整余弦相似度(Adjusted Cosine Similarity)

皮尔森相关系数(Pearson Correlation Coefficient)

Jaccard 相似系数(Jaccard Coefficient)

Tanimoto 系数(广义 Jaccard 相似系数)

对数似然相似度/对数似然相似率

互信息/信息增益,相对熵/KL 散度

信息检索–词频-逆文档频率(TF-IDF)

词对相似度–点间互信息

1.9 基于模型的协同过滤

用关联算法做协同过滤

用聚类算法做协同过滤

用分类算法做协同过滤

用回归算法做协同过滤

用矩阵分解做协同过滤

用神经网络做协同过滤

用图模型做协同过滤

用隐语义模型做协同过滤

1.10 关联规则

Apriori

  • Apriori 算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据集中,如果我们找到了频繁出现的数据集,那么对于超市,我们可以优化产品的位置摆放,对于电商,我们可以优化商品所在的仓库位置,达到节约成本,增加经济效益的目的。

FPGROWTH

  • FpGrowth 算法通过构造一个树结构来压缩数据记录,使得挖掘频繁项集只需要扫描两次数据记录,而且该算法不需要生成候选集合,所以效率会比较高。

请添加图片描述
请添加图片描述

1.11 聚类

K-Means

  • K-Means 算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛。K-Means 算法有大量的变体,本文就从最传统的 K-Means 算法讲起,在其基础上讲述 K-Means 的优化变体方法。包括初始化优化 K-Means++, 距离计算优化 elkan K- Means 算法和大数据情况下的优化 Mini Batch K-Means 算法。

BIRCH

  • BIRCH 的全称是利用层次方法的平衡迭代规约和聚类(Balanced Iterative Reducing and Clustering Using Hierarchies),名字实在是太长了,不过没关系,其实只要明白它是用层次方法来聚类和规约数据就可以了。

请添加图片描述

1.12 分类

逻辑回归原理

  • 如果我们根据用户评分的高低,将分数分成几段的话,则这个问题变成分类问题。比如最直接的,设置一份评分阈值,评分高于阈值的就是推荐,评分低于阈值就是不推荐,我们将问题变成了一个二分类问题。虽然分类问题的算法多如牛毛,但是目前使用最广泛的是逻辑回归。

朴素贝叶斯算法

请添加图片描述

1.13 矩阵分解

请添加图片描述

1.14 矩阵分解之隐语义

请添加图片描述
请添加图片描述

1.15 神经网络

2006 年,Hinton 在《Science》和相关期刊上发表了论文,首次提出了“深度信念网络”的概念。与传统的训练方式不同,“深度信念网络”有一个“预训练”(pre-training)的过程,这可以方便的让神经网络中的权值找到一个接近最优解的值,之后再使用“微调”(fine-tuning)技术来对整个网络进行优化训练。这两个技术的运用大幅度减少了训练多层神经网络的时间。他给多层神经网络相关的学习方法赋予了一个新名词–“深度学习”。

很快,深度学习在语音识别领域暂露头角。接着,2012 年,深度学习技术又在图像识别领域大展拳脚。Hinton 与他的学生在ImageNet 竞赛中,用多层的卷积神经网络成功地对包含一千类别的一百万张图片进行了训练,取得了分类错误率 15%的好成绩,这个成绩比第二名高了近 11 个百分点,充分证明了多层神经网络识别效果的优越性。
请添加图片描述

请添加图片描述

1.16 协同过滤优点
  • 实现快
  • 对商品和用户没有要求
  • 效果有保证
1.17 协同过滤缺点
  • 冷启动
  • 马太效应
  • 推荐解释模糊
1.18 工具

请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/772937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于springboot+vue调用百度ai实现车牌号识别功能

百度车牌号识别官方文档 结果视频演示 后端代码 private String getCarNumber(String imagePath, int count) {// 请求urlString url "https://aip.baidubce.com/rest/2.0/ocr/v1/license_plate";try {byte[] imgData FileUtil.readFileByBytes(imagePath);Stri…

机器学习笔记(4)—逻辑回归(Logistic Regression)

文章目录 逻辑回归(Logistic Regression)分类问题假说表示判定边界代价函数简化的成本函数和梯度下降多类别分类:一对多 逻辑回归(Logistic Regression) 分类问题 分类问题中,我们要预测的变量 y y y是一…

【数字图像处理】改变图像灰度级别

改变图像灰度级别 首先,对原始图像 O O O进行灰度级量化: q int ⁡ ( O 2 i ) 2 i , q\operatorname{int}\left(\frac{O}{2^{i}}\right) \times 2^{i}, qint(2iO​)2i, 灰度级别256,128,64,32,16,8&…

Qt 图形视图 /图形视图框架坐标系统的设计理念和使用方法

文章目录 概述Qt 坐标系统图形视图的渲染过程Item图形项坐标系Scene场景坐标系View视图坐标系map坐标映射场景坐标转项坐标视图坐标转图形项坐标图形项之间的坐标转换 其他 概述 The Graphics View Coordinate System 图形视图坐标系统是Qt图形视图框架的重要组成部分&#xf…

1.0 html(1)

html 一、基本介绍 1、定义:html是一种超文本标记语言,也是一种标识性语言(不是编程语言) 标记:记号(绰号) 超文本:就是页面内容可以包含图片、链接,音乐&#xff0c…

IBM:《2023IBM年报》

2024年3月12日,IBM分享了《2023IBM年报》。 报告节选: 在本财年,IBM 的收入为 619 亿美元,按固定汇率计算增长 3%,自由现金流为 112 亿美元,同比增长 19 亿美元。我们经历了对新 watsonx 平台日益增长的需…

ElasticSearch、java的四大内置函数式接口、Stream流、parallelStream背后的技术、Optional类

第四周笔记 一、ElasticSearch 1.安装 apt-get install lrzsz adduser -m es 创建用户组: useradd *-m* xiaoming(用户名) *PS:追加参数-m* passwd xiaoming(用户名) passwd xiaoming 输入新的 UNIX 密码: 重新输入新的 UNIX 密码&…

Spring Boot | Spring Boot的“核心配置“与“注解“

目录: Spring Boot的核心配置与注解 :1. 全局配置文件 ( application.properties / application.yaml:创建项目时候自动生成,其会被“自动导入”到“程序”中 )application.properties配置文件application.yaml 配置文件 (推荐使用)当value值…

GitLab更新失败(CentOS)

使用yum更新GitLab,出现如下错误提示: Error: Failed to download metadata for repo gitlab_gitlab-ce: repomd.xml GPG signature verification error: Bad GPG signature 编写如下脚本: for pubring in /var/cache/dnf/gitlab_gitlab-?…

基于nodejs+vue电影订票系统python-flask-django-php

本系统采用了node语言的express框架,数据采用MySQL数据库进行存储。结合进行开发设计,功能强大,界面化操作便于上手。本系统具有良好的易用性和安全性,系统功能齐全,可以满足电影订票的相关工作。 目 录 1 绪 论 3 1.1…

centos7 安装influxdb+telegraf+grafana 监控服务器

influxdb influxdb是一个时间序列数据库, 所有数据记录都会打上时间戳, 适合存储数字类型的内容 telegraf telegraf 可以用于收集系统和服务的统计数据并发送到influxdb grafana grafana 是一个界面非常漂亮, 可直接读取influxdb数据展示成各种图表的开源可视化web软件 安…

Gin中的gin.Context与Golang原生的context.Context区别与联系

一.gin中的context gin.Context 1.概念 在 Gin 中,Context 是一个非常重要的概念,它是Gin的核心结构体之一,用于处理 HTTP 请求和响应,在 Gin 的处理流程中,Context 贯穿整个处理过程,用于传递请求和响应的信息Gin 的 Context 是…

如何查询电脑是否被锁定了IP地址?锁定IP会出现什么问题?

前言 电脑刚到手的时候,基本上是通过路由器DHCP进行IP分配的。路由器DHCP分配IP给电脑的好处是网络不会出现IP冲突,网络能正常使用。 有些电脑可能在DHCP自动获取IP时出现错误,所以小伙伴就会通过手动设置IP让电脑可以正常上网。 这样的操…

【真题解析】题目 3151: 蓝桥杯2023年第十四届省赛真题-飞机降落【C++ DFS 超详解注释版本】

爆搜冥想 暴力枚举每一辆飞机对于每一个飞机都只存在两种情况,可以降落和不可以降落如果可以降落,计算降落后最早可以降落的时间pre,作为下一次递归的传参如果不可以降落,枚举下一辆飞机 注意这辆的降落有盘旋这种量子叠加态&…

【前端面试3+1】02插槽、箭头函数与普通函数、重绘重排、【回文数】

一、对插槽的理解 1.定义及作用: 插槽是一种用于在组件中插入内容的特殊语法。它的作用是让父组件可以向子组件传递内容,从而实现组件的灵活性和复用性。 2.分类: 插槽可以分为具名插槽和作用域插槽。 2.1具名插槽: 具名插槽允许父…

苹果macOS 14.4.1正式发布:修复无法使用外接显示器USB集线器问题

3 月 26 日消息,苹果今日向 Mac 电脑用户推送了 macOS 14.4.1 更新(内部版本号:23E224),本次更新距离上次发布隔了 18 天。 需要注意的是,因苹果各区域节点服务器配置缓存问题,可能有些地方探测…

怎么在vscode里面保存图片视频音频文件(只需要两步)?

在硬盘中建立一个新的文件夹(自定义命名~我的这里是html→jpg) 第一步建立文件夹 第二步右键打开然后选择其他方式打开,选择code打开就会自己复制过去了

Memcached分布式内存对象数据库

一 Memcached 概念 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。 二 在架构中的位置 Memcached 处于前端或中间件后…

Gitea CORS Access-Control-Allow-Origin 的问题

最近我们在想使用我们提供的代码库进行元数据提供的时候,启动的服务报 CORS 问题。 如果你的 Gitea 服务器是直接暴露给外部使用的话,可以在 Gitea 的配置文件中添加下面的配置: [cors] ENABLED true ALLOW_DOMAIN *在完成上面的…

基于nodejs+vue网购平台管理系统python-flask-django-php

本篇论文对网购平台管理系统的需求分析、功能设计、系统设计进行了较为详尽的阐述,并对系统的整体设计进行了阐述,并对各功能的实现和主要功能进行了说明,并附上了相应的操作界面图。 前端技术:nodejsvueelementui, Express 框架…