简述: message-digest algorithm 5(信息-摘要算法).经常说的“MD5加密”,就是它→信息-摘要算法. md5,其实就是一种算法.可以将一个字符串,或文件,或压缩包,执行md5后,就可以生成一个固定长度为128bit的串.这个串,基本上是唯一的. 不可逆性: 每个人都有不同的指纹,看到这个人,可以得出他的指纹等信息,并且唯一对应,但你只看一个指纹,是不可能看到或读到这个人的长相或身份等信息. 特点 压缩性:任意长度的数据,算出的MD5值长度都是固定的. 容易计算:从原数…
对于软件研发人员来说 MD5 不是一个陌生的词汇,平时的软件研发中,经常使用 MD5 校验消息是否被篡改.验证文件完整性,甚至将MD5当作加密算法使用. MD5虽不陌生,但不是所有研发人员都了解其算法原理,通过这篇文章详细学习MD5 摘要算法. 认识 MD5 掌握 MD5 算法原理 编码实现 MD5 摘要算法 使用Java开发语言 编码实现MD5摘要算法. 一.认识MD5 MD5(Message Digest Algorithm 5)中文名为消息摘要算法第五版,是计算机安全领域广泛使用的一种散列…
原论文:    http://learningsys.org/nips17/assets/papers/paper_11.pdf catboost原理: One-hot编码可以在预处理阶段或在训练期间完成.后者对于训练时间而言能更有效地执行,并在Catboost中执行. 类别特征: 为了减少过拟合以及使用整个数据集进行训练,Catboost使用更有效的策略. 1.对输入的观察值的集合进行随机排列,生成多个随机排列: 2.给定一个序列,对于每个例子,对于相同类别的例子我们计算平均样本值: 3.使用…
原论文: http://papers.nips.cc/paper/6907-lightgbm-a-highly-efficient-gradient-boosting-decision-tree.pdf lightgbm原理: gbdt困点: gbdt是受欢迎的机器学习算法,当特征维度很高或数据量很大时,有效性和可拓展性没法满足.lightgbm提出GOSS(Gradient-based One-Side Sampling)和EFB(Exclusive Feature Bundling)进行改进…
kNN(k-nearest neighbor algorithm)算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性.简单地说,K-近邻算法采用测量不同特征值之间的距离方法进行分类. - 优点:精度高.对异常值不敏感.无数据输入假定. - 缺点:计算复杂度高.空间复杂度高. - 适用数据范围:数值型和标称型. 举个简单的例子,一群男生和一群女生,我们知道他们的身高和性别. 如下表格: 身高 性别 165 女 16…
Stacking集成学习在各类机器学习竞赛当中得到了广泛的应用,尤其是在结构化的机器学习竞赛当中表现非常好.今天我们就来介绍下stacking这个在机器学习模型融合当中的大杀器的原理.并在博文的后面附有相关代码实现. 总体来说,stacking集成算法主要是一种基于"标签"的学习,有以下的特点: 用法:模型利用交叉验证,对训练集进行预测,从而实现二次学习 优点:可以结合不同的模型 缺点:增加了时间开销,容易造成过拟合 关键点:模型如何进行交叉训练? 下面我们来看看stacking的具体…
这个算法中文名为k均值聚类算法,首先我们在二维的特殊条件下讨论其实现的过程,方便大家理解. 第一步.随机生成质心 由于这是一个无监督学习的算法,因此我们首先在一个二维的坐标轴下随机给定一堆点,并随即给定两个质心,我们这个算法的目的就是将这一堆点根据它们自身的坐标特征分为两类,因此选取了两个质心,什么时候这一堆点能够根据这两个质心分为两堆就对了.如下图所示: 第二步.根据距离进行分类 红色和蓝色的点代表了我们随机选取的质心.既然我们要让这一堆点的分为两堆,且让分好的每一堆点离其质心最近的话,我们首…
Logistic Regression Classifier逻辑回归主要思想就是用最大似然概率方法构建出方程,为最大化方程,利用牛顿梯度上升求解方程参数. 优点:计算代价不高,易于理解和实现. 缺点:容易欠拟合,分类精度可能不高. 使用数据类型:数值型和标称型数据. 介绍逻辑回归之前,我们先看一问题,有个黑箱,里面有白球和黑球,如何判断它们的比例. 我们从里面抓3个球,2个黑球,1个白球.这时候,有人就直接得出了黑球67%,白球占比33%.这个时候,其实这个人使用了最大似然概率的思想,通俗来讲,…
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主流编程语言普遍已有MD5实现. 1.MD5算法简介 MD5在90年代初由MIT的计算机科学实验室和RSA Data Security Inc发明,经MD2.MD3和MD4发展而来. MD5将任意长度的“字节串”变换成一个128bit的大整数,并且它是一个不可逆的字符串变换算法,换句话说就是,即使你看到源程序和算法描述,也无法将一个…
1 什么是MD5 信息摘要算法,可以将字符进行加密,每个加密对象在进行加密后都是等长的 应用场景:将用户密码经过MD5加密后再存储到数据库中,这样即使是超级管理员也没有能力知道用户的具体密码是多少:因为MD5加密后的数据时不能够被解密的 步骤: >获取MessageDigest对象 MessageDigest md5 = MessageDigest.getInstance("MD5"); 注意:import java.security.MessageDigest; >通过M…