- 博客(20)
- 收藏
- 关注
原创 大话 - 自编码(Autoencoder)和变分自编码(Variational Autoencoder)
因为最近在研究自编码和变分自编码的区别,以及应用方向,现在总结内容和大家分享一下。自编码 (Autoencoder)自编码(Autoencoder)在降维算法普遍被认可的一种算法,算法的主要出发点:如果有个网络,你将数据输入(N维),可以是图片或者其他特征,然后网络吐出了相同的数据,那么我们是否可以认为网络的某些隐层特点(输出, M维)可以代表你的输入数据特点?—- 因为基于这个隐层输出,...
2018-08-12 11:05:40
8516
1
原创 设计数据密集型应用 - 在线流式处理 (stream processing)
前面咱们介绍了线上服务和离线批量处理中涉及的一些问题和方案,这章我们将分享的是在线流式处理中的问题和方案;流失数据处理系统与其他类型系统对比,数据流可能无穷尽,数据上游可能多方,下游也可能多方,基于这种数据流特点,我们需要一个消息系统(message system);为了适应业务节点的多变特性,如新增消息产生方,减少消息处理方等,维持整个系统的稳定等,普遍通过消息代理(message br...
2018-04-16 12:14:48
1045
原创 设计数据密集型应用 - 批量处理中有趣设计模式和问题 (batch processing - mapreducer)
前面介绍了不少分布式系的内容,在这不免需要介绍分布式系统中关于批量处理(batch processing)问题, 对比与在线系统(online system), 批量处理属于离线数据处理范围,对响应时间的要求相对会低一些,在评估系统的性能时,更优先考察系统的容错性(fault toleration)和稳定性(stability);借鉴与unix的管道设计理念,批量处理流程(主要是mapred模...
2018-04-12 13:42:08
513
原创 设计数据密集型应用 - 分布式系统设计中涉及的问题和普遍解决方案以及研究方向
在分布式系统中,很多事件很容易发生错误(由于网络延迟,节点瘫痪等),为了设计一个健壮并可容错的分布式系统(这里的分布式系统指各节点之间无共享内存,信息或其他资源),工业界和学术界对分布式系统中普遍存在的问题进行了研究和剖析,数据结果一致性 (Linearizability)导致该问题的原因是大部分节点是异步同步方式, 不同用户看到的结果可能会有不同(由于同步的延时),理论上时间节点1,
2018-04-10 17:29:46
654
原创 设计数据密集型应用-第七章-事物处理(Transaction)的问题和方案
几乎所有的数据库(关联型,非关联型)都涉及到事物处理,而保证事物处理的安全可靠,依赖于四个准则ACID(Atomicity, Consistency, Isolation, Durality);原子性(Atomicity), 即一个操作不可以在被细分到更细的操作;用来保证操作的完成型,即要么成功写入/更新或者失败回复到原状;实际实现方案,日志一致性 (Consistency), 即数据的一致性,
2018-04-01 20:59:58
402
原创 设计数据密集型应用-第六章-备份机制(多节点存储一份数据中的问题和方案)
在上一章中,书中简单总结了在备份单机可存的数据备份方案和选型,在本章作者介绍了另一种实际上更普遍的场景(多节点存储一份数据,由于数据量过大或由于性能优化问题),个人观点本章阅读点降低好多;
2018-03-29 11:28:53
283
原创 设计数据密集型应用-第五章-备份机制(单机可存全量的问题和方案)
在互联产品中,为了使产品服务满足高可用,可扩展(规模),防延迟等性能指标,普遍涉及到数据备份的问题(本章主要讨论的单机可存全量的业务场景),即将数据在不同节点机器中进行备份(其中涉及到很多同步细节的问题)。根据机器节点的相互关系,可以将数据备份整体架构分一下三种:一主多从备份方式多主多从备份方式无主多从备份方式架构模式同步方式写模式读模式特点一主多从实时同步/异步同步写主库,根据
2018-03-26 15:21:18
224
原创 设计数据密集型应用-第四章-编码和应用演进 (涉及的问题和方案)
对于参与过大量应用开发的同学, 大部分都体验过产品迭代,产品迭代中涉及到连个问题向前兼容(Forward Compatible) 和向后兼容(Backward Compatible);当前大部分的互联网产品设计开发过程中都涉及两部分,一个是服务器端开发,一个是客户端开发,并且都存在更新,我们将以此为例来解释上面提到的两个概念:向前兼容(Forward Compatible), 旧代码兼容读取和处理
2018-03-22 13:39:55
364
原创 设计数据密集型应用 - Data Model And Query Language - 第三章小结
这章的主题是存储和检索(Storage And Retrieval), 整体可读性很强, 各个阶段的描述都围绕数据存储方式,以及的检索,更新,删除;最简单的存储和索引系统可以简单的对记录(key,value对,可以衍生到按行记录) 进行追加(append)的记录/文件管理方式, 每次查询的使用用linux系统自带的grep进行查询;存储方式,简单在文件末尾进行追加检索方式,grep相对
2018-03-21 11:36:16
238
原创 设计数据密集型应用 - Data Model And Query Language - 第二章小结
上一章提到不同业务场景可能不同的架构设计来支撑,那么在数据存储和检索/查询这个阶段,我们有哪些工具可以选择,这些工具在不同数据场景中的优缺点有哪些,简单了整理了一张表格, 以数据存储方式,特点,适合场景描述,和数据查询/操作特点纬度进行简单描述,来辅助理解不同类型数据存储方式的差异(不全,但具有参考意义)数据存储方式 数据查询/操作特点适合场景开源例子关系型数据库 (Rela
2018-03-18 14:22:35
403
原创 设计数据密集型应用 - Designing Data-Intensive Application 第一章小结
2012年后的大部分面相用户的互联网产品(包括facebook, twitter, 手机百度,头条,滴滴等)都属于数据密集型应用,普遍的特点用户量较大(访问量),产生的数据量大,产品更新频繁。由于每个产品的特点,每个产品在架构设计上(为了解决自身的业务问题,如大量的读,大量的写操作, 信息队列更新时效性等)都有所不同,如何设计一个可靠(Reliable), 可规模化(Scalable)和易维护(Ma
2018-03-15 11:30:30
736
原创 AI算法训练中Exploration & Exploitation问题一谈 (AI方向)
游戏领域也开始受到AI研究者的关注(比如最近的AI-Libratus战胜人类德州扑克高手[1], Alpha Go等),原因无他,很多人类发明的游戏,其过程涉及到逻辑推理,概率和游戏博弈等运算,研究者希望通过计算机来挑战/模拟一些原本认为只有人类才可完成的脑力运算能力。这里我们不探讨通过这种方式的尝试和创新,是否真正带来新的AI革命,我们希望通过探讨研究在用计算机解决游戏问题中遇到的一些通用问题进行
2018-01-05 15:06:17
5514
原创 Head-up No-Limit Texas Hold'em 计算搜索空间一探 (AI方向)
在最近10年,游戏行业开始被AI领域的研究专家所关注,主要的原因是游戏中涉及各类博弈(game-thoery), 逻辑思考和概率,比如围棋(GO)。这里我们想探究一下现在在AI研究领域比较活跃的游戏类型非完美信息游戏(Imperfect Info Game), Head-up No-Limit Texas Hold’em, 这个游戏较围棋等其他游戏不同之处在与,在游戏过程中有,玩家只有部分信息(玩家
2018-01-03 17:23:59
1306
原创 互联网中寻找相似实体(lookalike)算法优化方案
最近在调研给定一个用户,如何高效找到与该用户相似的其他用户,即相似用户查找 (lookalike), 在网上做了些调研,希望和大家分享一下,当前阶段的一些调研结果。当前普遍通过笛卡尔距离(Jaccard Distance), 余弦距离(Cosine Distance), 编辑距离(Edit Distance)和汉明距离(Hamming Distance)等来量化两个实体之间的相似度,以下简单介
2017-09-16 14:00:55
4026
原创 单因素方差分析样例和代码 (One-Way ANOVA)
最近在研究线性回归分析中如何评估一个模型能否较好的描述数据,除了正常评测预测值和观测值的总体偏差(也是我们优化方向),我们还会对预测值和观测值偏差分布进行分析。这里具体的原因是: 正常在进行回归分析时,我们都会设置一个系统噪声,我们一般会有一下假设[1]:噪声与应变量 (response variable) 互相独立噪声信号服从正太分布(mean = 0, var = 小值)噪声在不同样本分类
2017-09-13 11:10:28
10619
原创 如何检验离散变量是否相关样例和代码(Chi-square Test 切比雪夫检验)
在做实验设计(研究变量对实验结果的影响)和机器学习领域的研究中都会遇到一个普遍的问题,如何确定两个变量之间是否存在关联,关于连续变量的相关性[1],大家应该都比较熟悉,这里将介绍如何通过统计学的方法中的切比雪夫检验(Chi-square Test)来验证两个离散变量是否相互独立(independent) 并附上简单例子和样例代码切比雪夫校验切比雪夫检验的基本思想[2],通过假设检验的方式对两个离散变
2017-08-01 19:32:04
3099
原创 中断可恢复性-爬虫系统(广度优先-python单进程版)
最近突发奇想,想做NLP相关的中文调研,然而苦于没有数据,只能先简单写个爬虫系统来抓取数据。在写爬虫系统前,我简单的梳理了一下抓取逻辑和目标,抓取以新闻内容为主题的文章以广度优先进行抓取单进程,单线程(反屏蔽)建立已抓取url 池子,减少重复抓取建立抓取失败的url池子,进行重试抓取建立重复抓取池,确保首页可以重复抓取在特定时间内保存当前工作状态,包括抓取池现状等建立抗干扰机制,在人
2017-08-01 15:03:23
1487
原创 SGD平行算法 - Downpour SGD (单机python多线程版)
SGD 被广泛运用到机器学习(machine learning)中最优化等问题中,学术界一直热衷于提升SGD在优化问题中的收敛速率,并行计算也是热点研究的方向(包括Hogwild! [1], Delay-tolerant Algorithm for SGD [2], Elastic Average SGD [3]),本篇实现了现在比较火的Downpour SGD [4]的样例代码 (选择这个的原因引
2017-07-25 21:34:26
1293
原创 最优化问题-梯度下降(Gradient Descent)算法&样例代码以及相关扩展
梯度下降算法理论和代码实现, 梯度下降的部分扩展(含代码python)
2017-07-04 21:51:39
1620
原创 最优化问题-线性优化(LP)
这里最优化问题的讨论,主要指在给定某个确认的目标函数以及该函数的自变量的一些约束条件,求函数的最大或最小值的问题,通用的数学表达式:目标函数 : f(x) f(x) 约束条件 : s.t.g(x)≤0,h(x)=0 s.t. g(x) \leq 0 , h(x) = 0求解: minf(x)或maxf(x) min f(x) 或 max f(x) 根据约束条件以及目标函数性质不同,
2017-07-01 19:10:11
36148
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人