本周学习内容:
1.学习使用 OpenCV-Python 解决图像方面的问题:
注:
此部分仅使用库中的相关函数对图像进行处理,只是代码实现的过程,对于其中的原理并未进
行研究,只是使用
cv2
对图像进行处理,十分方便。有些部分也对比了
OpenCV
和
Numpy
中的
不同实现。
1.1
使用
OpenCV-Python
对图像处理
使用
OpenCV-Python
完成对图像的:
几何变换
扩展缩放
平移 旋转 仿射变换 透视变换
.
图像阈值
简单阈值
自适应阈值
Otsu’s
二值化
Otsu’s
二值化是如何工作的?
图像平滑
平均 高斯模糊
.
中值模糊
.
双边滤波
形态学转换 腐蚀
膨胀
开运算 闭运算
.
形态学梯度
.
礼帽 黑帽
.
形态学操作之间的关系
图像梯度
Sobel
算子
Scharr
算子
Laplacian
算子
Canny
边缘检测 原理
噪声去除 计算图像梯度
非极大值抑制 滞后阈值
.OpenCV
中的
Canny
边界检测
.
图像变换
傅里叶变换
Numpy
中的傅里叶变换
OpenCV
中的傅里叶变换
1.2
使用
OpenCV
进行机器学习简单算法实现
K
近邻(
k-Nearest Neighbour
)理解
K
近邻
OpenCV
中的
kNN
使用
kNN
对手写数字
OCR
手写数字的
OCR
英文字母的
OCR
支持向量机 理解
SVM .
线性数据分割 非线性数据分割
使用
SVM
进行手写数据
OCR
K
值聚类 理解
K
值聚类 它是如何工作的?
OpenCV
中的
K
值聚类
理解函数的参数
.
仅有一
个特征的数据 颜色量化
2.知识图谱基础知识学习
注:
此部分学习主要是了解知识图谱的相关概念,知识图谱的构建流程
Neo4J
下载安装和基本使
用,为阅读知识图谱的相关文献做准备。
图(
Graph
)是由节点(
Vertex
)和边(
Edge
)来构成,多关系图一般包含多种类型的节点和多种类
型的边。实体(节点)指的是现实世界中的事物比如人、地名、概念、药物、公司等,关系(边)则
用来表达不同实体之间的某种联系,比如人
-
“居住在”
-
北京、张三和李四是“朋友”、逻辑回归是
深度学习的“先导知识”等等。
构建知识图谱的过程:
实体命名识别(
Name Entity Recognition
)
关系抽取(
Relation Extraction
)
实体统一(
Entity Resolution
)
指代消解(
Coreference Resolution
)
![](https://i-blog.csdnimg.cn/blog_migrate/46121adb0f2a76b5f7eb5a4bfd03108e.png)
3 文献阅读
A Survey on Knowledge Graph-Based Recommender
Systems
注:
本篇综述还未阅读完,基于
KG
的推荐系统对
KG
的应用有三种方式
:
基于
Embeddig
的
方法
(The embedding-based method)
基于路径的方法
(The path-based method)
联合的方
法
(The unified method)
我目前只看了本文中提到的第一种方法 基于
Embeddig
的方法
(The
embedding-based method)
对基于
Embeddig
的方法
(The embedding-based method)
所涉及的
14
中方法进行了学习,对他们的方法有了一定的了解。
推荐系统的目的旨在为
user (
用户
)
推荐一个(或一系列)未观测的
item (
物品,电影,新闻等
)
。
近段时间,基于知识图谱的推荐系统
(KG-based recommendation system, KGRS)
引起研究者
的广泛兴趣,主要是把知识图谱作为辅助信息整合到推荐系统中,这样的做法带来两个方面的优势,
其一是能够提高推荐系统的准确性,其二是能够为推荐系统提供可解释性。本文是
2020
年针对知识
图谱作为辅助信息用于推荐系统的一篇综述。知识图谱对于推荐系统不仅能够进行更精确的个性化推
荐,而且对推荐也是具有可解释性的,有迹可循。
论文汇总了近些年来知识图谱辅助推荐系统的一些研究工作,并按不同的方法进行划分类别
(
下图是
我根据论文画出的大纲方法类别图
)
;除此之外,汇总了不同场景下的知识图谱数据集,涵盖
7
个场
景;最后阐述了未来的一些可研究方向及趋势。
embedding-based methods –
基于嵌入的方法
知识图谱的学习表示学习,直接把
KG
编码成低秩嵌入,即是用向量来表知识图谱中的节点也关系,
这里分为两类:
类
1
:
translation distance models
:
TransE [99], TransH [100],TransR [101], TransD [102]
;
类
2
:
semantic matching models
:
DistMult [103]
另外,根据
KG
是否包含
users
来分类
,
可以分为两类
:
第一类(
item graph
),
KGs
只使用
items
数据与它相关属性来构建,这个目的用
item graph
来
进行学习,输出
item
的向量表示。
![](https://i-blog.csdnimg.cn/blog_migrate/a37bbb12b5a1a156d1406c8753c2a7d7.png)
第二类(
user-item graph
),
users,items
,这些相关属性构成
graph
的节点。属性层关系与用
户关系看成是图的边。
![](https://i-blog.csdnimg.cn/blog_migrate/ccbe71ce3bfb80330701cea941554d73.png)
上面都是直接使用已学习结构知识原始的隐向量,最近提出了提练实体、关系表达的推荐。
多任务
![](https://i-blog.csdnimg.cn/blog_migrate/583a02c8620bfff559da78eaa17c3422.png)
4.学习收获
通过论文的研读和对于知识图谱
KG
的了解,感觉知识图谱在推荐系统中的应用还是特别有前景的。
首先:知识图谱可以用来存储复杂的信息,一图胜千言。
<
实体 关系 实体
> <
实体 属性 实体
>
通过
三元组将
user
和
item
进行连接,对于如何精确推荐,不同的算法给出了不同的解决策略,比如利
用侧边信息,多任务学习等方法。对于嵌入表达中,大部分都会加入一些用户辅助信息进来,有些嵌
入表达直接在原图谱表达,有些还要经过第二步的提炼;有些联合多任务来训练。对于论文的研读还
没有完全进行,最后学完再进行细致的归纳总结。
对于
OpenCV-Python
的学习,主要是
Opencv
在图像处理方面具有显著的优势,也通过代码看
着图片经过平滑 锐化 边缘特征提取后的一些图片。这个库调用使用还是比较方便的对于图形处理。
也可以用来机器学习的
K
邻近
KNN K-means
等目前对于这部分只是简单了解使用一下。
5.下周学习计划
继续完成论文后半部分的阅读
巩固复习学习机器学习深度学习的相关知识
学习知识图谱的相关知识
跟随视频使用
Neo4J python
环境等完成一个知识图谱小型问诊系统案例的搭建