
算法
文章平均质量分 91
iterate7
阳春布德泽,咱能生光辉?
百川东到海,不能复西归,
少壮要努力,以免徒伤悲!
展开
-
向量检索milvus之一:以图搜图
安装milvus关于milvusmilvus作为一个集成的开源平台,目标就是向量检索的集成平台。类似于elasticsearch集成了搜索。细节大家可以直接看官网。https://www.milvus.io/cn/docs/v0.11.0/overview.md安装说起来其实挺容易,方法也比较清晰。不过下载比较慢。>> docker pull milvusdb/milvus:0.11.0-cpu-d101620-4c44c00.11.0-cpu-d101620-4c44c0: Pul原创 2020-11-01 20:12:30 · 2745 阅读 · 1 评论 -
bert系列第一篇: bert进行embedding
bert可以干啥我们理解bert为一个transformer集合,输入是一句话,输出是经过transform的结果。我们了解,深度学习的本质就是抽取核心特征, 这也是bert的核心功能,而且以transformer为主要模块,具有更优秀的attention功能,捕获的特征更为精确和全面。一句话概括, bert就是一个抽取器。输入一句话(词序列),输出抽取后的embedding序列。输入输出输入会加入特殊的[CLS]代表整句话的含义,可以用于分类。input的词help,prince,ma原创 2020-10-04 23:22:33 · 17072 阅读 · 2 评论 -
cart回归树:练手+sklearn
背景cart树作为决策树的一种,在非常多的地方被使用。既可以用于分类问题,也可以用于回归问题。分类问题则非常容易理解,利用gini系数较大的特征进行样本分裂,从而构建一颗分类树。 今天我们要探讨的是回归树。回归树cart简介回归树,则目标函数则是平方差,也就是说,分完之后形成left和right子树,每个子树对label,也就是y,进行平方差的计算。最后左右子树的平方差之和则是评估标注。 ...原创 2020-02-23 20:43:08 · 2356 阅读 · 0 评论 -
动态规划之二:背包问题knapsack
背包问题描述有n个物品,它们有各自的体积和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和?类似的问题非常多:比如每个任务都有时间和价值,我们有一定的时间,现在在有限的的时间里完成最大价值的任务,如何安排?任务ABCDEFG所得收益7951214612需要时间3426735下面就以这个问题来进行分析。...原创 2019-12-08 12:27:28 · 676 阅读 · 0 评论 -
动态规划解决宫格移动
介绍动态规划(英语:Dynamic programming,简称 DP)是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题,动态规划方法所耗时间往往远少于朴素解法。动态规划背后的基本思想非常简单。大致上,若要解一个给定问题,我们需要解其不同部分(即子问题),再根据子问...原创 2019-12-07 22:38:29 · 304 阅读 · 0 评论 -
python并行加速之: multiprocessing, multithread
背景对于java的多线程问题,可以方便利用disrupt架构。在python则一般是使用multiprocessing和multithread两种解决方案,前者是基于cpu; 后者基于多线程。具体方案Process 方案def f(x, ret): ret[x] = x*x def task_multiprocessing_get(): ret = {} ...原创 2019-11-03 21:24:04 · 2513 阅读 · 0 评论 -
异或XOR的再理解以及在leetcode上的应用
异或0和0异或产生0,0和1; 1和0异或得到1;1和1异或得到0。 简单总结:不同的产生1;否则0。代表的是差别。 补充AND,OR。AND 0&0=0 1&1=1 0&1=0 只有两个同时满足才能满足。OR 0|0=0 1|1=1 0|1=1 只要有一个满足就满足。再理解:异或的操作,如同...原创 2018-04-12 14:17:36 · 2163 阅读 · 1 评论 -
leetcode 807. Max Increase to Keep City Skyline(不变天际线的最大化)
题目In a 2 dimensional array grid, each value grid[i][j] represents the height of a building located there. We are allowed to increase the height of any number of buildings, by any amount (the amounts...原创 2018-04-30 23:48:44 · 444 阅读 · 1 评论 -
熵、交叉熵、KL散度、损失函数
信息量一个事件x的信息量是: I(x)=−log(p(x))I(x)=−log(p(x))I(x)=-log(p(x)) 解读:如果一个事件发生的概率越大,那么信息量就越小。如果是1,也就是100%发生,那么信息量为0。熵就是对信息量求期望值。 H(X)=E[I(x)]=−∑x∈Xp(x)logp(x)H(X)=E[I(x)]=−∑x∈Xp(x)logp(x) H(X...原创 2018-04-25 16:06:18 · 10957 阅读 · 1 评论 -
leetcode 68:Text Justification(Round Robin算法应用 )
题目Given an array of words and a width maxWidth, format the text such that each line has exactly maxWidth characters and is fully (left and right) justified.You should pack your words in a greedy a...原创 2018-05-13 23:02:35 · 623 阅读 · 0 评论 -
利用gensim进行词向量处理和找到相似词
关于词向量计算方法word2vec加载方法word2vec format;bin;text format;xx.kv结构如何计算相似度有必要norm吗?性能那个更快结果参考文献原创 2019-04-06 12:38:20 · 6287 阅读 · 0 评论 -
StarSpace系列之一:tagspace
问题类型TagSpace 单词、标签的嵌入用途: 学习从短文到相关主题标签的映射,例如,在 这篇文章 中的描述。这是一个典型的分类应用。模型: 通过学习两者的嵌入,学习的映射从单词集到标签集。 例如,输入“restaurant has great food <\tab> #restaurant <\tab> #yum”将被翻译成下图。(图中的节点是要学习嵌入的实体,图...原创 2019-04-14 00:32:30 · 1474 阅读 · 0 评论 -
mac上安装xlearn
什么是xlearn安装步骤1. xcode for clanghttps://developer.apple.com/download/more/下载xcode并安装,是的,就是5-6G大小,而且解压缩之后11.8G2. cmakebrew install cmake 即可。验证成功。==> Auto-updated Homebrew!Updated 2 taps (home...原创 2019-06-23 11:06:09 · 769 阅读 · 0 评论 -
bootstrap自采样再理解
前言本文要讨论的并非是Bootstrap工具包,而是统计学习中一种重采样(Resampling)技术。下面引用的是谢益辉博士关于Bootstrap (和 Jackknife)基本思想的论述,希望能帮助读者对于Bootstrap 建立一个初步的认识:在统计的世界,我们面临的总是只有样本,Where there is sample, there is uncertainty,正因为不确定性...原创 2018-03-29 15:11:50 · 27101 阅读 · 9 评论 -
bp算法的理解
bp算法又称反向传导算法,英文: back propagation。 我们了解,前向传导,可以根据W,b来计算出隐层、输出层的各个神经元的值以及对应的激活值,最终得到输出。如果输出和我们的目标存在误差,这个误差可以用成本函数表示(loss function),那么我们就需要反向的把这个误差分配到前面的各个传导的过程中,也就是W和B上;我们需要知道每个神经元带来了多少误差,这个影响程度我们用“...原创 2018-03-23 14:03:44 · 4772 阅读 · 1 评论 -
随机数产生器(random number generator)
随机数产生器随机数一般分为真正的随机和伪随机(pseudorandom number generator (PRNG))。真正的随机则是不可预测;伪随机则依靠随机数种子和随机算法,是可能被预测的。 只依靠计算机程序,不依赖硬件和外部噪音能否产生真正的随机? 个人分析: 不可能。原因如下:种子是可选择的,产生序列的算法代码也是固定的,那么这个序列则是可以预测,即使引入“时间”这种动态的变量原创 2015-12-27 12:14:55 · 19835 阅读 · 1 评论 -
K-Means简记
K-Means聚类算法。基础含义K-Means是一种聚类算法,它可以把n个对象根据相互之间的相似度,自动划分到K个聚类。 但并不是任意的划分,我们有明确的目标。通俗的讲,目标就是划分后的聚类, 每个类内部相对集中;而聚类与聚类之间则相对离散。数学原理给定n个观察点X1,X2,...,XnX_1,X_2,...,X_n 其中每个观察点XiX_i都是d维向量,也就是说,只要把原创 2017-07-15 22:33:08 · 639 阅读 · 0 评论 -
神经网络介绍
概述以监督学习为例,假设我们有训练样本集(xi,yi)(xi,yi)(x_i,y_i),那么神经网络算法能够提供一种复杂且非线性的假设模型hW,b(x)hW,b(x)h_{W,b}(x), 它具有参数W,bW,bW,b, 可以以此参数来拟合我们的数据。 为了描述神经网络(neural networks),我们先从最简单的神经网络讲起, 这个神经网络仅由一个“神经元”构成,以下就是这个“神经元...原创 2017-07-24 18:23:40 · 1190 阅读 · 0 评论 -
矩阵分解之最小二乘法ALS
本文从稀疏矩阵分解引入,构建了平方损失函数,从而引入最小二乘法和随机梯度下降两种求解方法,并进行了求导的推导,并用python来实战观察两种方法的效果。原创 2017-10-24 11:19:17 · 3727 阅读 · 0 评论 -
EM算法(具体到抽象)
EM算法的例子和思想,以及算法流程。 从具体到抽象再到具体。原创 2017-11-12 19:33:30 · 735 阅读 · 0 评论 -
牛顿法
1. 需要求极值2. 然后泰勒公式展开3. 然后求导,得到梯度和海塞矩阵4. 极值满足必要条件梯度为0,所以推导出两次迭代的更新公式原创 2017-10-29 19:44:38 · 883 阅读 · 0 评论 -
最小二乘法
最小二乘法的思想最小二乘法则是一种统计学习优化技术,它的目标是最小化误差平方之和来作为目标,从而找到最优模型,这个模型可以拟合(fit)观察数据。 回归学习最常用的损失函数是平方损失函数,在此情况下,回归问题可以用著名的最小二乘法来解决。最小二乘法就是曲线拟合的一种解决方法。 最小二乘法的问题分为两类:线性最小二乘法非线性最小二乘法如果是线性的则有闭式解(closed-for原创 2018-01-07 15:20:04 · 37099 阅读 · 1 评论 -
梯度下降(gradient descent)
梯度在某个点的位置法向量,所以它的方向表示下降最快或者上升最快也就很好理解了。 法向量:假设平面a与向量n垂直,且n是非零向量,那么n就是a的法向量。由于是垂直的关系,针对当前点而言,肯定是变化最快的方向。 梯度是一个方向,而且是针对某个点(其实是这个点对应的切面) 这个方法变化率最快,用偏导来表达∇=(∂f∂x,∂f∂y,∂f∂z)(1)\nabla= (\frac{原创 2017-08-05 10:52:40 · 2606 阅读 · 0 评论 -
lucene检索得分模型
得分机制和思想对于搜索,一般包括从库里通过query搜索出docs并排序。 本质上是一个排名问题,检索的话比较简单,可以通过倒排文档的思路,直接通过词找到包括该词的文档(最原始的思路)。 lucene也是利用了两类模型:布尔模型和向量空间模型; [布尔模型]{http://blog.youkuaiyun.com/iterate7/article/details/77206613}负责检索到数据; 向量...原创 2018-02-26 15:25:26 · 597 阅读 · 0 评论 -
损失函数:逻辑回归损失函数 推导简记
这里只推导逻辑回归的损失公式。假设函数hθ(x)=11+e−θTx(假设函数)(假设函数)hθ(x)=11+e−θTxh_\theta(x) = \frac{1}{1+e^{-\theta^Tx}} \tag{假设函数}用于二分类p(x)={hθ(x),(1−hθ(x)),if y=1if y=0p(x)={hθ(x),if y=1(1−hθ(...原创 2019-10-02 23:22:04 · 6340 阅读 · 2 评论 -
编辑距离edit distance
定义编辑距离是字符串之间的一种距离度量,也称为Levenshtein距离;这种距离的含义是:通过最少的操作把一个字符串变换成另外一个字符串。 一次操作包括:删除、插入和替换一个字符。 编辑距离越小,代表越相似。例子将kitten转换成sitting的步骤: 1. kitten->sitten(替换k->s) 2. sitten->sittin(替换e->...原创 2018-03-15 11:10:40 · 436 阅读 · 0 评论 -
pagerank算法的再理解
问题描述如果要评估一个页面的得分,谷歌提出了pageRank算法。主体思路是: 一个网页的重要程度与两个方面有关: 1. 指向自己的页面越多,越重要 2. 指向自己的页面越重要,那么得分越高。于是公式可以: PRi=∑(j,i)∈EPRjOj(1)(1)PRi=∑(j,i)∈EPRjOjPR_i = \sum_{(j,i)\in E} \frac{PR_j}{O_j} \tag{...原创 2018-03-12 19:27:00 · 1265 阅读 · 0 评论 -
朴素贝叶斯简记
朴素贝叶斯分类器naive bayes classifier,简单梳理其数学公式,基本思想,并简单应用到搜索引擎的用户意图识别中。原创 2015-12-31 10:08:26 · 740 阅读 · 0 评论