算法理论基础
文章平均质量分 73
Eureka丶
hello world、
展开
-
RNN—原理详解及股票预测实战
循环神经网络(RNN)是基于序列数据(如语言、语音、时间序列)的递归性质而设计的,是一种反馈类型的神经网络,其结构包含环和自重复,因此被称为“循环”。它专门用于处理序列数据,如逐字生成文本或预测时间序列数据(例如股票价格)。一、RNN网络类型RNN以输入数m对应输出数n的不同,可以划分为5种基础结构类型:(1)one to one:其实和全连接神经网络并没有什么区别,这一类别算不上 RNN。(2)one to many:输入不是序列,输出是序列。可用于按主题生成文章或音乐等。(3原创 2021-12-16 11:35:08 · 2234 阅读 · 0 评论 -
中文Word2Vec训练
中文的词向量训练和英文的差不多,输入数据的格式都一样,均需要可迭代的句子列表。但有一点需要注意的是,在英文句子里,单词之间自然地就很清楚哪个是哪个单词了,而中文句子则不然,计算机需要知道哪个部分称之为一个“词”。所以,中文词向量的训练关键在于分词的处理。通常使用jieba分词工具库来对语料库进行处理。下面来看一些简单例子:import os# jieba分词库import jiebaimport jieba.analyse# gensim词向量训练库from gensim.test.原创 2021-11-10 13:03:52 · 2679 阅读 · 5 评论 -
DeepFM详细流程解析及建模演示
· 流程解析关于DeepFM理论的说明,很多博客或论文已有说明,这里就不再赘述。下面主要是说一下模型如何使用以及在整个过程中,算法对数据做了些什么事。首先还是这张图:一眼看过去,超级复杂是不是?确实,但是别慌,我们一小块一小块地看。1、Sparse Feature框框Sparse Feature是指离散型变量。比如现在我有数据:xx公司每个员工的姓名、年龄、岗位、收入的表格,那么年龄和岗位就属于离散型变量,而收入则称为连续型变量。这从字面意思也能够理解。好,现在Sparse Fe原创 2021-10-14 01:00:53 · 3710 阅读 · 9 评论 -
Python实现八大经典排序算法
1、插入排序插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、个数加一的有序数据,算法适用于少量数据的排序,时间复杂度为O(n^2)。是稳定的排序方法。插入算法把要排序的数组分成两部分:第一部分包含了这个数组的所有元素,但将最后一个元素除外(让数组多一个空间才有插入的位置),而第二部分就只包含这一个元素(即待插入元素)。在第一部分排序完成后,再将这个最后元素插入到已排好序的第一部分中。# 插入排序def insert_sort(lists): count原创 2021-10-12 11:51:43 · 92 阅读 · 0 评论 -
机器学习——支持向量机模型
在样本空间中,划分超平面可通过如下线性方程来描述其中为法向量,决定了超平面的方向;为位移项,决定了超平面与原点之间的距离。样本空间中任意点到超平面的距离为假设超平面能将样本正确分类,即对于,若,则有;若,则有。我们把使得当时,的样本点,以及使得当时,的样本点称为“支持向量”,两个异类支持向量到超平面的距离之和为它被称为“间隔”。欲找到具有“最大间隔”划分的超平面,也就是要找到能满足约束条件的参数和,使得最大,即显然,为了最大化间隔,仅需最大化,这等价于最小化。于是..原创 2021-10-11 14:19:06 · 2122 阅读 · 0 评论 -
机器学习——神经网络模型
在“M-P神经元模型”中,神经元接收到来自个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接进行传递,神经元接收到的总输入值将与神经元的阈值进行比较,然后通过“激活函数”处理以产生神经元的输出。常用Sigmoid函数作为激活函数。把许多个这样的神经元按一定额层次结构连接起来,就得到了神经网络。事实上,从计算机科学的角度看,我们可以先不考虑神经网络是否真的模拟了生物神经网络,只需将一个神经网络视为包含了许多参数的数学模型,这个模型是若干个函数,例如相互嵌套而得。感知机由两层神经元组成,输入层原创 2021-10-11 12:37:14 · 2081 阅读 · 0 评论 -
机器学习——Softmax分类模型
Softmax分类—很多时候,在多分类问题中我们希望输出的是取到某个类别的概率,或者说,我们希望分值大的那个类别被经常取到,而分值较小的那一项也有一定可能性偶尔被取到。Softmax即是这样一种模型,最后的输出是每个类别被取到的概率值。假设有一个数组,表示中的第个元素,那么这个元素的Softmax值为:通常我们采用“交叉熵”它用来衡量两个取值为正的函数的相似性。对于两个完全相同的函数,它们的交叉熵为零;交叉熵越大,两个函数差异越大,反之,两个函数差异越大;对于概率分布或者概率密度函数,如原创 2021-10-11 11:18:54 · 2530 阅读 · 0 评论 -
机器学习——多分类学习模型
多分类学习—多分类问题的基本思路是“拆解法”,即将多分类任务拆为若干个二分类任务求解。常见的拆分策略由三种:“一对一(OvO)”、“一对其余(OvR)”和“多对多(MvM)”。OvO是把要划分的N个类别两两配对,从而产生N(N-1)/2个二分类任务,每一个二分类任务都有一个分类器,最终结果可通过投票产生:即把预测得最多得类别作为最终分类结果。OvR则是每次将一个类的样例作为正例、所有其他类的样例作为反例来训练N个分类器。若一个样例被多个分类器预测为正类,则通常考虑各分类器的预测置信度,选择置信度最大原创 2021-10-11 11:09:06 · 3396 阅读 · 0 评论 -
机器学习——逻辑回归模型
逻辑回归—考虑二分类任务,其输出标记,而线性回归模型产生的预测值是实值,于是,我们需将实值转换为0/1值。最理想的是“单位阶跃函数”,即若预测值大于零就判为正例,小于零则判为反例,等于零则可任意判别。但是单位阶跃函数不连续,不便于求导估计参数值。于是我们希望找到能在一定程度上近似单位阶跃函数的“替代函数”,并希望它单调可微。Sigmoid函数它将值转化为一个接近0或1的值,并且其输出在附近变化很陡。由此可以看出Sigmoid函数实际上是在用线性回归模型的预测结果去逼近真实标记,不仅能预测出“原创 2021-10-11 10:59:06 · 250 阅读 · 0 评论 -
机器学习——线性回归模型
线性回归—它试图学得我们通过“均方误差”,即最小化的过程,称为线性回归模型的最小二乘“参数估计” 。分别对和求导,得到,,然后令它们等于零可得到和最优解的闭式解,,其中为的均值。更一般的情形是在数据集中样本由个属性描述。此时我们试图学得,这称为“多元线性回归”。类似的,可利用最小二乘法的矩阵形式来对和进行计算得到它们最优解的闭式解。然而现实任务中我们可能解出多组和,从而得到多个模型,选择哪一个模型作为最终模型将由学习算法的归纳偏好决定,常见的做法是引入正则原创 2021-10-11 10:43:00 · 548 阅读 · 0 评论 -
机器学习——基本术语及常用模型评估方法
样本或数据集—一组记录的集合;示例—记录中关于一个事件或对象的描述;属性或特征—反映事件或对象在某方面的表现或性质的事项;属性值—属性上的取值;属性空间或样本空间或输入空间—属性张成的空间;特征向量—空间中的每一个点对应一个坐标向量,因此一个示例也称为一个特征向量;学习或训练—从数据中学得模型的过程;训练数据—训练过程中使用的数据;训练样本或训练示例—训练数据中的每一个样本;训练集—训练样本组成的集合;假设—学得模型对应的关于数据某种潜在的规律;真相或真实—这种潜原创 2021-10-11 10:25:10 · 395 阅读 · 0 评论