HDFS架构

HDFS(Hadoop Distributed File System)是一个运行在商用机器上面的分布式文件系统,其设计思想来自于google著名的Google File System论文。 HDFS的设计目标:为何产生HDFS? 由于数据量的急剧增大,原有的单机多磁盘因为速度,存储量等原因,已经远远无法满足要求,HDFS应运而生。 HDFS解决的痛点: 1. 高容错性:HDFS设计运行在成百上千的机器上,任何一台机器都有可能随时发生损坏,这要求HDFS能够随时应对机器故障。 2. 流式数据访问:HDFS适用于批处理而非用户即时交互;高吞吐量而非低数据访问延迟; »

比快更快——微软LightGBM

LightGBM介绍 xgboost是一种优秀的boosting框架,但是在使用过程中,其训练耗时过长,内存占用比较大。微软在2016年推出了另外一种boosting框架——lightgbm,在不降低准确度的的前提下,速度提升了10倍左右,占用内存下降了3倍左右。详细的实验结果参见:LightGBM experiment.其令人印象深刻的特点有: 将连续的特征值转化为离散的直方图,利用直方图进行节点的分裂,牺牲了一定的准确度换取了训练速度和内存空间的优化。 相对于xgboost的level—wise的生长策略,lightgbm使用了leaf-wise树生长策略。由于level-wise在分裂时,部分增益小的树也得到了增长,虽然容易控制误差,但是分裂有时是不合理的,而lightgbm使用level-wise,只在增益大的树上分裂生长, »

xgboost原理

xgboost和gdbt 在科学研究中,有种优化方法叫组合,将很多人的方法组合在一起做成一个集成的方法,集百家之长,效果一般就会比单个的好,这个方法就是集成学习。集成学习将弱学习算法通过组合提升为强学习算法。这要求每个弱学习方法要具有一定的准确性,并且之间具有差异性,即集成学习,关键在于各个弱分类器“好而不同” 在众多的单模型中,决策树由于训练复杂度低,预测的过程比较迅速,模型解释性强,所以常常作为弱学习方法进行组合,但是决策树容易过拟合,这可以通过剪枝来解决。 集成学习有很多方法,bagging方法和boosting方法。bagging方法中,基分类器之间无强依赖,可并行;boosting方法中, »

xgboost参数及调参

常规参数General Parameters booster[default=gbtree]:选择基分类器,可以是:gbtree,gblinear或者dart。gbtree和draf基于树模型,而gblinear基于线性模型。 slient[default=0]:是否有运行信息输出,设置为1则没有运行信息输出。 nthread[default to maximum number of threads available if not »

线性回归中的抗过拟

过拟合是机器学习的模型建立中,由于独立同分布的假设可能并不成立,为了提高模型泛化的能力(推广到未知数据的能力),所以必须在训练模型中抗过拟。 过拟合一直是机器学习中比较头疼的问题。常用的方法有:正则化Regularization(在目标函数或者代价函数加上正则项),early stopping,数据集扩增Data augmentation,Dropout等。参见:机器学习中防止过拟合的处理方法 具体到线性回归,求解线性回归的方法主要是最小二乘法ols(Ordinary Least Square),防止过拟合的方法主要通过添加正则项,主要有岭回归(二范数正则化)和Lasso回归(一范数正则化) »