自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 深度学习推荐系统——Embedding

深度学习推荐系统——EmbeddingEmbedding概述Word2vecItem2vecEmbedding概述Embedding操作的主要作用是将稀疏向量转换成稠密向量,向量之间的距离反映了对象之间的相似性。从另一空间表达物品,同时揭示物品之间潜在关系的。1、负责将发哦为稀疏特征向量转换成稠密低维特征向量2、Embedding本身就是极其重要的特征向量。3、Embedding对物品、用户相似度的计算是常用的推荐系统召回层技术。Word2vecCBOW模型的输人是wtw_twt​周边的词,预

2021-09-08 11:49:06 327

原创 深度学习推荐系统——深度学习时代

深度学习推荐系统——深度学习时代AutoRecDeep CrossingNeuralCFPNNWide&DeepFM与深度学习模型结合FNNDeepFMNFM注意力机制AFMAutoRech(r;θ)=f(W⋅g(Vr+μ)+b)h ( \boldsymbol { r } ; \theta ) = f ( \boldsymbol { W } \cdot g ( \boldsymbol { V } \boldsymbol { r } + \mu ) + b )h(r;θ)=f(W⋅g(Vr+μ)+

2021-09-07 22:54:56 898 5

原创 深度学习推荐系统——前深度学习时代

深度学习推荐系统——前深度学习时代协同过滤相似度UserCFItemCF矩阵分解矩阵分解的求解过程消除用户和物品打分的偏差矩阵分解的优缺点逻辑回归特征工程POLY2模型FM模型FFM模型GDBT+LRLS-PLM(Large Scale Piece-wise Linear Mode)总结协同过滤相似度余弦相似度sim⁡(i,j)=cos⁡(i,j)=i⋅j∥i∥⋅∥j∥\operatorname { sim } ( \boldsymbol { i } , \boldsymbol { j } ) =

2021-09-06 10:13:16 321

原创 Ubuntu18.04+ROS

Ubuntu18.04+ROSpython3.7pip3apt_pkgrospkgpython3.7# 安装python3.7sudo apt install python3.7# 将python3指向python3.7cd /usr/binsudo rm /usr/bin/python3sudo ln -s python3.7 python3pip3# 卸载pipsudo apt-get remove python-pip# 安装下载工具sudo apt install cur

2021-08-30 15:28:43 125

原创 机器学习——最大熵模型

机器学习——最大熵模型最大熵原理最大熵模型最大熵模型的学习最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型(maximum entropy model)。逻辑回归和最大熵模型都属于对数线性回归。最大熵原理最大熵原理认为,学习概率模型时,在所有可能的概率模型(分布)中,熵最大的模型是最好的模型。假设离散随机变量XXX的概率分布是P(X)P(X)P(X),则其熵是H(P)=−∑xP(x)log⁡P(x)H ( P ) = - \sum _ { x } P ( x ) \log P (

2021-05-02 19:54:32 140

原创 机器学习——EM算法

机器学习——EM算法EM算法EM算法推导EM算法是一种迭代算法,用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望(expcetation);M步,求极大(maximization)。所以这一算法称为期望极大算法(expectation maximization algorithm),简称EM算法。EM算法与初值的选择有关,选择不同的初值可能得到不同的参数估计值。EM算法不能保证找到全局最优值。EM算法概率模型有

2021-05-02 19:02:17 275

原创 机器学习——聚类方法

机器学习——聚类方法聚类基本概念层次聚类kkk均值聚类两种常用聚类方法:层次聚类(hierarchical clustering)和kkk均值聚类(k-means clustring)。层次聚类又有聚合(自下而上)和分裂(自下而上)聚类基本概念聚类的核心是相似度(similarity)或距离(distance)。样本间的相似度也可以用相关系数(correlation coefficient)来表示。相关系数的绝对值越接近于1,表示样本越相似;越接近于0,表示样本越不相似。相关系数定义为rij=∑k=

2021-04-24 19:36:54 124

原创 机器学习——k近邻法KNN

k近邻法kkk近邻算法kkk近邻模型距离度量kkk值的选择kkk近邻法(kkk-nearest neighber, kkk-NN)是一种基本分类与回归方法。kkk近邻算法输出:实例xxx所属的类yyy。(1) 根据给定的距离度量,在训练集TTT中找出与xxx最邻近的kkk个点,涵盖这kkk个点的xxx的邻域记作Nk(x)N_k(x)Nk​(x)(2) 在Nk(x)N_k(x)Nk​(x)中根据分类决策规则(如多数表决)决定x的类别y=arg⁡max⁡cj∑xi∈Nk(x)I(yi=cj),i=1

2021-04-24 18:53:34 177

原创 机器学习——朴素贝叶斯法

朴素贝叶斯法基本方法朴素贝叶斯的参数估计贝叶斯估计朴素贝叶斯(naive Bayes)法是基于贝叶斯定理与特征条件独立假设的分类方法。首先基于特征条件独立假设学习输入输出的联合概率分布,然后基于此模型,对给定的输入xxx,利用贝叶斯定理求出后验概率最大的输出yyy。基本方法通过训练数据集学习联合概率分布P(X,Y)P(X,Y)P(X,Y),Based on先验概率P(Y=ck)P(Y=c_k)P(Y=ck​)和条件概率P(X=x∣Y=ck)P \left( X = x \mid Y = c _ { k

2021-04-24 11:46:54 61

原创 机器学习——主成分分析PCA

机器学习——主成分分析PCA基本思想主成分主要性质主成分分析(principal component analysis,PCA)是一种常用的无监督学习方法,把由线性相关变量表示的观测数据转换为少数几个由线性无关变量表示的数据,线性无关的变量称为主成分。主成分的个数通常小于原始变量的个数,所以主成分分析属于降维方法。基本思想首先,对数据进行规范化,平均值为0,方差为1.之后,对数据进行正交变换,通过正交变换变成由若干个线性无关的新变量表示的数据。新变量是可能的正交变换中变量的方差的和最大的,即信息保

2021-04-24 11:00:22 148

原创 机器学习——支持向量机SVM

机器学习——SVM线性可分支持向量机和软间隔最大化超平面和硬间隔间隔最大化线性支持向量机和软间隔最大化非线性支持向量机与核函数核函数SMO支持向量机的(support vector machine, SVM)是一种二分类模型。它的基本模型是定义在特征空间上的间隔最大的线性分类器,还包括核技巧,这使它成为实质上的非线性分类器。支持向量机的学习策略就是间隔最大化,可形式化为一个求解凸二次规划(convex quadratic programming)的问题。当训练数据线性可分时,通过硬间隔最大化(hard

2021-04-18 18:37:14 156

原创 算法小节Ⅱ

算法小节Ⅱ括号画家表达式计算括号画家达达是一名漫画家,她有一个奇特的爱好,就是在纸上画括号。这一天,刚刚起床的达达画了一排括号序列,其中包含小括号( )、中括号[ ]和大括号{ },总长度为N。这排随意绘制的括号序列显得杂乱无章,于是达达定义了什么样的括号序列是美观的:(1) 空的括号序列是美观的;(2) 若括号序列A是美观的,则括号序列 (A)、[A]、{A} 也是美观的;(3) 若括号序列A、B都是美观的,则括号序列AB也是美观的。例如 (){} 是美观的括号序列,而)({)[}](

2021-02-16 21:45:59 312 1

原创 kmp算法

KMP for (int i = 2, j = 0; i <= m; i ++ ) { while (j && p[i] != p[j]) j = ne[j]; if (p[i] == p[j]) j ++ ; ne[i] = j; } for (int i = 0, j = 0; i <= n; i ++ ) { while (j && s[i] != p[j])

2021-02-02 20:54:03 59

原创 二叉堆

二叉堆超市超市

2021-02-02 20:49:39 133

原创 机器学习——决策树

机器学习——决策树决策树信息增益——ID3决策树参考博客,决策树的关键就是,如何选择最优化分属性。一般而言,随着划分过程的不断进行,我们希望决策树的分支结点所包含的样本尽可能属于同一类别,即结点的“纯度”越来越高。信息增益——ID3“信息熵”是度量样本集合纯度最常用的一种指标。假定当前样本集合DDD中第kkk类样本所占的比例为pk(k=1,2,…,∣Y∣)p_{k}(k=1,2, \ldots,|\mathcal{Y}|)pk​(k=1,2,…,∣Y∣),则DDD的信息熵定义为Ent⁡(D)=−∑k

2020-12-06 12:08:27 180

原创 Linux高性能服务器编程学习笔记——高级I/O函数

高级I/O函数高级I/O函数pipe函数dup函数和dup2函数readv和writev函数sendfile函数mmap函数和munmap函数splice函数高级I/O函数网络编程常用I/O函数大致分为三类:用于创建文件描述符的函数,包括pipe、dup/dup2函数。用于读写数据的函数,包括readv/writev、sendfile等等。用于控制I/O行为和属性的函数,包括fcntl函数。pipe函数#include<unistd.h>int pipe( int fd[2]

2020-11-28 20:05:31 104

原创 机器学习——线性模型

机器学习——线性模型线性模型基本形式线性回归线性模型基本形式给定由ddd个属性描述的示例x=(x1;x2;...;xd)\pmb{x}=(x_1;x_2;...;x_d)xxx=(x1​;x2​;...;xd​),其中xix_ixi​是x\pmb{x}xxx在第iii个属性上的取值,线性模型试图学的一个通过属性的线性组合来进行预测的函数,即f(x)=w1x1+w2x2+...+wdxd+bf(\pmb{x})=w_1x_1+w_2x_2+...+w_dx_d+bf(xxx)=w1​x1​+w2​x2

2020-11-20 15:29:19 380

原创 Linux高性能服务器编程学习笔记——Linux网络编程基础API

Linux网络编程基础APILinux网络编程基础APIsocket地址API主机字节序和网络字节序通用socket地址专用socket地址IP地址转换函数创建socket命名socket监听socket接受连接Linux网络编程基础APIsocket地址API主机字节序和网络字节序现代CPU的累加器一次都能装载4字节,即一个整数。这4字节在内存中排列的顺序将影响它被累加器装载成的整数值。这就是字节序问题。字节序分为大端字节序和小端字节序。大端字节序是指一个整数的高位字节存储在内存的低地址处,低位字

2020-11-19 11:02:09 149

原创 Trie

Trie前缀统计最大异或对最长异或值路径前缀统计给定N个字符串S1,S2…SNS_1,S_2…S_NS1​,S2​…SN​,接下来进行M次询问,每次询问给定一个字符串T,求S1~SNS_1~S_NS1​~SN​中有多少个字符串是T的前缀。输入字符串的总长度不超过106,仅包含小写字母。我们可以通过S1,S2…SNS_1,S_2…S_NS1​,S2​…SN​建立一个trie树,标记每个字符串的结尾,然后对于给定的字符串进行查询,如果查询过程中遇到trie的结尾标记就将该结果相加。该算法的时间复杂度

2020-11-16 22:42:04 77

原创 Linux高性能服务器编程学习笔记——TCP/IP通信案例:访问Internet上的Web服务器

TCP/IP通信案例实例总图访问DNS服务器本地名称查询HTTP通信HTTP请求HTTP应答实例总图Web客户端和服务器之间使用HTTP协议通信。HTTP协议是一种应用层协议,它默认使用的传输层协议是TCP协议。我们按照如下方法来部署:在Kongming20上运行wget客户端程序,在ernest-laptop上运行squid代理服务器程序。客户端通过代理服务器的中转,获取Internet上的主机www.baidu.com的文档首页index.html,如图所示。在HTTP通信链上,客户端和目标服

2020-11-13 11:57:45 221

原创 Linux高性能服务器编程学习笔记——TCP协议

TCP协议TCP协议TCP服务特点TCP连接的建立和关闭三次握手半关闭状态连接超时TCP状态转移TCP协议TCP服务特点传输层协议主要有2个:TCP协议和UDP协议。TCP协议相对于UDP协议的特点是:可靠传输、面向连接、字节流。TCP连接是全双工的、一对一的,所以基于广播和多播的应用程序不能使用。发送端执行的写操作次数和接收端执行的读操作次数之间没有任何数量关系,这就是字节流的概念。与数据报服务的区别就是通信双方是否必须执行相同次数的读、写操作。UDP协议发送端应用程序每执行一次写操作,就将其

2020-11-10 12:14:21 92

原创 Linux高性能服务器编程学习笔记——IP协议

IP协议详解IP协议详解IP服务的特点IP分片IP路由IP转发重定向IP协议详解IP服务的特点IP协议是TCP/IP协议族的动力,它为上层协议提供无状态、无连接、不可靠的服务。无状态是指IP通信双方不同步传输数据的状态信息,因此所有IP数据报的发送、传输和接收都是相互独立、没有上下文关系的。这种服务最大的缺点是无法处理乱序和重复的IP数据报,优点也很明显:简单、高效,无需为保持通信的状态而分配内核资源,也无需每次传输数据时都携带状态信息。无连接是指IP通信双方都不长久的维持对方的任何信息。上层协

2020-11-08 17:10:02 111

原创 Linux高性能服务器编程学习笔记——TCP/IP协议族

TCP/IP详解TCP/IP协议族TCP/IP协议族体系结构以及主要协议数据链路层网络层传输层应用层封装分用ARP协议工作原理DNS工作原理socket和TCP/IP协议族的关系TCP/IP协议族TCP/IP协议族体系结构以及主要协议TCP/IP协议族是一个四层协议系统,自底而上分别是数据链路层、网络层、传输层和应用层。上层协议使用下层协议提供的服务。数据链路层数据链路层实现了网卡接口的网络驱动程序,以处理数据在物理媒介上的传输。 不同的物理网络具有不同的电气特性,网络驱动程序隐藏了这些细节,为

2020-11-08 14:50:59 100

原创 Numpy学习——数组类型

Numpy学习——数组类型更多的数据类型转换(casting)不同数据类型的大小结构体类型处理丢失的数据更多的数据类型转换(casting)numpy会自动转换高精度数据类型:>>> np.array([1, 2, 3]) + 1.5array([2.5, 3.5, 4.5])赋值不会改变原有数据类型:>>> a = np.array([1, 2, 3])>>> a.dtypedtype('int32')>>> a

2020-09-27 16:17:12 387

原创 Numpy学习——科学计算

Numpy学习——科学计算Elementwise操作基本操作其他操作基本约简(reductions)计算总和其他约简Elementwise操作基本操作标量操作:>>> a = np.array([1, 2, 3, 4])>>> a + 1array([2, 3, 4, 5])>>> 2**aarray([2, 4, 8, 16])算术操作>>> b = np.ones(4) + 1>>> a -

2020-09-25 15:39:23 308

原创 Numpy学习——Numpy初探

1.1Numpy Numpy初探Numpy&Numpy arraysNumpy arraysNumPy参考文档Import约定创建arrays手动构造arrays函数创建arraysNumpy&Numpy arraysNumpy arraysPython对象高级数字对象,包含整数、浮点类型;低成本的插入和添加数据以及快速查找功能。Numpy提供:多维数组支持;贴近硬件底层(效率);为科学计算设计(方便);面向数组计算。>>> import

2020-09-23 11:14:56 130

原创 链表

链表邻值查找邻值查找给定一个长度为 n 的序列 A,A 中的数各不相同。对于 A 中的每一个数 Ai,求:1⩽j⩽imin∣Ai−Aj∣_{1\leqslant j\leqslant i}^{min}|Ai−Aj|1⩽j⩽imin​∣Ai−Aj∣以及令上式取到最小值的 j(记为 Pi)。若最小值点不唯一,则选择使 Aj 较小的那个。如果暴力求解,遍历数列中的每个数,并搜索其与前面所有数的最小差值,则总的时间复杂度是O(n2)O(n^2)O(n2)。我们可以考虑借助链表,将原数列排序,用链表来

2020-09-21 21:36:14 43

原创 队列

队列小组队列蚯蚓双端队列最大子序和小组队列有n个小组要排成一个队列,每个小组中有若干人。当一个人来到队列时,如果队列中已经有了自己小组的成员,他就直接插队排在自己小组成员的后面,否则就站在队伍的最后面。请你编写一个程序,模拟这种小组队列。1、ENQUEUE x - 将编号是x的人插入队列;2、DEQUEUE - 让整个队列的第一个人出队;3、STOP - 测试用例结束可以采用一个小组队列和一个队列数组完成要求,小组队列记录小组编号的排序,队列数组记录每个小组的内部排序。#include

2020-09-14 14:43:42 132

原创

栈包含min函数的栈编辑器火车进站火车进出站问题直方图中最大的矩形包含min函数的栈设计一个支持push,pop,top等操作并且可以在O(1)时间内检索出最小元素的堆栈。push(x)–将元素x插入栈中pop()–移除栈顶元素top()–得到栈顶元素getMin()–得到栈中最小元素利用一个辅助栈维护最小元素class MinStack {public: stack<int> s, temp; int min_x; /** initialize

2020-09-09 13:03:01 137

原创 基本算法小结

基本算法小结飞行员兄弟占卜DIY分形飞行员兄弟“飞行员兄弟”这个游戏,需要玩家顺利的打开一个拥有16个把手的冰箱。已知每个把手可以处于以下两种状态之一:打开或关闭。只有当所有把手都打开时,冰箱才会打开。把手可以表示为一个4х4的矩阵,您可以改变任何一个位置[i,j]上把手的状态。但是,这也会使得第i行和第j列上的所有把手的状态也随着改变。请你求出打开冰箱所需的切换把手的次数最小值是多少。可以参考递推与递归中"费解的开关"以及位运算异或的知识。我们把所有可能的情况枚举,将二维矩阵压缩成一维

2020-09-02 11:05:30 243

原创 贪心算法

贪心算法防晒畜栏预定防晒有C头奶牛进行日光浴,第i头奶牛需要minSPF[i]到maxSPF[i]单位强度之间的阳光。每头奶牛在日光浴前必须涂防晒霜,防晒霜有L种,涂上第i种之后,身体接收到的阳光强度就会稳定为SPF[i],第i种防晒霜有cover[i]瓶。求最多可以满足多少头奶牛进行日光浴。先将每头奶牛按照需要的minSPF排序。将防晒霜排序,从后向前遍历,如落在某头奶牛的minSPF、maxSPF区间内,则结果加+1,表示成下图。上面的小线段表示的就是每头奶牛的minSPF,maxSP

2020-08-29 15:32:59 368

原创 倍增算法

倍增算法给定一个整数 M,对于任意一个整数集合 S,定义“校验值”如下:从集合 S 中取出 M 对数(即 2∗M 个数,不能重复使用集合中的数,如果 S 中的整数不够 M 对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值就称为集合 S 的“校验值”。现在给定一个长度为 N 的数列 A 以及一个整数 T。我们要把 A 分成若干段,使得每一段的“校验值”都不超过 T。求最少需要分成几段。看见“使得平方之和最大”、“最少需要分成几段”就能发现该题是求解最大最小问题,最开始想到的

2020-08-22 08:54:00 1723

原创 排序算法

排序)多级排序中位数问题均分纸牌问题多级排序莫斯科正在举办一个大型国际会议,有n个来自不同国家的科学家参会。每个科学家都只懂得一种语言。为了方便起见,我们把世界上的所有语言用1到109之间的整数编号。在会议结束后,所有的科学家决定一起去看场电影放松一下。他们去的电影院里一共有m部电影正在上映,每部电影的语音和字幕都采用不同的语言。对于观影的科学家来说,如果能听懂电影的语音,他就会很开心;如果能看懂字幕,他就会比较开心;如果全都不懂,他就会不开心。现在科学家们决定大家看同一场电影。请你帮忙

2020-08-21 08:56:35 233

原创 二分查找

二分查找算法二分查找算法模板整数二分实数二分三分法二分查找例题二分查找算法模板二分模板有两种,适用于不同情况。整数二分当区间[l, r]的更新操作是r=mid;l=mid+1时,计算mid不需要加1。int bsearch_1(int l, int r){ while(l<r) { int mid = l + r >> 1; if(check(mid)) r = mid; else l = mid + 1; } return 1;}当区间[l, r]的

2020-08-14 11:25:37 91

原创 前缀和与差分

前缀和&差分前缀和差分前缀和地图上有 N 个目标,用整数Xi,Yi表示目标在地图上的位置,每个目标都有一个价值Wi。注意:不同目标可能在同一位置。现在有一种新型的激光炸弹,可以摧毁一个包含 R×R 个位置的正方形内的所有目标。激光炸弹的投放是通过卫星定位的,但其有一个缺点,就是其爆炸范围,即那个正方形的边必须和x,y轴平行。求一颗炸弹最多能炸掉地图上总价值为多少的目标。前缀和的定义就是对于当前数组,第i个数以前的数的总和,形成一个新的数组,即前缀和数组。sum[i]=∑j=0inum[

2020-08-13 12:19:25 163

原创 递推与递归

递推与递归递归实现指数型枚举递归实现组合型枚举递归实现排列型枚举费解的开关奇怪的汉诺塔约数之和递归实现指数型枚举从1~n这n个整数中随机选取任意多个,输出所有可能的选择方案。#include <iostream>using namespace std;int n;//u代表当前进行的递归计数,state代表哪些数被选与未选void dfs(int u, int state){ //达到n时输出 if(u == n){ for(int i =0; i < n;

2020-08-10 10:07:42 160

原创 位运算

位运算C++位运算基本知识与或非异或补码按位取反左移、右移位运算例题快速幂最短Hamilton路径C++位运算基本知识与input_1input_2output000010100111// C++ a与b表示a & b或input_1input_2output000011101111// C++ a或b表示a | b非inputoutput

2020-08-02 23:06:23 97

原创 ROS-Noetic踩坑

本科时候图方便仅仅使用了Windows下的V-REP(想想用gazebo还要学Linux和ROS就好麻烦…),最近由于需要学习了ROS,也算是填上本科时候埋下的坑(>﹏<)。本文主要针对ROS wiki教程基于ROS Noetic踩得雷做一下总结,关于如何学习ROS,可以参考知乎高赞,马学长的回答ROS学习入门(抛砖引玉篇)。ROS安装目前有在维护的版本有Kinetic、Melodic以及Noetic。由于我的Ubuntu版本是20.04,所以选择了Noetic,并且Noetic是最新版本

2020-07-30 15:37:35 8900 11

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除