- 博客(32)
- 收藏
- 关注
原创 《推荐系统实践》——基于物品的协同过滤算法(代码实现)
一、基础算法基于物品的协同过滤算法(简称ItemCF)给用户推荐那些和他们之前喜欢的物品相似的物品。不过ItemCF不是利用物品的内容计算物品之间相似度,而是利用用户的行为记录。该算法认为,物品A和物品B具有很大的相似度是因为喜欢物品A的用户大都也喜欢物品B。这里蕴含一个假设,就是每个用户的兴趣都局限在某几个方面,因此如果两个物品属于同一个用户的兴趣列表,那么这两个物品可能就属于有限的几个
2018-01-16 19:01:54 22332 5
原创 C语言题(引用&,const)
有如下程序段:class A{ int _a;public: A(int a): _a(a) { } friend int f1(A &); friend int f2(const A &); friend int f3(A); friend int f4(const A);};以下调用哪个是错误的: A: f1(0) B
2017-03-17 12:38:26 845
原创 假设淘宝网上某商品A在任一时刻t内若有人浏览,则该商品在下一时刻t+1内无人浏览的概率为0.35(即下一时刻的浏览情况仅与当前时段相关)
假设淘宝网上某商品A在任一时刻t内若有人浏览,则该商品在下一时刻t+1内无人浏览的概率为0.35(即下一时刻的浏览情况仅与当前时段相关),定义此条件概率为 P(O_{t+1}=0|O_t=1)=0.35(即用“1”代表有人浏览的事件,用“0”代表无人浏览的事件),类似得定义P(O_{t+1}=1|O_t=1)=0.65,P(O_{t+1}=0|O_t=0)=0.4,P(O_{t+1}=1|O_t=0
2017-03-13 12:18:32 2442
原创 指针的概念
1、数组与指针 2、多维数组与指针 3、指向多维数组元素的指针变量 4、字符串与指针 形参用字符指针变量 *b放入常量存储区,不可引用和更改。 5、函数与指针 6、指针数组和指向指针的指针 p指向指针数组中每个元素(每个字符串首字母的地址),*p取出整个字
2017-03-11 23:13:35 286
原创 图的概念
1、图的定义 2、图的存储结构 3、图的遍历 图的理解:深度优先和广度优先遍历及其 Java 实现4、最小生成树 最小生成树-Prim算法和Kruskal算法5、最短路径 这里写链接内容 Dijkstra算法时间复杂度O(n^2)6、拓扑排序 这里写链接内容7、关键路径 这里写链接内容
2017-03-03 09:40:51 360
原创 查找算法中的概念(排序树和散列表)
1、二叉排序树 别名二叉搜索树,二叉查找树,Binary Sort Tree(BST) 如果数据集没有顺序,线性查找是非常慢的。但是如果构造成了二叉排序树,且所有非叶子结点的左右子树的结点数目均保持差不多(平衡),那么二叉排序树的搜索性能逼近二分查找。但它比连续内存空间的二分查找的优点是,改变二叉排序树结构(插入与删除结点)通常是常数开销。而插入与删除顺序表中的结点需要移动大段的内存数据。2
2017-02-25 11:41:39 742
原创 树的概念
1、树 2、二叉树 3、特殊二叉树 4、二叉树的性质 5、线索二叉树 6、赫夫曼树 由哈夫曼树求得的编码为最优前缀码,同时也是可变字长编码。一般所说的赫夫曼树是指严格二叉树(一颗二叉树的每个非终端节点有且仅有两棵子树),也称最优二叉树。但
2017-02-25 09:22:31 1830
原创 排序算法(python实现)
1、冒泡排序 class BubbleSort: def bubbleSort(self, A, n): flag=1 for i in range(n-1): #i: 0~(n-2) range函数不包括最后一个元素 if flag: flag=0
2017-02-23 19:48:48 367
原创 全概率公式和贝叶斯公式
例题: 有10枚硬币,其中9枚是正常硬币(正反两面),1枚特殊硬币(两个这正面)。选择一枚硬币,抛5次得到5次正面的概率是多少?如果得到5次正面,那么选中特殊硬币的概率是多少?设B为得到5次正面,A1A_{1}为选择正常硬币,A2A_{2}为选择特殊硬币。第一问:考察全概率公式P(B)=P(A1)P(B|A1)+P(A2)P(B|A2)P(B)=P(A_{1})P(B|A_{1})+P(A_{2}
2017-02-19 09:12:50 631
原创 统计学10
方差分析 1、计算总平方和SST SST也就是这些数据点离均值的距离的平方之和,将其考虑为计算方差时的分子部分。 总平均值X¯\bar{X}=(3+2+1+5+3+4+5+6+7)/9=4,它等于每个数据集的均值的均值。X1¯\bar{X_{1}}=2,X2¯\bar{X_{2}}=4,X3¯\bar{X_{3}}=6。 SST=(3−4)2+(2−4)2+(1−4)2+(5−4)2+(
2017-02-12 09:13:04 1058
原创 统计学9
卡方分布介绍 从概率密度图中看出,如果只从标准正态分布中抽样一次,n=1,得到接近0的可能性非常大,接近0的数再平方后会更接近0,所以得到小数值的概率非常高。随着n增加,小数值的平方和会增大,曲线会向右偏移。凸起部分越往右,某种程度上曲线越对称。卡方分布大体上是衡量离期望值的总误差,使用该分布能求出某一误差的概率。皮尔逊卡方检验 考虑购入一家餐厅,问老板店内每天顾客数的分布,给出下图,周一来
2017-02-11 19:53:03 340
原创 统计学8
线性回归中的平方误差 假设坐标平面内有n点,想找到一条直线,最小化这些点到该直线的平方误差。我们需要求出m和b的值。 定义下误差的概念 e1=y1−(mx1+b)e_{1}=y_{1}-\left ( mx_{1}+b \right ) . . en=yn−(mxn+b)e_{n}=y_{n}-\left ( mx_{n}+b \right )平方误差 SE=e21+...+e
2017-02-11 09:26:34 328
原创 统计学7
随机变量之差的方差 假设有两个随机变量X和Y,两者完全独立。 E(X)=μXE(X)=\mu_{X}, E(Y)=μYE(Y)=\mu_{Y}, Var(X)=E((X−μX)2)=σ2XVar(X)=E((X-\mu_{X})^{2})=\sigma^{2}_{X}, Var(Y)=E((Y−μY)2)=σ2YVar(Y)=E((Y-\mu_{Y})^{2})=\sigma^{2}_{Y
2017-02-10 13:36:20 657
原创 统计学6
假设检验 统计推断的基本问题可以分为两大类,一类是参数估计问题,另一类是假设检验问题。精神学家用老鼠测试一种药物的反应时间的效果,已知没有注射药物的老鼠平均反应时间是1.2秒,100只注射了药物的老鼠平均反应时间是1.05秒,样本标准差是0.5秒,你认为药物对反应时间有效果吗?这里需要建立两个假设,第一个假设是零假设H0H_{0}:药物对反应时间无效果,也就是注射了药物的老鼠平均反应时间
2017-02-09 15:42:39 2246
原创 统计学5
参数估计 统计推断的基本问题可以分为两大类,一类是参数估计问题,另一类是假设检验问题。下面讲的是总体参数的点估计和区间估计。1、点估计 最大似然估计法是一种常用的构造估计量的方法。 2、区间估计 置信水平 从农场收获的20万个苹果中抽取36个作为样本,样本中苹果重量的均值是112克,标准差为40克,问20万个苹果的重量均值处在100到124克之间的概率是多少。这20万个
2017-02-08 13:53:03 1345
原创 统计学4
中心极限定理 中心极限定理是最基础、意义最重大的概念之一。根据该定理,任意良好定义了均值和方差的分布,不管该分布是连续还是离散的,随着样本容量增大,所有样本和或者样本均值或者众数极差等统计量都符合正态分布。样本均值的抽样分布 抽样分布来自于原分布,这里我们求的是样本均值,由原分布的样本得到。 比如,下图的离散概率分布,可以看出不可能是正态分布 下面我们取该随机变量的样本,求其平均值,然后
2017-02-07 18:10:20 509
原创 统计学2
随机变量 我们熟悉的变量是比如y=2x+3,x y是变量,该变量可以变化,可以取特定值,可以求出值。而随机变量虽然也可以取很多值,但这些变量无法求解。随机变量用大写字母X Y Z表示,这和可以求解的传统变量分开。随机变量其实是一种函数,将随机过程映射到实际数字。假设想量化一个随机过程,比如明天是否下雨。我们则可以定义一个随机变量X,如下图。X这个变量的取值是随机的,因为这个过程是随机的。再比如骰子
2017-01-29 21:06:32 475
原创 统计学1
样本和总体统计学关心的是对样本进行描述性统计,然后推断出总体的情况。对样本进行统计分析,一般能帮助估计总体的参数。μ\mu代表总体均值,X¯\bar{X} 表示样本均值。公式:μ=∑Ni=1xiN\mu =\frac{\sum_{i=1}^{N}x_{i}}{N},X¯=∑ni=1xin\bar{X}=\frac{\sum_{i=1}^{n}x_{i}}{n},其中,总体的个数N,样本(总体的子集)
2017-01-28 22:18:46 790
原创 SVR(二次损失函数)公式推导
参考资料: 1、Support Vector Machines for Classification and Regression/ 2、A tutorial on support vector regression
2016-12-16 19:30:26 7237
原创 线性代数学习笔记5
第十八集 行列式及其性质 之前学习了大量长方形矩阵的性质,现在我们集中讨论方阵的性质,求行列式则与特征值息息相关。 行列式 矩阵A 的行列式记作det(A)=|A|det(A)= \left | A \right |。 性质 2. 如果交换行列式的两行,则行列式的数值会反号。 从前两条可以推知置换矩阵的行列式是+1(交换次数为偶数) 或者-1(交换次数为奇数)。一个矩阵不可能经过奇
2016-12-02 19:03:58 1567
原创 统计学3
正态分布 这一节我们将讲统计学中最重要的概念,甚至是任何科学领域中最重要的概念,因为它在生活中无处不在,就是正态分布,或者叫高斯分布或钟形曲线。使用Excel可以说明,二项分布在试验次数足够时会很接近正态分布。从图中可以看出均值为100*0.3=30。注意K=60~100概率极低但也不为0。 正态分布的概率密度函数图像 概率密度函数f(x)=12π√σe−12(x−μσ)2f(x)=\frac
2016-11-29 10:17:04 690
原创 线性代数学习笔记7
第二十六集 对称矩阵及正定性对称矩阵 对称矩阵A=ATA=A^{T} 的特征值为实数,具有完全正交的特征向量。 这里的“有”,是指可以选出一套完全正交的特征向量。通常情况下,如果特征值互不相同,那么每个特征值的特征向量是在一条线上(特征向量空间是一维的),那些线是垂直的。但是如果特征值重复,那就有一整个平面的特征向量,在那个平面上,我们可以选择垂直的向量(比如单位矩阵)。 如果A 具有n 个
2016-11-27 16:43:36 2156
原创 线性代数学习笔记6
第二十一集 特征值和特征向量 围绕特征值和特征向量的议题下讨论得都是方阵。 将矩阵A 与向量x 相乘当做是对向量的一种操作或者函数,输入x 而输出Ax。 特征向量即在特定的向量x 方向上输出的Ax 平行于x,即为: Ax=λxAx=\lambda x 其中x为矩阵A 的特征向量,而λ\lambda 为A 的特征值。 例1:矩阵P是朝向某平面的投影矩阵。P将向量b 投影到它距离平面最近的
2016-11-25 18:21:40 2905
原创 线性代数学习笔记4
第十四集 正交向量与正交子空间 正交向量 正交就是垂直的另一种说法。两向量正交则xTy=yTx=0x^{T}y=y^{T}x=0。当两个向量的夹角为90 度时,按照勾股定理x,y 满足: 零向量与所有向量都正交。 正交子空间 子空间S 与子空间T 正交,则S 中的任意一个向量都和T 中的任意向量正交。 黑板所在的平面和地板所在平面不是正交关系。比如平面的子空间包括只包含零向量的
2016-11-23 19:23:41 1445
原创 线性代数学习笔记3
第五集 向量空间 我们可以对向量进行所谓“线性运算”,即通过加和(v+w)与数乘运算(3v)得到向量的线性组合。向量空间对线性运算封闭,即空间内向量进行线性运算得到的向量仍在空间之内。 包含于向量空间之内的一个向量空间称为原向量空间的一个子空间。 R2R^{2} 中不穿过原点的直线就不是向量空间。子空间必须包含零向量,原因就是数乘0 的到的零向量必须处于子空间中。 R2R^{2} 的子空间
2016-11-22 22:03:03 3358
原创 线性代数学习笔记2
第二集 矩阵消元 《A_b》 高斯消元法通过对方程组中的某两个方程进行适当的数乘和加和,以达到将某一未知数系数变为零,从而削减未知数个数的目的。 《A高斯消元》 矩阵A 为可逆矩阵,消元结束后得到上三角阵U,其左侧下半部分的元素均为0,而主元1,2,5 分列在U 的对角线上。主元之积即行列式的值。 需要说明的是,主元不能为0,如果恰好消元至某行,0 出现在了主元的位置上,应当通过与下方
2016-11-19 09:53:03 1529
原创 DeepLearnToolbox中SAE代码理解
Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作,不工作的那些节点可以暂时认为不是网络结构的一部分,但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了。 训练神经网络模型时,如果训练样本较少,为了防止模型过拟合,Dropout可以作为一种trikc供选择。Dropout是hintion最近2年提出的,源于其文章Improving neural ne
2016-11-15 08:50:33 6544 3
原创 Sparse Autoencoder学习笔记
神经网络是监督学习,自编码算法是非监督学习,只有没有标签的训练样本集{x(1),x(2),x(3),...}\left \{ x^{(1)}, x^{(2)},x^{(3)},...\right \}。自编码算法可以学习到输入特征的压缩表达,当输入是完全随机的,即每个特征都是独立的且服从同一个高斯分布,那么这个压缩任务将会非常难,但是如果有一些输入特征是互相关联的,那么自编码算法将会发现这些关联。
2016-11-14 18:20:27 818
原创 Stacked Autoencoders学习笔记
上图是一个栈式自编码算法模型,属于无监督学习。栈式自编码神经网络是一个由多层自编码器组成的神经网络,其前一层自编码器的输出作为其后一层自编码器的输入。通过将重构的x与输入的x相减来计算误差。 encoder部分从原始2000维特征降至50维(根据实际情况,自定义特征数),有三个隐层,每一层都是提取的高维特征,最后一层作为降维后的特征可用作分类和回归。decoder部分输出重构的x,通过调整enco
2016-11-03 12:01:02 5486
原创 Neural Networks学习笔记
1、神经网络(Neural Networks) 用nln_{l}表示网络层数,本例中nl=3n_{l}=3,将第ll层记为LlL_{l},于是L1L_{1}是输入层,LnlL_{n_{l}}是输出层。本例神经网络有参数 ,其中,,,。 我们用表示第ll层第ii单元的激活值(输出值)。当时,也就是第ii个输入值(输入值的第ii个特征)。对于给定参数集合W,bW,b ,我们的神经网络就可以按照函
2016-10-31 20:58:13 975 1
原创 线性代数学习笔记1
本人机器学习小白一枚,目前认识到数学对于理解算法和应用算法到特定的数据集上太重要了。很喜欢MIT的线性代数课程,以MIT课程的内容为主,做一些学习总结。旨在于总结自己学过的知识、受到的启发、加强自己的逻辑性和对内容的理解。非常感谢网络上大牛们的MIT线性代数导论笔记,文末是链接。1、线性方程 包含未知数x1,x2,...,xnx_{1},x_{2},...,x_{n}的一个线性方程是形如a1x1+
2016-08-29 10:15:31 5572
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人