系统学习

这一年,从学生到职场

断了今生、忘了曾经 提交于 2020-01-18 02:57:21
前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star : https://github.com/ZhongFuCheng3y/3y 一年时间是真的快,上一年我还是学生,今年我已经工作半年了,这篇文章记录一下我今年发生过的一些事和感想。不知道明年写 2020 年总结的时候再回看这篇文章是什么感觉。我回看上年写的总结,说实话,有点 low 。哈哈哈哈 2018再见,2019你好 从小到大一直待在广州,现在在杭州上班,有很多 初体验 ,觉得还不错。 总结今年的事,明年继续努力吧 二月至五月 在实习 在今年二月份的时候原Leader问我什么时候去实习,我想着我在家也没什么事情要做,所以就过完年就打算去实习了。 去杭州有很多人生的初体验: 第一次坐飞机 第一次租房子 第一次看下雪(雨飘雪) 当时还写了一篇文章,简单记录了一下坐飞机、租房子的过程。 嗯,我来杭州了。 很多学生刚步入工作的时候都会想过一个问题: 实习的工作难不难?我能不能胜任?实习去到公司究竟是做什么的阿? 当然了,这个问题我也肯定是想过的。我去公司之前还特意问了一下前Leader, 部门在用的技术栈是什么 (主要是我想快点适应公司用的技术,等到真正实习的时候就不至于脚忙手乱了) 我去实习的时候,遇到一个 对我很好的学长 ,我每天有着我自己的学习计划,我学长也会对我进行辅导。 入职第二天

分布式系统学习之分布式唯一ID的几种生成方案(二)

别来无恙 提交于 2020-01-16 03:10:05
前言 在互联网的业务系统中,涉及到各种各样的ID,如在支付系统中就会有支付ID、退款ID等。那一般生成ID都有哪些解决方案呢?特别是在复杂的分布式系统业务场景中,我们应该采用哪种适合自己的解决方案是十分重要的。下面我们一一来列举一下,不一定全部适合,这些解决方案仅供你参考,或许对你有用。 正文 分布式ID的特性 唯一性:确保生成的ID是全网唯一的。 有序递增性:确保生成的ID是对于某个用户或者业务是按一定的数字有序递增的。 高可用性:确保任何时候都能正确的生成ID。 带时间:ID里面包含时间,一眼扫过去就知道哪天的交易。 分布式ID的生成方案 1. UUID 算法的核心思想是结合机器的网卡、当地时间、一个随记数来生成UUID。 优点:本地生成,生成简单,性能好,没有高可用风险 缺点:长度过长,存储冗余,且无序不可读,查询效率低 2. 数据库自增ID 使用数据库的id自增策略,如 MySQL 的 auto_increment。并且可以使用两台数据库分别设置不同步长,生成不重复ID的策略来实现高可用。 优点:数据库生成的ID绝对有序,高可用实现方式简单 缺点:需要独立部署数据库实例,成本高,有性能瓶颈 3. 批量生成ID 一次按需批量生成多个ID,每次生成都需要访问数据库,将数据库修改为最大的ID值,并在内存中记录当前值及最大值。 优点:避免了每次生成ID都要访问数据库并带来压力

综述论文“Federated Learning Systems: Vision, Hype and Reality for Data Privacy and Protection“

与世无争的帅哥 提交于 2020-01-15 11:25:24
2019年12月3日上载到arXiv关于联邦学习的综述论文”A Survey on Federated Learning Systems: Vision, Hype and Reality for Data Privacy and Protection“。 摘要 :联邦学习一直是在隐私限制下实现不同组织之间机器学习模型协作训练的热门研究领域。随着研究人员尝试使用不同的隐私保护方法来支持更多的机器学习模型,开发系统和基础架构要求简化各种联邦学习算法的开发。就像Caffe、PyTorch和Tensorflow之类深度学习系统促进深度学习算法发展一样,联邦学习系统也同样重要,并且面临着各种问题的挑战,例如不切实际的系统假设、可扩展性和效率。受联邦系统在其他领域(例如数据库和云计算)的启发,本文研究了联邦学习系统的现有特征。现有领域的联邦学习系统很少考虑其他领域联邦系统的两个重要特征,即异构性和自治性。此外,根据数据分区、机器学习模型、隐私机制、通信体系结构、联邦规模和联邦动机等六个不同方面对联合学习系统进行了彻底的分类。如案例研究所示,分类可以帮助设计联邦学习系统。最后,对现有的联邦学习系统进行了系统的比较,并提出了未来的研究机会和方向。 联邦数据库、联邦云和联邦学习: 联邦学习分类: 联邦学习方法比较: 注:LM - Linear Models. DM - Decision Trees

关于推荐系统的综述

£可爱£侵袭症+ 提交于 2020-01-13 20:50:28
推荐系统中的深度匹配模型 辛俊波 DataFunTalk 今天 文章作者:辛俊波 腾讯 高级研究员 编辑整理:Hoh Xil 内容来源:作者授权 文章出品:DataFunTalk 注:转载请联系作者本人。 导读: 推荐系统和搜索应该是机器学习乃至深度学习在工业界落地应用最多也最容易变现的场景。而无论是搜索还是推荐,本质其实都是匹配,搜索的本质是给定 query,匹配 doc;推荐的本质是给定 user,推荐 item。本文主要讲推荐系统里的匹配问题,包括传统匹配模型和深度学习模型。 深度学习之风虽然愈演愈烈,但背后体现的矩阵分解思想、协同过滤思想等其实一直都是贯穿其中,如 svd++ 体现的 userCF 和 itemCF 的思想,FM 模型本质上可以退化成以上大多数模型等。多对这些方法做总结,有助于更深刻理解不同模型之间的关联。 图1 推荐和搜索的本质,都是 match 的过程 PS:本文主要启发来源 SIGIR2018:Deep Learning for Matching in Search and Recommendation,重点阐述搜索和推荐中的深度匹配问题,非常 solid 的综述,针对里面的一些方法,尤其是 feature-based 的深度学习方法增加了近期一些相关 paper。 本文主要分为以下几部分: ❶ 推荐系统概述 ❷ 推荐系统的传统匹配模型 ❸ 基于

知识图谱研究进展

 ̄綄美尐妖づ 提交于 2020-01-12 20:27:09
在原文 《知识图谱研究进展》 基础上上做了相应的调整和补充 本文首先简要回顾知识图谱的历史,探讨知识图谱研究的意义。其次,介绍知识图谱构建的关键技术,包括实体关系识别技术、知识融合技术、实体链接技术和知识推理技术等。然后,给出现有开放的知识图谱数据集的介绍。最后,给出知识图谱在情报分析中的应用案例。 — 漆桂林、高桓、吴天星 东南大学计算机科学与工程学院 本文节选自《情报工程》2017 年第 1 期,知识图谱专题稿件。 1 知识图谱构建技术   本节首先给出知识图谱的技术地图,然后介绍知识图谱构建的关键技术,包括关系抽取技术、知识融合技术、实体链接技术和知识推理技术。 1.1 知识图谱技术地图   构建知识图谱的主要目的是获取大量的、让计算机可读的知识。在互联网飞速发展的今天,知识大量存在于非结构化的文本数据、大量半结构化的表格和网页以及生产系统的结构化数据中。为了阐述如何构建知识图谱,本文给出了构建知识图谱的技术地图,该技术地图如图1所示。   整个技术图主要分为三个部分,第一个部分是知识获取,主要阐述如何从非结构化、半结构化、以及结构化数据中获取知识。第二部是数据融合,主要阐述如何将不同数据源获取的知识进行融合构建数据之间的关联。第三部分是知识计算及应用,这一部分关注的是基于知识图谱计算功能以及基于知识图谱的应用。 1.1.1 知识获取   在处理非结构化数据方面

这一年,从学生到职场

淺唱寂寞╮ 提交于 2020-01-12 14:33:55
前言 只有光头才能变强。 文本已收录至我的GitHub精选文章,欢迎Star : https://github.com/ZhongFuCheng3y/3y 一年时间是真的快,上一年我还是学生,今年我已经工作半年了,这篇文章记录一下我今年发生过的一些事和感想。不知道明年写 2020 年总结的时候再回看这篇文章是什么感觉。我回看上年写的总结,说实话,有点 low 。哈哈哈哈 2018再见,2019你好 从小到大一直待在广州,现在在杭州上班,有很多 初体验 ,觉得还不错。 总结今年的事,明年继续努力吧 二月至五月 在实习 在今年二月份的时候原Leader问我什么时候去实习,我想着我在家也没什么事情要做,所以就过完年就打算去实习了。 去杭州有很多人生的初体验: 第一次坐飞机 第一次租房子 第一次看下雪(雨飘雪) 当时还写了一篇文章,简单记录了一下坐飞机、租房子的过程。 嗯,我来杭州了。 很多学生刚步入工作的时候都会想过一个问题: 实习的工作难不难?我能不能胜任?实习去到公司究竟是做什么的阿? 当然了,这个问题我也肯定是想过的。我去公司之前还特意问了一下前Leader, 部门在用的技术栈是什么 (主要是我想快点适应公司用的技术,等到真正实习的时候就不至于脚忙手乱了) 我去实习的时候,遇到一个 对我很好的学长 ,我每天有着我自己的学习计划,我学长也会对我进行辅导。 入职第二天

系统学习图像算法Day.37——C++应用——复现机器学习中的“逻辑回归”算法

≯℡__Kan透↙ 提交于 2020-01-09 12:33:27
逻辑回归 是为了解决在样本标记为0、1时,希望预测其取1概率 的问题,而不是单纯预测为0或1 在学习逻辑回归后,自己用C++复现该代码 # include <iostream> # include <cmath> # include <fstream> # include <vector> using namespace std ; const int DIMS = 20 ; char * file1 = "logical_regression_train.dat" ; char * file2 = "logical_regression_test.dat" ; struct training_unit //每个X数据结构体 { double x [ DIMS + 1 ] ; int y ; } ; vector < training_unit > training ; //用来保存X vector < training_unit > test ; int sign ( double signx ) //sign函数,正为1,负为-1 { int signy ; if ( signx > 0 ) signy = 1 ; else signy = - 1 ; return signy ; } double sigmoid ( double x ) { double y ; y = 1

快速学习-常见DOS命令精讲

做~自己de王妃 提交于 2020-01-08 21:05:02
1 用二种方法打开DOS命令窗口 1.1 进入DOS命令行界面方法一 在Windows 2000/XP/2003的开始菜单中执行“开始/运行”命令,在运行对话框中键入“cmd”命令,可进入命令行界面。 1.2 进入DOS命令行界面方法二 在Windows 2000/XP/2003的开始菜单中执行“开始/程序/附件/命令提示符”,也可以打开DOS命令行界面。 2.DOS命令 At 作用: 列出在指定的时间和日期在计算机上运行的已计划命令或计划命令和程序。首先要保证“计划”服务已启动才能使用 at 命令。 格式: at [ \\IP ] [ [ ID ] [ / delete ] / delete [ / yes ] ] at [ \\computername ] time [ / interactive ] [ / every : date [ , . . . ] / next : date [ , . . . ] ] command 使用说明: (1)如果在没有参数的情况下使用,则 at 列出已计划的命令。 (2)\IP:指定远程计算机,在此输入远程计划机的IP地址。如果省略该参数,命令将安排在本地计算机。 (3)ID:指定指派给已计划命令的识别码。 (4)/delete:取消已计划的命令。如果省略了ID,计算机中已计划的命令将被全部取消。 /yes:当删除已计划的事件时

快速学习linux系统

て烟熏妆下的殇ゞ 提交于 2020-01-08 09:33:18
 Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与linux具有的良好特性是分不开的。Linux包含了UNIX的全部功能和特性。简单来说,linux具有以下主要特性:遵循GNU GPL,开放性,多任务,多用户,设备独立性,提供了丰富的网络功能,可靠的系统安全,良好的可移植性。为了大家更好的学习的Linux系统,特地整理了以下Linux基本命令,希望可以帮到大家! 1、强大好用的Shell 命令  Shell(也称为终端或壳)是一个命令行工具,充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。现在包括红帽系统在内的许多主流Linux 系统默认使用的终端是Bash(Bourne-Again SHell)解释器。主流Linux 系统选择Bash 解释器作为命令行终端主要有以下4项优势: 1.通过上下方向键来调取过往执行过的Linux命令; 2.命令或参数仅需输入前几位就可以用Tab键补全; 3.具有强大的批处理脚本; 4.具有实用的环境变量功能。 2、执行帮助文档命令 执行Linux命令的格式是这样的: 命令名称 [ 命令参数 ] [ 命令对象 ]  命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用“–”与“-”作为前缀,具体如下表:

Linux.NET学习手记(1)

血红的双手。 提交于 2020-01-08 00:46:48
Linux下面跑.NET程序,听起来有点疯狂,不过又是那么的有前途。Linux作为服务器,它的优势是不容置疑的,可以说类Unix系统(Linux、Unix……)天生就是适合做为服务器的操作系统,它的稳定性、它的高效、它的低成本,这都是Windows所不能媲美的。 不说太多了,我们直接进入我们讨论学习的话题吧,这里推荐几个Linux.net的学习地点: mono中国 , Linux DotNet大本营 , jexus Web Server 技术博客 。 同时,这里也推荐 张善友 先生的博客,那里有很多关于Linux.NET的文章。 本回合,我们主要讨论学习: 1、什么是mono 2、为什么要用mono 3、如何在Linux中部署一个.NET的运行环境 4、部署时我们需要注意什么,以及对一些关键步骤的解析 1、什么是mono 关于什么是mono,我想无论我怎么说,应该都不会比官方的解释,或者是 百科 更加详细;我这里就简单说吧,Java之所以能够跨平台运作,是依赖与Java的虚拟机JVM,而.NET之所以只能够在Windows中跑,同样是因为.NET运行需要依赖与Framework的Runtime(公共运行时),那如果能够在Linux同提供适合于.NET运作的环境(包括CLR等),那.NET也可以在Linux中跑起来了,这就是mono了。 2、为什么要使用mono 为什么使用mono