自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

孙启超

算法改变人生

  • 博客(290)
  • 资源 (3)
  • 收藏
  • 关注

原创 密码学在区块链中能做什么

介绍本篇会讲述密码学在区块链中的具体的使用,从而理解为什么区块链可以防止消息被篡改,怎么进行数字身份认证。比特币中是如何通过多重签名实现多个人共同管理某个账户的比特币交易。 布隆过滤器布隆过滤器是一种基于 Hash 的高效查找结构,能够快速判断某个元素是否在一个集合内。首先回顾一下基于Hash的快速查找,由于Hash算法具有一一对应的特点,即一个内容对应一个Hash值,而Has...

2018-09-03 11:13:09 4000 2

原创 深入理解SHA系列加密算法

介绍SHA是一系列的加密算法,有SHA-1、SHA-2、SHA-3三大类,而SHA-1已经被破解,SHA-3应用较少,目前应用广泛相对安全的是SHA-2算法,这也是本篇文章重点讲述的算法。 算法核心思想和特点该算法的思想是接收一段明文,然后以一种不可逆的方式将它转换成一段密文,也可以简单的理解为取一串输入码,并把它们转化为长度较短、位数固定的输出序列即散列值的过程。 单向性...

2018-08-26 22:09:51 26128 1

原创 区块链核心技术之密码学研究指南

 前言块链技术从2017年已经开始爆发,2018年更是火热,可以预见未来也一定是一个重要的技术,绝对不是昙花一现,很多有远见的公司早已经在2015年开始布局区块链技术如BAT,TMD等。区块链技术确实会颠覆一些中心化的大公司,但是真正好的大公司是不会等着别人去颠覆,他们会自己先投入研究区块链技术,而密码学作为区块链技术的基石自然成为研究学习的重点。下面通过一张图看看目前区块链的就业情况:...

2018-08-20 08:46:33 9018 36

原创 一份中外结合的 Machine Learning 自学计划

看了Siraj Raval的3个月学习机器学习计划的视频,感觉非常好,地址:https://www.youtube.com/watch?v=Cr6VqTRO1v0结合一些我们学习中的经验得出一份Hybrid的机器学习自学计划。根据Siraj的建议:机器学习的涉及的知识比例分布的 35%线性代数25%概率论和统计学15%微积分15%算法及其复杂性10%是数据预处理知识强烈建议订阅:Siraj Rav...

2018-03-21 15:50:42 10162

原创 给自己的区块链添加网络通信

准备工作:go语言中Channels的用法:在不同的Goroutine中运行的函数之间传递数据,可以使用Channel也称为通道。(Goroutine是协程,和线程类似,共享堆,不共享栈,协程的切换一般由程序员在代码中显式控制)关键字“go”。使用这个关键字使一个函数被并发的执行,如:go func() { fmt.Println("666") }()思路整理首先明确一下我...

2018-03-16 19:26:21 1445

原创 什么是目标函数,损失函数?目标函数为什么要加正则项?

什么是目标函数?定义是:指所关心的目标与相关的因素的函数关系。举个例子,假如我们想要预测公司楼下手抓饼店明天能卖多少张手抓饼,已知过去10天每天卖多少,以及每天的天气情况,是否有节假日,和手抓饼店老板和老板娘的感情状况,这几项数据都统计好了。对应到目标函数的解释就是:关心的目标是明天能卖多少手抓饼,未知量。相关因素是每天数量,天气情况,节假日,老板老板娘感情状况,已知量。目标函数:按照一定的思路把...

2018-03-15 16:48:02 10306 2

原创 给自己的区块链添加POW-工作量证明

对POW不太熟悉的同学可以参考这篇文章:https://xiaozhuanlan.com/topic/0492176583准备工作:单向加密:单向加密以人类可读的文本(明文)作为输入,比如“666”这个字符串,再通过一个数学函数产生出难以辨认的输出(密文)。挖矿:比特币的产出是通过给予“获胜矿工”奖励来实现,为了获取比特币奖励矿工之间会进行竞争。这个过程之所以被称为“挖矿”。为什么要挖矿?相信同学...

2018-03-13 11:38:08 2244 1

原创 开发自己的区块链基础功能篇

准备工作:安装go开发环境用go搭建web服务go语言基础安装go开发环境到https://golang.org/dl/这个地址下载对应的安装包,mac ,windows,linux都有(需要科学上网)。以mac为例,下载成功后双击安装下一步即可,很简单。安装成功后运行go version查看版本(如果没有的话,就重启一下终端)用go搭建web服务在这里咱们用的是Gorilla/mux包。步骤:创...

2018-03-12 15:53:35 1186

原创 区块链--共识算法POW

首先我们通过介绍一个拜占庭将军问题(Byzantine Generals Problem),来进一步了解共识算法是要干什么。故事:拜占庭帝国,拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有行。其中的一个或者几个邻邦本身答应...

2018-03-12 15:48:12 1076 2

原创 区块链原理是什么?如何开发区块链程序

介绍区块链可以理解为是分布式数据库,读取数据,存储数据。特点是:耐久性,稳健性,透明性,不被破坏性。这时有同学会问:“老师,别人家说区块链是个分布式账本,有奖励机制,可以通过挖矿获取奖励,怎么不一样?”,问题很好同学,说的也对,但是有局限性,针对比特币来说都符合,但是比特币那是区块链1.0时代,以数字货币为主要应用,可以理解为分布式账本,每十分钟出一个区块然后奖励一些比特币。但是这只是区块链应用中...

2018-03-08 15:52:24 1014

原创 机器学习数学篇--线性代数

嗑就不唠了,直接上内容,可以参考之前的文章:https://xiaozhuanlan.com/topic/2981350467目录线性代数:标量向量矩阵张量集合范数内积向量正交1.标量单独的数 b 构成的元素被称为标量:一个标量 b 可以是整数, 实数2.向量多个标量 b1,b2,⋯,bn按一定顺序组成一个序列,这样的元素就被称为向量,既有大小又有方向。向量可以看作标量的延伸。原始的一个数被替代为

2018-01-18 19:55:50 723

原创 机器学习数学篇—基础数学知识清单

介绍到目前为止我们学习了,最小二乘法,逻辑回归,朴素贝叶斯,决策树,神经网络,卷积神经网络。里面提到了很多的数学概念,有懂得,也有不懂的,今天我们来列一个清单以便于后面的学习。其实有同学也再问:“孙老师,你为什么不先讲数学知识,然后再讲机器学习呢,就像小时候上学一样,先学加减法,再学乘除,一年级一年级的往上学。”首先这个同学问的问题非常好。但是咱们不是义务教育,也不是小时侯了,大人要有大人的学习方

2018-01-18 19:54:26 3998

原创 机器学习实战篇—人脸识别(Human Face Recognition)

介绍:之前看了一篇在Ubuntu上写的人脸识别,自己在mac下试了一下,觉得有必要再扩展一下,通过一个简单的例子来了解一下人脸识别的过程。准备知识:欧几里得距离:是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者向量的自然长度(即该点到原点的距离)。在二维和三维空间中的欧氏距离就是两点之间的实际距离。公式如图:就是说两项间的差是每个变量值差的

2017-12-27 20:42:57 13193 3

原创 机器学习算法篇--卷积神经网络基础(Convolutional Neural Network)

定义:首先来了解一下深度学习的定义:深度学习是以数据的原始形态作为算法输入,经过算法层层抽象将原始数据逐层抽象为自身任务所需的最终特征表示,最后以特征到任务目标的映射作为结束,从原始数据到最终任务目标,“一条龙服务” 并无夹杂任何人为操作。普通话说就是“省去了人为的特征工程,实现完全封闭。是一种‘端到端’的学习方式”,而传统机器学习的天花板是由特征工程决定的。卷积神经网路:是一类特殊的人工

2017-12-21 19:48:19 4191

原创 机器学习的分类

分类:目前机器学习主流分为:监督学习,无监督学习,强化学习。监督学习:监督学习可分为“回归”和“分类”问题。在回归问题中,我们会预测一个连续值。也就是说我们试图将输入变量和输出用一个连续函数对应起来;而在分类问题中,我们会预测一个离散值,我们试图将输入变量与离散的类别对应起来。每个数据点都会获得标注,如类别标签或与数值相关

2017-11-30 18:59:05 11221

原创 机器学习算法实践-树回归-转

原文地址:http://python.jobbole.com/88822/通常决策树树分裂选择特征的方法有ID3, C4.5算法, C5.0算法和CART树。本文主要使用决策树解决回归问题,使用CART(Classification And Regression Trees)算法。CARTCART是一种二分递归分割的技术,分割方法采用基于最小距离的基尼指数估计函

2017-11-22 09:42:49 787

原创 机器学习 - 贝叶斯分类算法

1.贝叶斯定理(Bayes' theorem)描述的是关于随机事件A和B的条件概率。一般情况下,事件A和在事件B发生的条件下的概率,与事件B在时间A发生的条件下的概率是不同的,但这两者之间是存在一定的关系的,贝叶斯定理描述的就是这种关系。记L(A|B)在B发生的条件下A发生的概率。术语:(1) p(A)事件A发生的概率(2) p(A|B)在事件B发生的条件下,A发生的概

2017-10-26 10:26:35 539

原创 相似图片搜索的原理

刚才用百度搜索,上传了图片搜索,结果没有出来相关的信息,好吧,还是翻墙打开google,再搜索一下,图片如下:搜索后结果如下:这种技术的原理是什么?计算机怎么知道两张图片相似呢?原理非常简单易懂。我们可以用一个快速算法,就达到基本的效果。这里的关键技术叫做"感知哈希算法"(Perceptual hash algorithm),它的作用是对每张图片生成一个"指纹"

2017-09-12 13:40:58 555

原创 神经网络入门---高级应用篇

下面通过车牌自动识别的例子,来解释神经网络所谓"车牌自动识别",就是高速公路的探头拍下车牌照片,计算机识别出照片里的数字。这个例子里面,车牌照片就是输入,车牌号码就是输出,照片的清晰度可以设置权重(w)。然后,找到一种或多种图像比对算法,作为感知器。算法的得到结果是一个概率,比如75%的概率可以确定是数字1。这就需要设置一个阈值(b)(比如85%的可信度),低于这个

2017-09-11 13:56:04 607

原创 神经网络入门---中级应用篇

本篇文章介绍两个概念:决策模型和矢量化一. 决策模型单个的感知器构成了一个简单的决策模型,已经可以拿来用了。真实世界中,实际的决策模型则要复杂得多,是由多个感知器组成的多层网络。上图中,底层感知器接收外部输入,做出判断以后,再发出信号,作为上层感知器的输入,直至得到最后的结果。(注意:感知器的输出依然只有一个,但是可以发送给多个目标。)这张图里,信号都是单向的,

2017-09-07 14:54:45 632

原创 神经网络入门(neural network)---初级应用篇

神经网络的运作过程:输入和输出权重(w)和阈值(b)多层感知器的结构根据这个过程,我们来看一个简单的例子城里正在举办一年一度的国际跑车展览,李磊拿不定主意,周末要不要去参观他决定考虑三个因素。天气:周末是否晴天?同伴:能否找到人一起去?价格:门票是否可承受?这就构成一个感知器。上面三个因素就是外部输入,最后的决定就是感知器的输

2017-09-06 14:34:01 732 1

原创 神经网络入门(neural network) ---概述

人工智能的底层模型是"神经网络"(neural network)。许多复杂的应用(比如模式识别、自动控制)和高级模型(比如深度学习)都基于它。一、感知器历史上,科学家一直希望模拟人的大脑,造出可以思考的机器。人为什么能够思考?科学家发现,原因在于人体的神经网络。外部刺激通过神经末梢,转化为电信号,转导到神经细胞(又叫神经元)。无数神经

2017-09-05 14:51:58 5635 1

原创 机器学习集训营---第五周总结

本周主要讲大数据分析和处理,包含:hadoop 使用,map-reduce概念和使用spark与大数据处理下面详细记录一下知识点:hadoopHDFS  分布式文件系统主从结构,一个namenoe和多个datanode, 分别对应独立的物理机器NameNode是主服务器,管理文件系统的命名空间和客户端对文件的访问操作。NameNode

2017-08-24 16:48:30 725

原创 机器学习集训营---第四周总结

本周讲了如何把数据用图表展现出来,主要包括:Matplotlibseaborn下面直接列出笔记和知识点一. Matplotlib 一幅数据图基本上包括如下结构:Data: 数据区,包括数据点、描绘形状Axis: 坐标轴,包括 X 轴、 Y 轴及其标签、刻度尺及其标签Title: 标题,数据图的描述Legend: 图例,区分

2017-08-06 22:20:15 743

原创 机器学习集训营---第三周总结

第三周学习总结,主要内容:pandas数据统计与分析的学习结合selenium编写爬虫学习pandas在机器学习数据预处理与特征处理作业实战分析链家数据本周三晚上去参加了混沌大学的线下活动,史蒂夫 霍夫曼 亲自来到现场讲了硅谷创业的事情以及他是如何选择公司去投资,受益非浅,最后讲了他对AI的一些看法,更加坚定了我的选择。演讲中我记忆最深刻的是他讲的判断一个产品的好坏,去

2017-07-30 19:34:50 606

原创 机器学习集训营---第二周总结

本周重点是python写爬虫程序,是个复杂的一周,要把上周学会的python基础应用到实际程序中。课程密度 很大,三次线上课,三次训练课,周日一次线下课,现在在回上海的火车上写周总结。主要内容:使用requests抓取静态网页数据以及解析数据实现模拟登录和分布式爬虫selenium使用以及mysql和redies数据库操作网页动态内容获取其实在上午上课的时候我就

2017-07-23 20:05:09 743

原创 机器学习训练营---第一周总结

知识点列表: 1. python基础数据类型 2. 变量和表达式 3. if , elif , else , continue , break流程控制 4. for , while循环控制 5. 字符串操作 6. list , tuple , set , dictionary 容器操作 (重点) 7. 文件读/写 8. 面向对象 9. 切片的

2017-07-16 20:07:00 1862

原创 Python 学习笔记之 -- yield

参考链接:http://www.liaoxuefeng.com您可能听说过,带有 yield 的函数在 Python 中被称之为 generator(生成器),何谓 generator ?我们先抛开 generator,以一个常见的编程题目来展示 yield 的概念。如何生成斐波那契數列斐波那契(Fibonacci)數列是一个非常简单的递归数列,除第一个

2017-07-08 20:30:07 354

原创 Weex学习第五篇:css样式和类的运用

复习上篇文章学习的数据绑定,感觉比较重要的是1.计算属性的的使用,类似响应式编程,就是一个变量的值会随着它相关的那个变量的值的变化而变化,不需要去update,比如fullName = firstName+lastName,一个text=fullName,如果firstName变化,那么fullName就会变。2.if & repeat使用,if判断这个标签是否显示隐藏,repeat用在数

2017-01-12 13:48:38 5337 1

原创 Weex学习第四篇:计算属性,class定义style,if,repeat

首先来复习一个重要的知识点:根节点:每个 Weex 页面最顶层的节点,我们称为根节点。下面是目前我们支持的三种根节点:div:普通根节点,有确定的尺寸,不可滚动。scroller:可滚动根节点,适用于需要全页滚动的场景。list:列表根节点,适用于其中包含重复的子元素的列表场景。目前 Weex 仅支持以上三种根节点。注意事项:template 只支持一个根节

2017-01-10 17:56:36 3346 1

原创 Weex学习第三篇:模版,样式,脚本

这两天把官方的教程都看了一遍,总体感觉是信息量很大,但是大部分和iOS原生开发有相似的地方,像UI,touch事件,数据绑定,数据处理等流程都是存在,区别在于语言和语法,虽然知识点,用法,API很多,有的常用的还需要记住,但是只要有耐心,一个一个的克服,结果肯定是好的。而且最近感受最深的是,写出来的博客是要经过自己反复验证的,保证99.99%正确后才能发出来,不能像以前那样跟发相声似的,所以后面出

2017-01-07 16:41:57 857

原创 Weex学习第二篇:Hello world

曾经何时,我以为学习一门语言或者是新技术,只要能写出Hello world,就算是学会了。这个思想困扰了我很久,以至于之前整理电脑的时候发现php,python,ruby,phonegap,react native,go,node.js,.net这些文件夹中都是只有hello world的代码,非常惭愧。但是不可否认的是,Hello world是一个好的开始。输出Hel

2017-01-05 11:28:11 1570

原创 Weex学习笔记第一篇:准备工作和要了解的知识点

2017年的第一个工作日,进入到准备学习weex的阶段,首先来看一下需要了解哪些。1.weex是什么?weex是一种跨平台的开发方案,简单的说就是把iOS,Android,H5的开发合并到一起,可以写一套代码,分别运行在这3个平台,最重要的是用户体验和原生语言开发的时候基本一样。2.什么样的程序员适合学习weex?iOS,Android,前端的程序员学习比较合适,不

2017-01-04 10:05:01 960

转载 iOS代码耦合的处理

原文地址:http://mrpeak.cn/blog/ios-coupling/耦合是每个程序员都必须面对的话题,也是容易被忽视的存在,怎么处理耦合关系到我们最后的代码质量。今天Peak君和大家聊聊耦合这个基本功话题,一起捋一捋iOS代码中处理耦合的种种方式及差异。简化场景耦合的话题可大可小,但原理都是相通的。为了方便讨论,我们先将场景进行抽象和简化,只讨论两个类之间的耦合

2016-12-27 09:19:10 1216

转载 转-手机天猫解耦之路

原文链接:http://www.cocoachina.com/ios/20161216/18365.html在GMTC官网可以下载这次分享的资料:http://ppt.geekbang.org/slide/show/194现场视频已上线:《手机天猫解耦之路》现场本文标题是解耦,聊解耦可以有很多方法,本文以架构进化为线索给各位分享手机天猫的解耦之路。我想,在手机天猫的成长过程

2016-12-19 10:14:44 468

原创 ios 时区,时间格式NSDate

在iOS开发中,经常会遇到各种各样的时间问题,8小时时差,时间戳,求时间间隔,农历等等。解决办法网上比比皆是,但大多零零散散,很多资料并没有说明其中问题。这里集中总结一下,以便于以后查阅和供大家参考。有我自己的理解,错漏之处请大家吐槽。NSDate的8小时问题NSDate转字符串时间初始化一个NSDate时间[NSDate date],获取的是零时区的时间(格林

2016-12-13 13:53:28 12241 1

原创 Xcode8打包发布应用 NSPhotoLibraryUsageDescription

Xcode8 面世啦,升级以后要打包并上传未完的项目,但是每次提交之后都是无效版本,这是什么情况呢。。。登上QQ邮箱去看下有什么消息,果然苹果发来了邮件,里面提到了We have discovered one or more issues with your recent delivery for "xxxxx". To process your delivery, the f

2016-10-11 10:38:40 4271

原创 ios9兼容系列之解决iPad提交报错“iPad Multitasking support requires launch story board in bundle '”

链接:http://blog.csdn.net/chensjjj/article/details/48596803如题:博主提交ios9app时弹出以下提示:ERROR ITMS-90475: "Invalid Bundle. iPad Multitasking support requires launch story board in bundle 'xxxx'."ERROR IT

2016-10-08 18:56:31 1055

原创 iOS图形渲染解析

原文地址:http://www.cocoachina.com/ios/20160929/17673.html这次主要要讲一些关于绘图方面的东西,涉及的方面可能会比较多一点,也是前段时间项目中有不少这方面的知识所以花了点时间研究了一下。文章的内容主要分为两部分,第一部分是关于iOS上一个Chart的第三方库的一些进阶使用;第二部分是在第一部分上研究的iOS上的绘图原理以及性能方面的探索。这篇

2016-10-08 17:10:11 1523

原创 mysql 学习笔记

1.今天安装好mysql后,首先进入到mysql所在的bin目录,然后输入mysql就可以写sql语句了,写了一个show databases,可以看到已有的数据库表。2.创建一个table试试,结果报错了,原因是没有登陆数据库,第一步:修改密码 mysqladmin -u root password "new_password";第二步:链接本地数据库并输入密码m

2016-09-08 09:39:16 345

ios线程性能测试

接下来我们模仿一下这个耗时操作建立一个项目,当点击Start Working的时候会等待10秒然后显示内容,并在控制台输出耗时: 代码实例 ZYViewController.m

2013-11-19

从xib取自定义view

从xib取自己想要的view,自定义自己的view,省去打代码的功夫,直接xib托代码

2013-11-19

UIColor 类别

code4app上下载的代码,感觉非常有用,实现单色,并且支持扩展

2013-05-14

空空如也

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

TA关注的人

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