自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(135)
  • 资源 (1)
  • 收藏
  • 关注

原创 机器学习与统计学的区别与联系

具体的链接Lynkage CMap

2022-03-01 20:18:44 847

原创 《从零开始:机器学习的数学原理和算法实践》关于微积分部分的启发

目录飞矢不动的破解微积分的目的理解导数的两个角度从瞬时速度来理解导数从近似运动来理解导数导数的直观理解直观理解泰勒公式的来龙去脉飞矢不动的破解“每一瞬间箭都是静止的”这句话本身就有问题。“每一瞬间”就是每一个时刻,每一个时刻箭当然会处在某个位置上,但是“静止”是一个跟“时间段”有关联的概念,不存在某个时刻是“静止”还是“运动”的说法。me:现在看来就是混淆了点的概念与区间的概念。也就是必须经历一段时间才能够知道是静止还是运动。微积分的目的近似,近似!第一种情况,用常数项近似代替某个函数在某点附近

2022-02-19 17:49:02 1139

原创 最小二乘法的两个观点

两个观点看最小二乘法写在前面统计学角度的最优化问题线性代数角度的近似解写在前面之前在学习《机器学习基石》的线性回归章节的时候,林老师在最后的部分给了最小二乘的另一种观点当时很不理解。之后在《线性代数及其应用》的目录上看到最小二乘法的内容但是由于那时还有其他的事情要做,所以就暂时没有看。今天在《从零开始:机器学习的数学原理和算法实践》读到对应的内容这一次是从线性代数的近似解角度切入的。统计学角度的最优化问题从统计学角度来看线性回归无非就是找到一条直线去尽可能的拟合图中的散点。拟合的标准就是使得直线到

2022-02-16 22:06:01 659

原创 《从0开始学大数据》的启示

《从0开始学大数据》学习后感方法论与哲学了解来龙去脉形成思维体系,为什么是A而不是B?大数据发展历史分布式计算的核心思想从RAID到HDFS(存储)计算框架与计算模型(MR)解耦的资源调度框架从Hive-MR看novel从MR-Spark看产品思维Spark到底为什么快各个组件的在生态中的位置Lambda架构与大数据平台大数据与物联网方法论与哲学了解来龙去脉形成思维体系,为什么是A而不是B?当我写这篇文章的时候,心情比较急躁,也可能是焦虑。我同时想到了这句话回想自己学习技术的时候,更多地是急躁的专

2022-02-14 19:43:37 1285

原创 关于时空复杂度的深入认识与梳理

关于时空复杂度的深入认识与梳理有了测试软件为什么需要复杂度的分析1.事后统计法的局限2.复杂度分析的意义分析方法1.基本思想2.大O的含义3.具体分析手段最好、最坏、平均、均摊时间复杂度有了测试软件为什么需要复杂度的分析1.事后统计法的局限我们在评价一个算法的复杂度的同时需要抛弃所有的环境因素,测试软件办不到这一点。具体表现为硬件环境与数据量对测试结果的影响。2.复杂度分析的意义统一了算法的复杂性度量我们在交流的时候有了统一的接口与感性的认识。同时提供了理论边界使得选择理论性能好的算法能够大概率提

2022-02-12 10:12:52 286

原创 3分钟读懂P问题与NP问题

之前也读过P问题与NP问题相关的文章,但是没有能够理解清楚(还是自己的理解能力与知识积累比较差)现在重新梳理一下。P问题P :Polynomial 多项式的意思。能够在多项式时间内解决的问题。NP问题NP:Nondeterministic Polynomial 非确定性多项式问题。注意:不是Non-polynomial(非多项式问题)。能够在多项式时间内验证(是否正确)的问题。P与NP的关系显然P问题一定能够在多项式时间下验证其结果所以P问题是NP问题。同时P问题是能够在.

2022-02-11 16:55:13 5841 2

原创 贝叶斯定理的三个视角

文章目录计算视角基本比率视角主观概率的修正计算视角在计算层面,贝叶斯公式简化了条件概率的计算P(A∣B)=P(AB)P(B)=P(B∣A)P(A)P(B)P(A|B) = \frac{P(AB)}{P(B)} = \frac{P(B|A)P(A)}{P(B)} P(A∣B)=P(B)P(AB)​=P(B)P(B∣A)P(A)​基本比率视角首先定义A=患病的人,B=检测有病的人A = 患病的人, B = 检测有病的人A=患病的人,B=检测有病的人则:患病的人口比例P(A)=2%,确诊率

2022-02-10 17:56:34 485

原创 《暗时间》读书笔记

from 郭哥的推荐1. 被动领悟——只有在现实撞到他脸上的时候才感到疼,疼完了之后还是不记得时时提醒自己,结果很快时过境迁抛之脑后。2.善于利用思维时间的人则能够在重要的事情上时时主动提醒自己,将临时的记忆变成硬编码的行为习惯。3.因为看书并记住书中的东西只是记忆,并没有涉及推理,只有靠推理才能深入理解一个事物,看到别人看不到的地方,这部分推理的过程就是你的思维时间,也是人一生中占据一个显著比例的“暗时间”。4.能够迅速进入专注状态,以及能够长期保持专注状态,是高效学习的两个最

2022-02-02 01:27:13 895

原创 机器学习中最优化算法的脉络

主要分为是否约束,与搜索方向两个维度。

2022-01-26 17:59:54 1156 1

原创 众创资源分享平台的设计与实现

写在前面:把前几年的毕业设计论文放出来,主要实现的是基于JavaEE的前后端的,带有搜索引擎的与SparkML推荐算法的一个网站的设计。没有什么创新,只是一些技术的整合。摘 要:本系统是一个功能较为完备的资源分享平台,实现了资源分享、资源搜索、资源推荐等功能。其中网站的主体通过经典的JavaEE框架构建,通过Lucene技术与Solr技术提供资源搜索服务,并且实现了以机器学习ALS算法为核心的资源推荐系统,使得用户可以更为方便地找到想要的资源。关键词:资源分享; 全文...

2022-01-24 13:39:30 1699

原创 记一次d2l_softmax回归中的错误

错误代码与现象分析def train_epoch_ch3(net, train_iter, loss, updater): #@save """训练模型一个迭代周期""" # 将模型设置为训练模式 if isinstance(net, torch.nn.Module): net.train() # 训练损失总和、训练准确度总和、样本数 metric = Accumulator(3) for X, y in train_iter:

2022-01-23 17:44:14 1783

原创 PCA不过如此

PCA的目标有利于简化计算,降低模型复杂度,便于数据可视化。核心思想就是抓住主要矛盾一个简单的例子:现在要通过照片来识别一个人。整个拍照的过程就是一个将3维的人降维到2维。我们通过照片就能够识别照片中的人。这就是PCA要做的事情。在举一个例子就是在平常的学习中物理与数学科目的相关性很强,如果我们知道了一个同学的数学成绩很好那么大概率就能知道该同学的物理学的不错。在这里我们就能够使用数学(一个维度)来评估该同学的理科素质(多个维度)。同时降维之后尽可能留下有用的维度,也就是留下的维度尽可能的独

2022-01-21 22:57:02 1046

原创 d2l自动微分练习

课后题自动微分自动微分为什么计算二阶导数比一阶导数的开销要更大?简单来说就是会造成梯度维数的增大,标量对向量的求导是一个向量,在此基础上再对向量求导就会变成一个矩阵,进一步的会变成张量。在运行反向传播函数之后,立即再次运行它,看看会发生什么。运行时异常,之前的结果已经被释放,而且给出了提示,说要使用retain_graph=True就能够保证结果不被释放。RuntimeError: Trying to backward through the graph a second time, but

2022-01-19 11:59:05 2655

原创 关于生成式模型与判别式模型

判别式模型是假设Model规定lose function然后使用algorithm 使得lose function 最小化就会得到Model的参数。也就是直接从数据集中得到决策边界。生成式模型是使用已有的数据集得到特征的分布。一个Label下的分布,比如已知鳕鱼的条件下它的长与宽的分布。(这一步也就有了探究是怎样的特征分布造就了鳕鱼。探究物质生成的原因。)当新的物体进来之后使用Bayes公式将特征参数带入分布中(已知特征的情况下是XX鱼的概率),得到哪一个Label(鱼.

2022-01-18 22:36:58 667

原创 Git三剑客之基本操作

下载:Git - 安装 Githttps://git-scm.com/book/zh/v2/起步-安装-Git检查版本git --version配置基本的用户名与邮箱(全局)git config --global user.name ‘huyilong’git config --global user.email ‘[email protected]’查看Git安装路径which -a git新建的项目直接用用Git管理cd 某个文件夹git init your

2022-01-08 14:14:43 242

原创 三个维度聊聊同步与异步的区别

1.是时间节拍上的区别同步传输发送方与接收方都用着同样的节拍,你发一个我接一个。异步传输不使用时间节拍这一套,我发送我的你接收你的。2.是否等待响应上的区别(或者说是是否保持顺序执行)响应与处理同步就是响应并处理完A请求才会开始响应处理B请求,体现着顺序,中间也暗含着阻塞技术。但是异步的话可以在一段时间内响应多个请求,然后处理的请求是无序的。3.传输数据的大小一般情况下同步传输传递的单位是帧,异步传输传递的是字节。相同点都需要加上起始位和结束位。一个遗留的问题,操

2021-07-09 22:20:40 287

原创 《给忙碌者的天体物理学》简单的概念地图

https://www.lynkage.cn/share/WZHocTZ4yDSaXNk

2021-05-09 21:16:55 205

原创 《认知觉醒》读书笔记

认知觉醒认知觉醒是一本集大成之作,融合了很多底层逻辑与牛人的做事方法。全程高能,我本身也会投入到实践当中。以下是一些触动我的句子(观点)。其中最触动的就是耐心与专注还有元认知。0.去反思,去觉知。直面核心困难。1.刻意练习的要义之一就是带着清晰的目标去学习。2.一流的生活不是富有而是觉知。3.灵魂要想走得远身体必须在路上。4.一件事情你解释的很复杂本质上就是你没有理解它。5.两个很宝贵的品质:专注,耐心。6.(我说的)现在的我在做题时就是有些混沌。7.冥想练习-&g.

2021-05-09 20:58:20 1078

原创 《你学的数学可能是假的》的触动笔记

数学的精神:不在于玩弄多么高大上的概念,而是一种创造性的解决方法。一些生活中的数学技巧:数学作为一种工具需要记住一些二级公式。被误解的天才:船长问题:还没有审题就开始计算。被误解的天才:不受污染的孩子进行的独立思考往往是新东西出现的地方。合乎逻辑但是与传统的东西背道而驰可能就是一种创新。数学的学习:重要的不是结论是什么而是这个中间的过程。这个过程正是训练思维的过程。为什么懂得那么多道理却过不好这一生,就是产生了获取了信息就以为自己做到了的幻觉。横向思维:...

2021-03-08 20:30:56 275 2

原创 Spark中宽依赖、shuffle、join之间的关系

这是一个有意思的问题。准确来说只有宽依赖===>shuffle,也就是如果发生了宽依赖那么就一定发生了shuffle过程。其余的都没有直接联系。1.发生宽依赖就一定会伴随着shuffle。2.发生shuffle不一定产生宽依赖比如一个RDD在不断的做join的过程。这个过程中每个RDD都使用了相同的分区器内部是基于cogroup的shuffle操作但是它的整个过程在同一个St...

2019-03-29 13:48:29 1743 1

原创 SparkSQL读写kudu小记

在操作之前首先要有相应的依赖<dependency> <groupId>org.apache.kudu</groupId> <artifactId>kudu-spark2_2.11</artifactId> <version>1.8.0</version> &a

2019-03-18 10:42:35 3645 1

转载 Spark商业实战三部曲源码地址

https://github.com/duanzhihua/code-of-spark-big-data-business-trilogy/

2019-03-18 10:34:35 1060 1

原创 Spark之调优指南

Spark之系统调优指南我们写好的代码像是一些信息的有序组合,硬件资源就像是能量。我们就是想让信息去最大限度的利用好这些能量去达完成我们的目标。具体的我们要尽可能的去压榨CPU资源,减小网络传输,减少内存的浪费,避免磁盘IO带来的时间效率的低下。下面从几个维度去总结一些Spark的优化。以下为石杉老师课程笔记的整理:内存内存花费在哪里1、每个Java对象,都有一个对象头,会占用...

2019-02-19 11:20:55 339

原创 Spark之CacheManager运行流程

Spark之CacheManager运行流程CacheManager概述 CacheManager的功能是将RDD的数据进行持久化。当Task要针对一个RDD中的Partition进行计算时如果发现我们即将产生的RDD已经被CacheManager持久化了,那么我们可以直接拿到目标数据而无需再进行计算。具体来说,我们的计算过程发生在RDD的iterator()方法中。当我们要拿...

2019-02-16 19:57:04 368

原创 Spark之Worker工作原理

Spark之Worker工作原理当一个Spark上的Application要启动的时候,Master就会发送使用调度算法给Application分配资源,也就是将Application所需要的资源分摊到Worker上面以保证分布式的计算。同时Master还会给Worker发送消息让它去启动Driver(Yarn-Client模式下),和Executor。同时Executor的反向注册与Driv...

2019-01-27 16:27:54 1165

原创 Spark之Master状态转换

Spark之Master状态转换在Driver与Executor的状态发生改变的时候他们会给Master发送一些信息,之后Master会根据这些状态准换的信息做出相应的动作。Driver状态转换当Driver的程序发生改变会向Master发送一个状态转换的信息。Master会根据传过来的DriverID找到对应的Driver,然后判断这个Driver的信息是否为终结状态(包括失败,杀掉...

2019-01-23 10:04:08 394

原创 Spark之SparkSQL内核解析

SparkSQL内核解析使用SparkSQL引擎去解析SQL与其它的SQL执行引擎也是非常相似的,都要进过未解析逻辑计划-->解析后的逻辑计划-->逻辑计划优化-->物理计划-->执行物理计划等步骤。下面我们详细说明。生成未解析的逻辑计划我们在Spark中执行SQL语句就要用到SQLContext的sql()方法,这个方法底层会调用SQLParser组件去生成一...

2019-01-22 21:52:30 817

原创 Spark之RDD与DataFrame互相转换

在Spark中RDD转换为DataFrame一共有两种方法。一种是基于一个封装数据的类去转换,另一种是通过结构类型去转换,下面分别介绍。 基于封装数据的类去转换(反射方式)Java版本这种方法是底层基于类的反射机制去实现的,为了封装数据我们首先需要一个封装数据的类也就是JavaBean。然后去构造一个JavaRDD<JavaBean>,然后调用方法去构造DataFram...

2019-01-17 09:46:21 744 1

原创 Spark之Master注册机制

Spark之Master注册机制在Spark集群中只有向Master注册了的组件,这个组件才能够被Master管理起来。在Spark中只有Driver、Application、Worker会向Master注册自己。接下来我们逐一介绍。Woker注册到MasterWorker在启动之后就会像Master进行注册。首先Master会判断这个Woker的状态是否为DEAD(就是状态已经为DE...

2019-01-15 18:19:23 260

原创 Spark之Master主备切换

主备切换发生的场景就是,Active的Master宕掉之后StandBy的Master担任主节点时发生的一系列流程。说白了也就是一个Master恢复的过程。具体的流程如下:首先来说Spark的主备切换可以基于两种机制。一种是基于文件系统的,一种是基于Zookeeper的。基于文件系统的切换要通过手动来完成,基于Zookeeper的系统的切换是自动进行的。 StandBy的Master使用持久...

2019-01-15 15:46:59 537

原创 Spark之Spark内核工作流程

这是一个较为细粒度的Spark运行流程。我们写的Spark程序叫做Application。 Application会通过spark-submit来提交给Spark集群来运行。具体来说就是spark-submit会通过反射机制来创建和构造一个DriverActor进程出来。这里的Driver就是我们的驱动程序,它负责执行我们的代码,当然在执行代码的时候首先会初始化SparkContext。 ...

2019-01-14 16:25:28 689 2

原创 Pig基本原理

Pig基本原理Pig是一款数据装载、处理、存储的工具。我们可以使用pig将数据装载到内存中成为一个关系,然后再通过PigLatin语言对数据进行操作,最后再将数据转换的结果存储到一个文件中。它的底层事实上是MR的任务,所以会具备MR的各个特性。Pig的组成Pig由两部分组成Pig Latin是Pig处理数据所用到的语言。 Pig运行的环境,在单机模式下运行环境下为JVM,在集群模...

2018-12-13 18:33:46 3079 4

原创 大数据开发实习面试经验

笔者的面经在牛客网上:https://www.nowcoder.com/discuss/146733?toCommentId=2427869在这里只是作为一个过来人做一个自己准备面试的过程,大家都可以比我做的更好。(注:由于笔者没有进行很多的面试所以总结难免有过拟合的现象,但是笔者同时也研究了牛客上很多的大数据的面经,在这里仅作为参考)总的来说现在的一些互联网公司越来越注重面试者的基本素...

2018-12-06 09:15:17 4341 5

原创 HBase基本原理

HBase概述HBase是一款基于HDFS做存储的,Zookeeper做调度的能够存储半结构化与非结构化数据的数据库。它不同于Hive它是一个真正的数据库产品,它的内部基于顺序IO与内存读写,能够非常高效的实现数据的增删改查。 HBase的总体架构                      HBase有如下几个部件协调服务:HMaster:主要负责,给HRegionServer...

2018-11-29 21:43:07 755

原创 Hadoop容错恢复之纠删码

在HDFS中常见的容错恢复是副本机制,它会在部分文件丢失之后通过心跳机制发数据给NameNode然后寻找未丢失的副本,按照replication进行备份。这样的话会保证数据在绝大多数情况下不丢失。但是造成的问题就是这种机制使得Hadoop的空间利用率会很低。比如说在一个备份数量为3的情况下空间利用率仅为1/3,而从空间利用率这个维度来看的话用于容错恢复的纠删码机制表现的不错。在这里我斗胆说一句...

2018-11-28 20:54:20 1027

原创 Flume基本原理

Flume入门综述Flume是一个日志采集工具。具体来说它是一个分布式的能够从不同来源收集、聚集、日志信息用以集中管理的系统。他的核心思想就是从不同的数据源(比如说远程的http请求,监听远程的日志文件,当然也有可能是远程的程序发出的序列化数据)获得数据然后放入数据中转站,然后不同的数据中转站之间可以进行相互连接构成一个中转站网,最后我们可以将一根管子通到中转站上的任何一个节点来接收数据。我们...

2018-11-23 21:27:41 374

原创 Hive基本原理(修订版)

Hive的本质是一个翻译器。它的任务就是将一种类SQL(HQL)的语句翻译成Mapreduce任务,通过执行Mapreduce任务来对海量数据仓库进行处理。从表面上来看它就是一个数据仓库能够查询与分析数据。它与Hadoop的关系如下图所示:与传统数据库相比Hive的主要特点为:①分析离线存储数据,不具有实时性②不支持事务,由于是历史数据所以没有必要去增删改。③不支持修改,由于是...

2018-11-22 22:17:36 329

原创 Hadoop之Yarn的基本原理

Yarn的基本架构与运行概述Yarn(Yet Another Resource Negotiator)资源协调者,它是Hadoop生态圈中的三大组件之一,主要负责资源的调度。它与其他的两个组件相互独立也就是Yarn可以运行在其他的文件系统之上,其他的计算框架也可以运行在Yarn上面。下图为它在生态圈中的地位。Yarn的架构Yarn主要是由ResourceManager,Node...

2018-11-19 17:23:41 364

原创 Hadoop之MapReduce工作原理

Map阶段①输入分片(inputsplit),这个时候也就是输入数据的时候,这时会进行会通过内部计算对数据进行逻辑上的分片。默认情况下这里的分片与HDFS中文件的分块是一致的。每一个逻辑上的分片也就对应着一个mapper任务。②Mapper将切片的数据输入到map函数中进行处理。③Buffer函数将结果输出首先放入buffer(缓冲区)中从而为后面的操作(也就是写入硬盘)做准备。这...

2018-11-15 19:12:02 483

原创 Hadoop之HDFS基本原理

Hadoop之HDFSHDFS简介HDFS是Hadoop的三大组件之一,用马士兵老师的话来说他就是一块分余展(分布式,冗余数据,可扩展)的大硬盘。它以数据节点的方式来存储数据,从逻辑上来说他分为NameNode和DataNode,这些节点都是用来存放数据的。其中NameNode中存放的是元数据,也就是一些文件与数据块的映射以及数据块与DataNode之间的映射(类比于操作系统中的目录文件)...

2018-11-11 21:58:57 820

Spark商业实战三部曲源码

Spark商业实战三部曲源码,包含书中所用到的代码以及用到的数据集

2019-03-17

空空如也

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

TA关注的人

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