数学概率的那些“差”

原创 2018-04-21 11:47 阅读(102)次
平均数,一般用字母μ表示 算数平均数 ,mean,表达的都是同一种意思,一般是指 不过还有加权平均数,即每项都有不同权重值。即 标准差,一般用字母σ表示   方差,variance  为总体方差,  为变量,  为总体均值,  为总体例数。

靠脑网介绍

原创 2018-04-21 11:43 阅读(286)次
我是一个有着12年IT从业经验的程序员,入行几年主攻JAVA,大数据,对机器学习,深度学习,人工智能方面有一定的学习研究。做靠脑网是初衷是将自己学习的一些笔记分享出来。本人能力有限,理工男语言表达能力一般,所以文字中难免有不少口语话的文字组合,请谅解。 有很多研究过的东西随着时间遗忘了,有很多正在研究的东西还没时间写下来。我会慢慢去增加这个网站的内容,请大家能时不时想起这个网站来看几眼而放入收藏夹中,或许就有你想要的只是。 如果你对靠脑网上分享的内容有兴趣或者有异议,可加QQ群咨询,提问,指正。 靠脑网技术交流群 群   号:772724726 入群请带上验证信息...

hadoop问题处理——namenode失去和datanode连接的问题

原创 2018-04-20 11:52 阅读(256)次
hadoop已经用了好多年,在现在的公司也一直是用hdfs来存放并计算日志。 原始数据持续写入hdfs,也周期性的读取hdfs数据(mapreduce后的结果)。 但有个问题困扰我很久,最近发现了原因: 2018-04-20 11:25:07,114 WARN org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicy: Failed to place enough replicas, still in need of 3 to reach 3. For more information, please enable D...

矩阵和向量的转换

原创 2018-04-18 02:17 阅读(116)次
向量是维度N*1的矩阵,是一种特殊的矩阵 不过在机器学习计算中,经常需要把矩阵和向量互相转换。比如神经网络中的fminunc方法的使用就需要把矩阵作为向量传递(方法约定参数和返回值都是向量)。这就想我们需要符合方法参数的定义把单个对象放到List或者set进行传递一样。 假设有1个或者多个矩阵,要变成一个向量vector = [matrix1(:);matrix2(:)] 如上,将matrix1和matrix2中的元素遍历出来放在, 每个元素都作为矩阵中的一行b = [1:1:3;2:2:6;3:3:9]; a = [1:1:3;2:2:6;3:3:9]; c = [a(:);b(:)];...

神经网络的cost function

原创 2018-04-12 23:53 阅读(120)次
神经网络作为一个机器学习算法,跟逻辑回归,线性回归一样,也可以通过最小化代价函数cost function J(θ)来求预测函数h(θ)的θ。 逻辑回归的正则化cost function是 神经网络的cost function 是从上面的公式推导的 因为神经网络中输出层节点的激活函数都逻辑回归。但神经网络的输出层可能是K个节点,也就是输出是一个K维向量,在计算cost function的时候我们需要把这K维的值的cost都累加起来。 而正则项部分,因为神经网络中每个上层节点到下层节点都有权重(或者叫参数θ),所以需要都把他们加上,但不加上bias项的参数,这和逻辑回归是一样的,因为bias的...

神经网络实现多分类的思路

原创 2018-04-12 17:34 阅读(341)次
在逻辑回归算法的分类问题中,我们提到过    多分类问题的求解思路。 在神经网络中,思考的方向也是一样的。 即是给预测的类别(预测概率最高的类别)为1,其他分类为0来表示。 神经网络中的实现思路 是在输出层做出N个节点(N为类别总数),这样在输出不在是一个数,而是一个N维向量,这个向量在预测认为最有可能的分类对应的维度上表示为1,其他维度上表示为0. 如      被认为是第2类别。 但第几个类别不是我们空谈,需要训练样本支持,也是就是学习的训练样本的y值也应该是一个N维矩阵,并仅在认为的类别对应的维度上表示为1,其他为0。 如...

梯度下降法处理正则化后的逻辑回归,解决过拟合

原创 2018-04-08 01:00 阅读(126)次
逻辑回归的代价函数是 这个可以看  分类之逻辑回归的代价函数costfunction 过拟合问题和正则化可以看这里       欠拟合,过拟合问题     正则化-解决过拟合 正则化后就是加入了惩罚项:  带入梯度下降法     得到 这和线性回归部分看似相同,但记得h(θ)是sigmoid函数,而线性回归h(θ)是线性方程。 会发现,其实是在θj的部分,多乘上一个 ,而由于α , λ , m 皆为正数,所以实际上每进行一个梯度下降的循环,θj都缩小一些。而后面...

正规方程法处理正则化后的线性回归,解决过拟合

原创 2018-04-08 00:00 阅读(314)次
没有正则化的线性回归正规方程法可以看这边 : 线性回归之正规方程法求解 正规方程法是通过 这个推导出的,现在  带入求导可推出(推导过程略,都是数学的东西) andrew ng在他的视频中推导出了结果: 跟未正则化的正规方程法相比,增加了λ 和一个 (n+1)* (n+1)的矩阵的相乘,n是样本的特征项数。 这个矩阵和单元矩阵略有不同,差别是第1行第1列的位置为0而不是1。 本文完。 本站作品的版权皆为作品作者所有。本站文字和内容为本站编辑或翻译,部分内容属本站原创,所以转载前务必通知本站并以超链接形式注明内容来自本站,否则以免带来不必要的麻烦。本站内容欢迎分...

梯度下降处理正则化后的线性回归,解决过拟合

原创 2018-04-07 23:12 阅读(201)次
过拟合问题 和正则化 在   欠拟合,过拟合问题  和 正则化-解决过拟合  中解释过。 现在我们要把正则化应用到线性回归算法中来解决可能出现的过拟合问题。 就是把           带入到梯度下降   更正: 在这里的J(θ0,θ1)  应该是 J(θ) 中 得到 可以看出来,θ0的梯度下降是跟之前未加入正则化的时候一样的。这也符合了我们正则化-解决过拟合  提到的,惩罚项不包过θ0的说法。 j 输入1到n的部分,可以将θj提取出来得到...

正则化-解决过拟合

原创 2018-04-07 16:20 阅读(123)次
过拟合的问题我已经介绍过了: 过拟合 我们知道过拟合的表征就是预测函数有太多高阶项比如3次方,4次方,或者更高。那我们可以通过降低或者去除这些项来解决过拟合问题,正则化的本质是为了简化预测函数的模型,使函数曲线更平滑,而减少这些高次项带来的过拟合。 由于h(x)是一个以x为自变量的函数,我们无法控制输入的数据x,所以简化函数的手段就是去减少或者去除某些参数θk。 去除高次项需要一些正确人工判断,人工就存在主观,可能带来错误,把一些对正确预测结果有帮助的特征项(但可能帮助很小,但却被扩大而造成过拟合)去掉。此时减少这些被扩大的影响比去除掉此特征项更合适。 在做预测函数h(x)求参数θ解...

Base58,Base58check

原创 2018-04-06 17:01 阅读(231)次
Base58是跟Base64基本一致的编码方式,区别是去除了Base64中6个容易产生歧义的字符。所以64-6=58。故名Base58。 这6个字符是数字"0",字母大写"O",字母大写"I",和字母小写"l",以及"+"和"/"符号。 比特币癿Base58字母表:123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz Base64的编码见这里 : Base64 比特币私钥最原始的格式是256位的二进制,...

Base64

原创 2018-04-05 18:54 阅读(100)次
本文参考了:http://blog.xiayf.cn/2016/01/24/base64-encoding/    此文写得很清楚 Base64算法是一种编码方式。 为什么叫base64,因为他使用64个字符来对任意数据进行编码,同理有Base32、Base16编码,当然还有Base58这个比特币用的编码。 这64个字符是各种字符编码(比如ASCII编码)所使用字符的子集,并且可打印。你可以认为这是64个各种编码中通用的字符。 不过由于最后两个字符(即62,63数字对应的字符)"+","/"是 会被url直接转义的符号,因此如果希望通...

比特币-加密,私钥,公钥,地址

原创 2018-04-04 17:24 阅读(116)次
比特币的安全主线是通过私钥生成公钥,公钥生成地址。由于这些过程大量使用了hash算法,所以无法反推出私钥,来保证比特币不会被盗取。 先说私钥生成 私钥其实一组随机数,256位的二进制数,必须妥善保存。如果丢了或者给别人,那上面的比特币就丢失或者被别人支配了。这个256位的2进制的生成其实就是在1到2的256次方个数字(其实是略少于这个范围,有一些被排除了,因个数量已经超过了宇宙中原子的总数,想要遍历所有的私钥,耗尽整个太阳的能量也是不可能的)中选一个数字出来。这个数字的选取无法预测。不要用程序提供的简易随机数生成器来生成这个随机数,必须是密码学安全的伪随机数生成器。 不要自己写代码或者用开发语...

欠拟合,过拟合问题

原创 2018-04-03 15:56 阅读(117)次
所谓欠拟合就是预测函数h_θ(x)的cost function(loss function)过大,没有和训练样本较好的拟合在一起,本质上是机器学习还没有学习到训练数据的特征中隐含的关系。往往初期的预测函数都是欠拟合的。随着减少cost function的,h_θ(x)会逐渐拟合训练数据。通俗的说就是预测函数还很不准确(不可用)的阶段。经过梯度下降等算法计算后依然欠拟合的话,可能的原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大(high bias)。解决方法: 1. 添加其他特征项,有时候我们模型出现欠拟合的时候是因为特征项不够导致的,可以添加其他特征项来很好地解决。例如,...

octave 求最值的优化方法fminunc

原创 2018-04-02 18:07 阅读(195)次
octave(matlab)中有一个fminunc方法,可以用优化算法进行求解,算法有BFGS,L-BFGS,共轭梯度法等。 fminunc有个限制,就是指能用来求参数大于等于2的(也就是二元或二元以上方程)。 如果要求一元方程的最值求解,要用fminbnd方法,本文不涉及。 fminunc方法接受2个或者3个参数: 1.  FCN     指向需要求最值的函数的指针 2.  X0        初始的参数值,可以假设如(0;0) 3.  OPTIONS  &nbs...

用优化算法解线性回归

原创 2018-04-02 17:51 阅读(140)次
之前介绍过用梯度下降法和正规方程法求解线性回归。 本文将介绍用优化算法求解线性回归。 优化算法有很多种,见 优化算法清单,时间有限,我还在学习和补充中。优化算法中的其中一种就是求最值问题。线性回归的求解思路就是把cost function求最小化。 因为线性回归只有一个特征项的时候,但对应的函数为  ,我们会对应一个2*1矩阵的参数对应,第一个参数θ_0恒等于1,也就是大于等于2维的参数矩阵。 此时需要使用fminunc方法, 方法介绍见   octave 求最值的优化方法fminunc 直接上代码 步骤1,定义需要优化的线性回归的代价函数 funct...

数学-极大似然估计

转载 2018-04-02 00:30 阅读(102)次
这是一个基于概率的算法。 转自百度百科的原理  极大似然估计 它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现的概率P(A)较大。极大似然原理的直观想法我们用下面例子说明。设甲箱中有99个白球,1个黑球;乙箱中有1个白球.99个黑球。现随机取出一箱,再从抽取的一箱中随机取出一球,结果是黑球,这一黑球从乙箱抽取的概率比从甲箱抽取的概率大得多,这时我们自然更多地相信这个黑球是取自乙箱的。一般说来,事件A发生的概率与某一未知参数&...

区块链的应用-电商

原创 2018-03-27 16:51 阅读(96)次
现在,电子商务意味着使用中心化的服务。eBay、亚马逊和其它大公司对卖家实施严格监管,而且收取不菲的费用。这些公司只接受像信用卡和PayPal这样的对卖家和买家都收取手续费的支付方式。他们需要用户的个人信息,这些信息可能被盗取或者卖给其他人,用于精准投放广告或者危害更大的滥用。因为电子商务公司和政府审查所有的交易商品和服务,所以买家和卖家不能总是自由地进行交易。 传统情况下,电商平台起到了中介的作用,一旦发生纠纷,会作为第三方机构进行审判。这种模式存在着周期长、缺乏公证、成本高等缺点。 但出现了OpenBazaar(公开市场)是为网上点对点(P2P)交易创建的去中心化网络的开源项目。 Open...

区块链的应用-供应链

原创 2018-03-27 02:12 阅读(95)次
每样我们可以购买的东西背后都有一个故事:人,材料,地点的变化过程。但是这些都往往是顾客不知道的,他们被隐藏在了营销之后,展现给消费者的少之又少。 开源的分散式数据库---区块链可以让消费者检查产品的真实性和道德标准。 现在,越来越多的消费者要求在产品的制造地点和方式方面拥有真正的透明度。 最近欧盟的监管要求企业发布更多有关其供应链的信息,并采取措施确保对不符合规定的人给予适当的惩罚。 但即使消费者认知度和新监管水平提高,确保产品监管链的真实性和透明度也很困难。 区块链的特点带来了供应链上的更大的透明度。 第三方的监管对于供应链并不能解决所有问题,如果是供应链参与者,反而带来的偏见或者弱点,会出...

Merkle Signature Scheme(merkle树)

原创 2018-03-26 11:39 阅读(177)次
merkle树是是一种哈希二叉树,它是一种用作快速归纳和校验大规模数据完整性的数据结构。 Merkle Signature Scheme 是hash密码学中基于merkle树和一次性签名(one-time signatures ,如Lamport signature)的的数字签名方案。 70年代开发,是数字签名算法或者RSA的替代品。 主要的特点是可以抵抗量子计算算法。 传统的公钥算法,如RSA和EIGamal 因为量子计算机(quantum computer)的出现而变得不安全(由于shor's 算法)。 而Merkle Signature Scheme 只依赖于hash...

Preimage Attack

原创 2018-03-26 00:13 阅读(151)次
在密码学中,Preimage Attack是针对密码散列函数(hash function)的试图找到具有特定散列值的消息。 密码散列函数应该抵抗对其原像的攻击。 根据维基百科的解释,针对Preimage Attack的“防御”分为两种: 1. preimage resistance : 给了output,计算上不可能反推出input 2. second-preimage resistance: 指定input,没有另外一个input2会产生同样的output 。 可以看出 Preimage Attack共两种,而Second Preimage Attack 是一种碰撞攻击(col...

Lamport signature

原创 2018-03-25 13:24 阅读(116)次
lamport signature 是一种数字签名方法。使用单向的安全加密函数来构建,一般用hash函数。 目前基于large hash function 的lamport signature是安全的。 但缺点是lamport signature只能签署单个消息。但可以通过结合hash trees就可以用于多个消息。目前他是相当有效的一种数字签名方案。 leslie发明于1979年。 这里参考了维基百科。 他的原理: 首先创建lamport key pair(秘钥对)。使用随机数生成器生成256对随机数(256对就是512个)。每个随机数字的大小是256位,所以总共是512*256 bits&...

数学-最小二乘法

转载 2018-03-23 16:54 阅读(104)次
我这里转载知乎上 司马懿 的回答,我个人认为通俗易懂,写得非常好。原文地址在 知乎-最大似然估计和最小二乘法怎么理解?的回答 设想一个例子,教育程度和工资之间的关系。我们观察到的数据无非就是一个教育程度,对应着一个工资。我们希望的自然是找到两者之间的规律:如果把教育程度的初中、高中、大学、研究生及博士定义为1234的话,我们希望找到类似于工资=1000 +2000x教育程度  的这种规律,其中1000和2000是我们需要从数据里面发现的,前者称之为底薪,后者称之为教育增量薪水。 如果我们就观察到两个数据,那解起来很简单,直接把两个数据带进去,二元一次方程组,就得到底薪和教育...

数学-arg

原创 2018-03-23 16:24 阅读(90)次
公式中常见到 arg min()  或者 arg max() 他们的含义是 argument of the maximum/minimum。 即 arg max f(x): 当f(x)取最大值时,x的取值集合 arg min f(x):当f(x)取最小值时,x的取值集合 如:    f(x)  = 1 - |x|   .         arg max f(x)  就是 {0} ,  因为当x = 0 的时候, 1-|x| = 1 是f(x)的极限。 如果...

数学-范数

转载 2018-03-22 17:43 阅读(123)次
范数分为   向量范数和矩阵范数。范数,是具有“长度”概念的函数。 参考:https://blog.csdn.net/zouxy09/article/details/24971995   https://blog.csdn.net/jack_20/article/details/72896459   https://www.zhihu.com/question/20473040          引用了其中很多学习到的内容 向量范数:  对N维度的空间中任意一个向量X,按照一定的法...

数学-线性,非线性

转载 2018-03-22 17:12 阅读(108)次
在机器学习中,经常讨论线性和非线性,这是一个入门级扫盲,我记录下来完全是自己查阅。 我查看了不同的一些网上说法,选择这个解释 转载自:  https://zhidao.baidu.com/question/94379061.html 线性linear,指量与量之间按比例、成直线的关系,在空间和时间上代表规则和光滑的运动; 非线性non-linear则指不按比例、不成直线的关系,代表不规则的运动和突变。 线性:指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数; 非线性:则指不按比例、不成直线的关系,一阶导数不为常数。 线性关系:两个变量之间存在一次方函...

数学概念- 矩阵特征值,特征向量

原创 2018-03-22 17:00 阅读(108)次
笔者深入地学习机器学习后,发现多年前的数学已经都还给了老师。还有一些是没有学习过的知识。 这里我打算我需要重新确认的数学知识记录下来。 但我能力有限,很多是转载,在这里先感谢那些在网上编写这些数学知识的达人。 矩阵特征值和特征向量我反正是还给老师了,重新学习后,感觉还是需要一些生动的比拟来解释。 这些是我结合知乎和CSDN上的内容的整合。 定义: 设A是n阶矩阵,如果数λ和n维非零向量x使关系式    成立,那么,这样的数λ称为矩阵A的特征值,非零向量v称为A的对应于特征值λ的特征向量。 首先得先弄清矩阵的概念:一个矩阵代表的是一个线性变换规则,而一个矩阵的乘法运行代表...

共轭梯度法

原创 2018-03-22 10:26 阅读(102)次
参考了百度文库的此文,加以个人理解:https://wenku.baidu.com/view/593769d8a76e58fafbb00393.html 无约束最优化问题,即为在不对所求问题定义域或值域做任何限制情况下,对目标函数求最小值的一类问题。 简单说就是 y=f(x)的函数,就是对x,y都没有限制,求f(x)最小值的问题。 无约束最优化问题的求解方法大多是采用逐次一维搜索的迭代算法。这类迭代算法可分为两类。一类需要用目标函数的导函数,称为解析法;另一类不涉及导数,只用到函数值,称为直接法。 看我的 梯度下降法  一文的很快会发现梯度下降就是第一类。 其中属于解析型的...

线性回归之正规方程法求解

原创 2018-03-20 21:05 阅读(130)次
在 线性回归用梯度下降求解 中我们用梯度下降法求出了结果。 但线性回归还有另外一种更便捷的方法,正规方程法,Normal Equation。 θ=(XTX)−1XTy 用这个公司,可以直接求出Θ参数矩阵,从何得到h(x). 其中X表示了m条记录的样本数据,每条记录有n个特征项。 所以X就是 m*(n+1) 的矩阵 , X的转置就是(n+1) * m矩阵。 y 是训练数据的目标特征向量,即是m*1 的矩阵。 因此   XTX      是 (n+1)*(n+1) 矩阵, 他的逆矩阵就 (n+1)*(n+1)的矩阵,...

多分类问题的求解思路

原创 2018-03-19 18:21 阅读(116)次
在 机器学习之分类入门 一文中,我们介绍过分类问题中有多分类的问题,在之前的介绍中,我们更多的都是在寻找二分类的问题的决策边界。在二维坐标系中,二分类的决策边界是一条直线,3D坐标系,决策边界是一个平面。 而多分类问题,假设类别有1,2,3,4   四种分类,四种分类的样本分布在二维坐标系中,此时是无法只用一条线把多种分类划分出来。但我们换位思考,我们把这些样本看成类别1和其他类别(包含了类别2,3,4) -----  两种分类,那就可以用一条线把类别1,和其他类别-1划分出来。同理,我们把样本看成类别2和其他类别(包含了类别1,3,4),那我...