自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

浩然然然的博客

个人博客www.haorannevergiveup.cn

  • 博客(37)
  • 资源 (2)
  • 收藏
  • 关注

原创 Transformer模型原理—论文精读

今天来看一下Transformer模型,由Google团队提出,论文名为《Attention Is All You Need》。正如标题所说的,注意力是你所需要的一切,该模型摒弃了传统的RNN和CNN结构,网络结构几乎由Attention机制构成,该论文的亮点在于提出了Multi-head attention机制,其又包含了self-attention,接下来我们将慢慢介绍该模型的原理。

2023-06-03 23:02:58 1987

原创 支持向量机(SVM)原理及公式推导

今天来看一下西瓜书第六章——支持向量机。文章目录定义对偶问题核函数软间隔和正则化支持向量回归定义SVM 就是一种二分类模型,他的基本模型是的定义在特征空间上的间隔(margin)最大的线性分类器,SVM 的学习策略就是找到间隔最大化的超平面。我们来看这张图:在这个二分类的图中,直觉告诉我们 H3H_3H3​ 的泛化能力最好。对于 H1H_1H1​ 来说,他不能把类别分开,这个分类器肯定是不行的。而 H2H_2H2​ 可以,但是分割线与最近的数据点只有很小的间隔,一旦新数据有一定偏差,就会分类错误

2021-11-30 16:06:54 3444

原创 初识神经网络和反向传播算法

今天来看一下西瓜书第五章——神经网络。文章目录定义感知机与多层网络误差逆传播算法全剧最小与局部最小以下介绍的是人工神经网络,是模拟生物神经网络进行信息处理的一种数学模型。定义神经网络最基本的成分是神经元模型,生物中如果某神经元的电位超过某个阈值,那么它就会被激活,向其他神经元发送化学物质。以下是 M-P 神经元模型,由输入的信号 xix_ixi​ 赋予权重 wiw_iwi​ 之后,对应相乘求和,通过阈值 θ\thetaθ 比较,最后通过激活函数输出 0/1 一个新的神经元。常用的激活函数有以下

2021-11-27 17:19:37 488

原创 初识决策树(Decision Tree)

今天来看一下西瓜书第四章——决策树。文章目录信息增益增益率基尼系数剪枝处理预剪枝后剪枝连续值与缺失值处理连续值处理缺失值处理决策树,简单来说就是一个树形结构从根节点往叶子节点进行决策,树内部的每一个节点是对一个特征的测试,树的分支代表该特征的每一个测试结果,而树的每一个叶子节点代表一个类别。信息增益信息熵是度量样本纯度的一种指标,假设样本集合 DDD 中第 kkk 类样本所占比例为 pk,k=1,2,⋯ ,Np_k,k=1,2,\cdots,Npk​,k=1,2,⋯,N (在二分类中,N=2N=2

2021-11-25 23:31:45 399

原创 线性回归大家族

今天来看一下西瓜书第三章——线性模型。文章目录线性模型一元线性回归多元线性回归对数线性回归广义线性回归对数几率回归线性判别分析多分类学习类别不平衡问题线性模型简单来讲,线性模型是试图把已知属性的线性组合来进行预测的函数,即有f(x)=w1x1+w2x2+⋯+wdxd+bf(x)=w_1x_1+w_2x_2+\cdots+w_dx_d+bf(x)=w1​x1​+w2​x2​+⋯+wd​xd​+b将其写成向量如下:f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+b其中 w=(w

2021-11-22 22:39:47 613

原创 初识机器学习

翻开周志华老师的西瓜书,让我感到本科阶段的数学知识忽远忽近,今后让我们捡回数学知识,一起学习这本经典的机器学习书籍,遨游在机器学习的海洋里吧。文章目录引言假设空间归纳偏好检验误差与过拟合评估方法留出法交叉验证法自助法性能度量错误率与精度准确率、召回率与 F1ROC 与 AUC偏差与方差引言首先什么是机器学习?举个例子,假设一家公司正招聘一名新员工,在招聘广告登出之后有1000个人申请,每个人都投了简历。每个人都有着各式各样的技能(或者说是特征),如果人为的靠经验一个个筛选,这实在太多了,所以我们想训练

2021-11-17 01:25:16 516

原创 斐波那契数列第 n 项的值与递归树节点个数的关系证明

斐波那契数列第 n 项的值 fib(n)fib(n) 与递归树节点个数 G(n)G(n) 的关系证明:先上结论:G(n)=2fib(n+1)-1G(n)=2fib(n+1)−1

2021-10-27 23:32:45 365

原创 SQL高级处理

窗口函数定义:窗口函数,也叫OLAP函数(Online Anallytical Processing,联机分析处理),可以对数据库数据进行实时分析处理。基本如法如下:<窗口函数> over (partition by <用于分组的列名> order by <用于排序的列名>)虽然窗口函数有group by 和 order by 的功能,我们看一下两者的区别:我们看一下之前的数据,如下:不使用窗口函数select

2021-09-24 20:35:59 129

原创 集合运算

表的加减法在标准 SQL 中, 分别对检索结果使用 UNION, INTERSECT, EXCEPT 来将检索结果进行并,交和差运算, 像UNION,INTERSECT, EXCEPT这种用来进行集合运算的运算符称为集合运算符。表的加法–UNION选择两张表进行相加SELECT product_id, product_name FROM Product UNIONSELECT product_id, product_name FROM Product2;用文氏图看一下结果:包含

2021-09-24 20:32:36 305

原创 复杂一点的查询

视图视图的定义是从一个或几个基本表导出来的表,它与基本表不同,是一个虚表,在数据库中,视图就像一个窗口,表的数据变化了,视图的数据也就变化了。视图与表的区别:是否保存了实际的数据!!!为什么会存在视图?通过定义视图可以将频繁使用的 SELECT 语句保存以提高效率。通过定义视图可以使用户看到的数据更加清晰。通过定义视图可以不对外公开数据表全部字段,增强数据的保密性。通过定义视图可以降低数据的冗余。SQL 语言建立视图的一般语句如下:CREATE VIEW <视图名称>(&l

2021-09-22 21:23:14 73

原创 基础查询与排序

查询一般我们以关键字SELECT 列名 FROM 表名 WHERE 条件。来进行查询该表的数据。还有其他关键字,将在下面开始介绍。首先我们创建表CREATE TABLE product(product_id CHAR(4) NOT NULL, product_name VARCHAR(100) NOT NULL, product_type VARCHAR(32) NOT NULL, sale_price INTEGER , purchase_price INTEGER , regist

2021-09-16 23:35:17 88

原创 初识数据库

本文来源于 DataWhale 教程:https://github.com/datawhalechina/wonderful-sql初识数据库数据库是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。该数据集合称为数据库(Database,DB)。用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)。层次数据库:该数据库系统最早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次最高,子结点在下,逐层排列

2021-09-15 22:44:22 103

原创 布隆过滤器原理与使用场景

布隆过滤器简介布隆过滤器(Bloom Filter)是由布隆( Burton Howard Bloom )在 1970 年提出的。它由一个很长的二进制向量 (位向量) 和一系列随机均匀分布的散列 (哈希) 函数组成。用多个散列函数,将每个数据映射到位数组中,这样可以高效地插入元素或者判断某个元素可能存在与一定不存在,而且可以减少内存空间开销。假设:数据集A=A =A={a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1​,a2​,⋯,an​},即有 n 个元素。布隆过滤器用一个长为 m

2021-08-24 23:08:48 156

原创 关于python中numpy生成随机数的那点事

python 中 numpy 是一个非常实用的工具包,它的底层由 c 编写,效率快于原生的 python。本文将主要介绍 python 产生随机数的主流方法,有一定的可视化图片,通俗易通理解他们的用法。

2021-07-23 09:34:32 609

原创 关于IDEA调试debug时stepinto进不去方法的解决

最近在 idea 调试中,发现 stepinto 进不了里面的方法,和 stepover 是一样的。方案解决:依次点击File–>Settings–>Build,Execution,Deployment–>Debugger–>Stepping

2021-07-13 20:14:24 4990 11

原创 java使用链式栈实现递归和非递归求解迷宫路径

给定任意设定的迷宫,左上角为入口,有下角为出口,判断该迷宫是否存在通路,若有,则非递归求解迷宫的一条通路以及三元组路径,并且递归求解迷宫的所有通路以及对应的三元组路径;若无,则提示该迷宫无路。

2021-07-11 22:45:07 970

原创 从源码分析正则表达式的实现原理

目前很多语言都支持正则表达式,正则表达式在文本处理可谓是一神器,而正则表达式都是一些符号组成,对新手有种望文却步的感觉。本文通过分析 Java 正则表达式的底层实现,以减少大家对正则表达式的恐惧。java.util.regex 包主要包括以下三个类 Pattern类、Matcher类和PatternSyntaxException类。Pattern类:一般我们使用该对象调用其静态方法就能返回 Pattern 对象,该对象是一个正则表达式对象Matcher类:一般我们调用 Pattern 对象的

2021-07-08 00:53:47 567 1

原创 Hive+MapReduce实现对网站流量数据分析

实现对网站流量数据分析。根据给的用户上网日志记录数据,计算出总流量最高的网站Top3(网站例如:v.baidu.com,weibo.com);根据给的用户上网日志记录数据,计算出总流量最高的手机号Top3;根据给的手机号段归属地规则,计算出总流量最高的省份Top3;根据给的手机号段运营商规则,计算出总流量最高的运营商Top2;根据给的手机号段归属地规则,计算出总流量最高的城市Top3;

2021-07-03 16:03:24 909 1

原创 MapReduce求各年销售笔数、销售总额实验(流程+代码)

Map阶段: 读取数据,k1 为偏移量、v1 为一行数据,将销售笔数和销售额封装为java bean对象,作为 v2,k2为年份(有1998, 1999, 2000, 2001);Shuffle阶段: 有 4个年份,因此设置 4个分区,排序、规约、分组采取系统默认;Reduce阶段: 对 shuffle 过来的新的 v2,即每个集合的 bean 对象中的销售笔数和销售额分别进行相加,得到 v3,即每个年份的销售笔数和销售总额,k3是 k2,保持不变。

2021-06-25 09:20:27 2706 7

原创 MapReduce职位和薪水序列化排序实验(流程+代码)

Map阶段: 编写封装数据的类(继承WritableComparable,重写对应方法),将读到的职业和薪水数据封装为 k2,此时 v2 为 null;Shuffle阶段: 默认操作;Reduce阶段: 将 shuffle 默认操作后拉取新的<k2,v2>,这时<k3,v3>和新的<k2,v2>一样。

2021-06-25 09:12:12 639

原创 MapReduce薪水分区实验(流程+代码)

Map阶段: 将每一行作为 k2,v2 为null;Shuffle阶段: 自定义分区,实现薪水大小的分区,三个区。其他默认,完成后,得到新k2,v2,和原来 k2、v2 类型一样;Reduce阶段: 设置3个 ReduceTasks 来拉取 新k2,v2,得到 k3,v3,即实现了自定义分区。

2021-06-25 09:08:30 1104

原创 MapReduce求WordCount实验(流程+代码)

本次实验Map后使用了Combiner。Map阶段:k1 为文本偏移值,v1 为每行的数据,进行切割,得到 k2 为每个单词。V2 都为 1,然后写到上下文对象中。Shuffle阶段:这里使用了规约,以减少网络传输量(和 reduce 代码一样),分区、排序、分组采用系统默认。Reduce阶段:shuffle 后得到新的 k2 和 v2,此时 v2 是一个集合,元素都是1,对他相加就可以得到对应单词出现的次数,即 v3,而 k3 和新的 k2 是一样的。

2021-06-25 09:02:04 816

原创 Hadoop中ZooKeeper的知识

本文主要介绍zookeeper的基础知识、监听机制以及leader选举

2021-06-24 15:43:09 508

原创 Hadoop中YARN调度MapReduce任务

在 MapReduce 1.x 中,任务调度是 JobTracker,任务执行是 TaskTracker;而在 MapReduce 2.x 中,引入了 YARN,YARN 中的 ResourceManager负责任务资源的分配,ApplicationMaster 负责任务进度监控的工作,大大提升了 MapReduce 的性能。

2021-06-22 13:27:20 679

原创 Hadoop中MapReduce的知识

本文主要介绍 MapReduce 的基本概念以及详细介绍该框架的计算流程,包括map、shuffle、reduce。Mapreduce 是面向大数据并行处理的计算模型、框架和平台,其处理过程分为 Map 阶段和 Reduce 阶段。Mapreduce 是一种可用于数据处理的编程框架,其采用 分而治之 的思想.MapReduce 的核心就是 Shuffle 过程,Shuffle 过程是贯穿于 map 和 reduce 两个过程的。在 Map 端包括 spill 过程,在 Reduce 端包括 copy 和 s

2021-06-20 13:56:35 593

原创 Hadoop中HDFS的知识

本文主要介绍 HDFS 的设计理念以及详解读流程、写流程和高可用机制等知识。Hadoop 中的 HDFS 被设计成适合运行在通用硬件上的分布式文件系统,他和现有的分布式文件系统有很多相同点,同时也是有区别的,HDFS 放宽了 POSIX 约束,来实现流式读取文件系统数据,并且能提高吞吐量的数据访问。GFS 是为了解决在网络抓取和索引过程产生大量的文件的存储需求,为解决大量文件的存储,HDFS 就诞生了。

2021-06-19 00:39:04 358

原创 Hadoop由来以及包含组件

大数据时代已经到来,每天都产生大量的数据,大数据数据层次特征最为经典的是大数据的 4V 特征。以前数据的存储往往是传统的数据库存储,现在是行不通的,而 Hadoop 是一个分布式系统基础框架,用来解决数据的存储和计算,他是由 Doug Cutting(Apache Lucene 创始人)基于 Google 的三辆马车(论文)实现的。Hadoop安装模式有三种:单机模式、伪分布式模式、完全分布式模式。

2021-06-17 13:41:15 330

原创 一致性算法Paxos和ZAB

一致性算法的出现是为了解决一致性问题,一致性问题是指对于一组服务器(集群),给定一组操作,需要使用一种协议使得它们的结果最终达成一致,常用的一致性算法有 Paxos、Raft、ZAB 算法等。如何构建一个既兼顾可用性又兼顾一致性的分布式系统,渐渐地就有了 Cap、Base 等分布式系统经典理论的出现。CAP 理论:一致性(Consistency)可用性(Availability)分区容错性(Partition tolerance)对于一致性、可用性、分区容错性,一个分布式系统最多同时满足其中

2021-06-15 08:08:32 545

原创 通俗易懂的稀疏数组(Java实现)

稀疏数组所谓稀疏数组就是数组中大部分的内容值都未被使用(或都为零),在数组中仅有少部分的空间使用。因此造成内存空间的浪费,为了节省内存空间,并且不影响数组中原有的内容值,我们可以采用一种压缩的方式来表示稀疏数组的内容。简单来说,稀疏数组就是将数组中有值的部分记录下来,从而节约内存空间。到底什么地方需要用到稀疏数组呢,五子棋,扫雷等等这些典型可以应用稀疏数组来完成。例如一个矩阵:[0000000100000200300000000]\begin{bmatrix} 0& 0&amp

2021-06-13 15:11:12 1083 1

转载 Centos重置root密码

基于Centos7.6 root密码忘记,需要重置密码,以下为重置步骤Centos7当root密码忘了之后,可以通过重启系统,在开机时重新设置密码。

2021-06-12 14:14:32 677

原创 Matplotlib学习总结

数据可视化已经被用于工作科研的方方面面,特别在数学建模,python是不二之选,Matplotlib 是 Python 最著名的绘图库,希望通过学习笔记总结,和大家一起学会绘图。

2021-06-12 14:08:42 3267

原创 Pandas学习总结

对于数据的分析处理,Pandas处理表格数据是不二之选,本文以学习为主,记录总结,介绍pandas的常用用法,让大家一起学会pandas

2021-06-12 13:54:37 1506

原创 Numpy学习总结

numpy是机器学习中非常常用的库,在数据分析中,也常用到,以此介绍一下numpy的常用方法。首先要安装numpy,这里我们下载了anaconda,便于调用,创建一个二维数组,类型为float

2021-06-12 13:47:29 875

原创 静态博客Hexo搭建——本地and服务器

静态博客–Hexo静态博客:是指没有后端数据库的博客,所有文章都是以文件的形式存储,是一种纯前端的博客框架。本地安装电脑先装好git这个工具吧!安装Node.js:npm install -g hexo-cli查看版本:hexo -v Node.js安装成功后,同时会自动安装一个包管理器,称为npm(Node Package Manager)。什么是npm?npm是一个包管理器,发布者将自己的代码发布(npm publish)到代码仓库(registry),使用

2021-06-12 13:43:22 401 1

原创 时间序列常见模型介绍与实战(SPSS)

本文将介绍时间序列常见的模型,包括AR、MA、ARMA、ARIMA以及季节模型的知识

2021-06-11 16:29:48 1642 1

原创 多元线性回归理论知识介绍与实战(Python)

本文将从理论部分全方面介绍多元回归的推导过程以及python代码实战。一元回归模型在二维空间中是一条直线,而多元回归模型,由于自变量的增加,它在更高维的空间中显示,因此很难将它画出来,相比一元回归模型,用归纳的方法将多元回归模型表述出来。

2021-04-11 16:05:27 1855

原创 一元线性回归理论知识介绍与实战(Python)

在机器学习中,必然会有回归的知识,本文将从理论部分全方面介绍一元回归的推导过程以及python代码实战

2021-04-11 16:01:47 1502

链式栈实现递归和非递归迷宫路径求解

代码有详细注释! 1.语言:使用java编程 2.数据结构:使用单链表头插法仿实现栈 3.非递归使用DFS搜索一条路径 4.递归求解所有路径

2021-07-11

详解NSGA-Ⅱ多目标优化算法(Matlab)

对于多目标优化问题,通常存在一个解集,因此将介绍 NSGA-Ⅱ 算法的 Matlab 编写(有详细注释),包括有对应论文来指导学习该算法。

2021-06-13

空空如也

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

TA关注的人

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