算法
XiaoH0_0
Fresh Meat
展开
-
[机器学习]词向量
① 词向量是一种表示词的float32类型的向量,一般维度在50,到100维左右,需要注意的是,所有的词向量几乎都不是人工标注出来的,而是训练出来的。Bengio模型分解:该模型的作用是:用所熟悉的全连接神经网络,根据输入的前n-1个词来预测后一个最有可能的词,注意,这里的n是个定值,即n不同,模型参数也会不同,需要重新修改模型,这个也是全连接网络来实现预测下一个词的局限部分(需要一次性输入所有...原创 2020-01-06 20:18:01 · 436 阅读 · 0 评论 -
[RNN]RNNLM模型
前面的所有模型,思考角度都是从当前全连接的神经网络架构下的,最大的局限就是n,即只能根据,且仅仅是n个词,来预测下一个词的功能。随着RNN的普及,通过输入词序列的方式来“动态”输出下一个词得以实现。RNN的具体概念可以查看之前的RNN草图,这里只是再做一个比方来辅助记忆,RNN看似是时间序列的叠加,最终形成的结果,就像开发一个软件一样,不断的进行迭代。但是,如果从观察者的角度,总有一天,整个软...原创 2019-12-30 21:15:22 · 747 阅读 · 0 评论 -
[机器学习]KNN
0.概述:最初的分类器称为完全匹配分类器:即测试对象必须和训练集合中某个记录完全匹配才会匹配到那个类。但是这样会出现:一个测试对象匹配到多个训练集中的记录,导致匹配到不同的类,或者测试对象没有匹配到完全匹配的记录。所以就有KNN、算法来解决这个问题,即算出匹配的概率,而不是非要100%匹配。1.临近算法(用于分类预测),即给定样本数据后,抽象成一个个实际的二维或者三维空间的点,然后用待...原创 2019-12-14 16:28:02 · 101 阅读 · 0 评论 -
[机器学习]RNN网络
RNN的基本思想是共享变量以及通过时间序列将特征值进行输入,从而实现“记忆功能”,是全连接网络的一种高阶的变体。可以想象,通过这两种思想演变出来的RNN网络类型可以是无穷多的(尤其是因为对全连接网络做了高阶的扩展功能)。蕴藏了无穷的可能性,现在已经有人证明,RNN网络通过适当的输入、适当的网络结构,可以代表任何图灵机能够计算的函数。从这个角度来说,虽然其实现的方式和原理和当前的计算机的计算编程方式...原创 2019-11-14 23:55:00 · 212 阅读 · 0 评论 -
[机器学习]RNN网络理解2
全连接网络,处理的是各个独立的数据(即认为每一次输入的数据和上一次的输入的数据是没有关联的,相互独立的,比如汽车分类的例子,可能就是通过不同的人对于汽车的解读而来的。)每条输入是独立的。而现实中,往往并不是这种情况,即每条输入,可能和上一条输入是有关联的,比如说了一句话,每一句话的单子都是有语境的,和前面的单词有关,当处理这种与时序有关的数据的时候,就需要使用到RNN,循环神经网络。即隐藏层中的...原创 2019-11-06 19:33:56 · 140 阅读 · 0 评论 -
[机器学习]RNN网络初步理解
初步理解,之前每一层网络的输出矩阵是f(AX+B)的形式,可以看出和上一次的输出并没有关系(可以理解成上一次的数据的影响已经反映到了权重矩阵W和偏置矩阵B上面了),而RNN则是一种递归网络,即本层输入不仅仅只是X,还有之前所有的输出的集合,可以表示为f(AX+A1F1+A2F2+…AnFn-1) + B)的形式,即输入的本身包含了之前的所有的计算结论,从而使得RNN循环神经网络具有记忆功能了当然...原创 2019-11-05 22:15:22 · 263 阅读 · 0 评论 -
[算法]滑动平均模型简介
滑动平均模型,一般用于提升模型在测试集上的准确率。需要指定一个更新比率decay,一般会指定为比较大的一个值,比如0.996这种,同时会维护一个影子变量shadow,模型中的每个参数都会有一个与之对应的影子变量,这个变量在模型训练的时候,不会对模型的训练产生任何影响,即和没有影子变量的情况是一样的。但是每一轮训练,这个影子变量shadow的值都会进行更新,更新公式就是shadow = decay...原创 2019-10-20 10:45:15 · 361 阅读 · 0 评论 -
[机器学习]神经网络隐藏层的初步理解
关于隐藏层的意义的一些总结:①当描述一个事物作为分类的依据的时候,我们可能仅仅描述的是一个“抽象”过后的特征,例如在和一个人相处后,经常会说你对他的印象怎么样,十分满分的话,打几分?这里的分数其实并不属于那个人的属性,而是对那个人的属性(身高、体重、身材、语言表达、待人接物、生活习惯等综合“感受"后给出的一个综合评价)。即将复杂概念进行了抽象化后再输出,这样更利于人的表达,否则光评价一个人可能...原创 2019-09-24 22:11:38 · 1963 阅读 · 0 评论 -
[算法]神经网络的使用
①创建计算图:由于神经网络类似于脚本编程,所以这里的计算图类似一个程序的逻辑图,根据逻辑图来进行对应的计算脚本的编码。②有了图之后,就要把计算的图实现成脚本代码了。一般需要定义:输入层、输出层以及隐藏层,然后还需要定义权重、偏置等模型参数。构成一个完整的计算逻辑:这里的输入层一般和数据特征有关,比如一个分类问题,有20个特征值,那么输入层一般就会定义20个神经元。而如果是想要分成5类,那么输出...原创 2019-09-21 20:41:31 · 211 阅读 · 0 评论 -
[算法]k平均算法
方法:0.聚类和分类区别:分类就是已知所有类别,只是区分一下。(即做一个判断即可),而聚类,则是不知道任何类别的情况下,将一堆数据进行划分到k个区域,即只是寻找数据的相似性,还是由人来看最终到底有什么区别。1.又称为聚类算法(或者沃罗努瓦分割),顾名思义,就是将n个点进行归类,归到k个类中(当然,K<=n),使得 每个点都处于----类的均值最近的那个类中。比较拗口,举个例子,3...原创 2019-09-17 22:23:19 · 1041 阅读 · 0 评论 -
[算法]逻辑回归模型理解
机器学习:逻辑回归模型理解草图:① 和决策树、朴素贝叶斯作用类似,logistc回归也是一种分类工具,其形式更加接近于神经网络,类似一个感知器的作用。首先进行一个假设,即假设y(最后的分类结果服从伯努利分布,),这样就引入了sigmod函数。即伯努利分布的表达形式1/(1+e^-z),这里的z就是一个线性表达式,sigmod就是一个激活函数,所以和神经网络是类似的(只是神经网络的一个特例而已...原创 2019-09-13 20:56:33 · 325 阅读 · 0 评论 -
[算法]朴素贝叶斯的理解
朴素贝叶斯的基本理解方法:①基本概念:贝叶斯应该算是一种思想,用新产生的事件,来不断纠正对于某个事件的概率估计。使得结果不断正确化。用公式表达就是ABBAAB,即P(A|B)=P(B|A)P(A)/p(B)这种形式。意思是在新事件B发生的前提下,A事件发生的概率,进行了修正,其修正系数就是右侧P(B|A)/P(B),比如开车途中快要到一个路口,原来我认为前面一辆车在这个路口右转的概率只有30...原创 2019-09-10 22:34:55 · 280 阅读 · 0 评论 -
[思路]快速排序算法
快速排序算法:分治法思想,进行核心函数的递归调用。方法:① 核心函数中关键的是3个变量,左边界,右边界和key,当左边界 < 右边界的时候,进行大小判断(根据需求升序或者降序)② 左右边界指针分别指向了需要调换顺序的元素,然后两者互换,实现排序。③ 最后在新的左右边界的地方,重新调用类似的排序核心函数。代码:TODO...原创 2019-08-22 22:30:24 · 195 阅读 · 0 评论