
机器学习
baidu-liuming
机器学习 深度学习 大数据 自然语言处理 linux python shell hive 算法
展开
-
Boosting方法中的特征重要度
来源三个文档: DecisionTree, XGBoost, LightGBM。Decision Tree地址:DecisionTreeClassifierfeature_importances_ : array of shape = [n_features]The feature importances. The higher, the more important the featu...转载 2019-04-26 19:10:51 · 1002 阅读 · 0 评论 -
PCA
数据降维降维:在保证数据本质的前提下,将数据的维度降低。PCA的概念PCA的思想是将nnn维特征映射到kkk维上,这kkk维是全新的正交特征。PCA算法流程去平均值:每一维特征减去各自的平均值计算协方差矩阵计算协方差矩阵的特征值和特征向量对特征值从大到小排序,保留特征值最大的kkk个特征向量,组成特征向量矩阵。将样本点投影到选取的特征向量上。减去均值后的...原创 2018-04-01 15:23:35 · 207 阅读 · 0 评论 -
k-means聚类算法
聚类算法聚类算法是一种典型的无监督学习算法,该算法将样本划分为若干个不相交的簇。聚类结果簇内相似度高,簇间相似度低。常用的相似度计算方法为欧氏距离。 常用的聚类算法有:原型聚类、层次聚类、密度聚类k-means算法k-means算法首先随机选取k个质心,计算每个样本和k个质心的相似度(欧氏距离),选择相似度最高的质心所在的簇作为该样本的类别,形成k个簇。然后重新计算每个簇的质心(当前...原创 2018-04-01 19:52:56 · 13484 阅读 · 0 评论 -
常用的求距离公式
欧氏距离 D1,2=(x1−x2)2+(y1−y2)2‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾√D1,2=(x1−x2)2+(y1−y2)2D_{1,2}=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}曼哈顿距离 D1,2=|x1−x2|+|y1−y2|D1,2=|x1−x2|+|y1−y2|D_{1,2}=|x_1-x_2|+|y_1-y_2|切比雪夫距离 D1,2=...原创 2018-04-01 19:10:30 · 3814 阅读 · 0 评论 -
期望、方差、标准差、偏差、协方差和协方差矩阵
期望 一件事情有n种结果,每一种结果值为xixix_i,发生的概率记为pipip_i,那么该事件发生的期望为: E=∑i=1nxipiE=∑i=1nxipiE=\sum_{i=1}^{n}{x_i}{p_i} 方差 S2=1n∑i=1n(Xi−μ)2S2=1n∑i=1n(Xi−μ)2S^2=\frac{1}{n}\sum_{i=1}^{n}{(X_i-\mu)}^2 其中:μμ\...原创 2018-04-01 10:59:09 · 4488 阅读 · 0 评论 -
“分类”和“回归”问题的区别
其实分类和回归的本质是一样的,都是对输入做出预测,其区别在于输出的类型。分类问题:分类问题的输出是离散型变量(如: +1、-1),是一种定性输出。(预测明天天气是阴、晴还是雨) 回归问题:回归问题的输出是连续型变量,是一种定量输出。(预测明天的温度是多少度)。...原创 2018-03-21 21:14:09 · 34942 阅读 · 8 评论 -
xgboost原理
文章内容可能会相对比较多,读者可以点击上方目录,直接阅读自己感兴趣的章节。1.序 距离上一次编辑将近10个月,幸得爱可可老师(微博)推荐,访问量陡增。最近毕业论文与xgboost相关,于是重新写一下这篇文章。 关于xgboost的原理网络上的资源很少,大多数还停留在应用层面,本文通过学习陈天奇博士的PPT、论文、一些网络资源,希望对xgboos...转载 2018-03-31 16:31:14 · 476 阅读 · 0 评论 -
深入理解logistic回归
本文目录如下:逻辑回归逻辑回归1.逻辑回归1.1 逻辑回归概念1.2 判定边界1.3 二项逻辑回归1.4 逻辑回归的求解1.5 极大似然函数1.5.1 极大似然估计的特点1.5.2 求解极大似然函数的步骤:1.5.3 极大似然估计求解实例:1.6 代价函数和损失函数1.7 几率和对数几率1.8 梯度下降1.9 逻辑回顾的优缺点...原创 2018-03-21 18:55:29 · 1134 阅读 · 0 评论 -
GBDT学习算法
GBDT(Gradient Boosting Decision Tree)又叫 MART(Multiple Additive Regression Tree),是一种迭代的决策树算法,该算法由多棵决策树组成,所有树的结论累加起来做最终答案。它在被提出之初就和SVM一起被认为是泛化...转载 2018-03-31 10:54:23 · 742 阅读 · 0 评论 -
正定矩阵和半正定矩阵
实对称矩阵如果有nnn阶矩阵AAA,其各个元素都为实数,矩阵AAA的转置等于其本身(aij=aji)(aij=aji)(a_{ij}=a_{ji}),则称AAA为实对称矩阵正定矩阵假设AAA为nnn阶实对称矩阵,对于任何非零向量XXX,都有XTAX>0XTAX>0X^TAX>0,其中XTXTX^T表示XXX的转置,就称AAA为正定矩阵,称XTAXXTAXX^TAX为正定...原创 2018-03-27 10:19:28 · 6783 阅读 · 0 评论 -
支持向量机
支持向量机的概念支持向量机是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器;支持向量机还包括核技巧,这使它成为非线性分类器。 SVM学习策略:SVM的学习策略为间隔最大化,可形式化为一个凸二次规划问题的求解,也等价于正则化的合页损失函数的最小化问题。 支持向量机的学习算法是求解凸二次规划的最优化算法。支持向量机和感知机的区别感知机采用了误分类最小策略来求得分离超平...原创 2018-03-27 16:16:43 · 824 阅读 · 0 评论 -
ModuleNotFoundError: No module named 'sklearn.cross_validation'
在使用anaconda写Python代码,运行from sklearn.cross_validation import train_test_split时报错:ModuleNotFoundError: No module named ‘sklearn.cross_validation’上网查阅资料后发现问题:sklearn.cross_validation是sklearn老版本的模块,新...转载 2019-03-21 17:40:48 · 516 阅读 · 0 评论 -
AWK实现两文本关联join
背景: join是数据处理领域中非常经典的技巧,绝大多数数据库都支持该用法,现在我们研究下AWK命令是如何实现 join的~我们先看看awk中的两个自身变量,NR 和 FNR。 awk可以指定同时读取多个文件,按照指定的先后顺序,逐个读取。NR 指的是awk所读取到所有记录(包括多个文件)的行数索引号...转载 2019-03-12 20:31:46 · 512 阅读 · 1 评论 -
机器学习sklearn19.0——Logistic回归算法
一、Logistic回归的认知与应用场景Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素之间关系的一种多变量分析方法。通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是否患有某种病。二、LR分类器LR分类器,即Logistic Regression Classifier。在分类情形下,经过学...转载 2019-03-12 20:18:59 · 2050 阅读 · 1 评论 -
类别不平衡问题之SMOTE算法(Python imblearn极简实现)
类别不平衡问题类别不平衡问题,顾名思义,即数据集中存在某一类样本,其数量远多于或远少于其他类样本,从而导致一些机器学习模型失效的问题。例如逻辑回归即不适合处理类别不平衡问题,例如逻辑回归在欺诈检测问题中,因为绝大多数样本都为正常样本,欺诈样本很少,逻辑回归算法会倾向于把大多数样本判定为正常样本,这样能达到很高的准确率,但是达不到很高的召回率。类别不平衡问题在很多场景中存在,例如欺诈检测,风控识...转载 2019-03-11 17:20:29 · 3620 阅读 · 4 评论 -
PCA为什么要进行中心化
如果没有对数据做中心化,那算出来的第一主成分的方向可能就不是一个可以“描述”(或者说“概括”)数据的方向了。还是看图比较清楚。 黑色线就是第一主成分的方向。只有中心化数据之后,计算得到的方向才能比较好的“概括”原来的数据。...原创 2018-05-08 11:06:11 · 14371 阅读 · 6 评论 -
机器学习评价指标
分类模型的评价标准混淆矩阵混淆矩阵是除了ROC曲线和AUC之外的另一个判断分类好坏程度的方法。下面给出二分类的混淆矩阵 Predicted as Positive Predicted as Negative Labeled as Positive True Positive(TP) False Negative(FN) Labeled a...原创 2018-05-05 21:31:58 · 3072 阅读 · 0 评论 -
分类过程中类别不平衡问题解决方法
第一种情况以二分类为例,若两种类别数量都很大。对大样本采用欠采样。第二种情况以二分类为例,若两种类别数量不大。 1. 扩大数据集 在增加小样本数据时,又增加大样本数据。 2. 小样本通过SMOTE算法过采样,大样本通过EasyEnsemble过采样 SMOTE算法: a. 对于每个小样本a,从他的最近邻中随机选择一个样本b b. 在a和b的连线上随机选择一点作为新的少数...原创 2018-04-27 15:33:20 · 1948 阅读 · 0 评论 -
[特征工程]--缺失值处理
目前常用的三类处理方法: 1. 用平均值、中值、分位数、众数、随机值等替代。效果一般,因为等于人为增加了噪声。 2. 先根据欧式距离或Pearson相似度,来确定和缺失数据样本最近的K个样本,将这K个样本的相关feature加权平均来估计该样本的缺失数据。 3. 将变量映射到高维空间 a.对于离散型变量:男、女或缺失的情况,采用One-hot编码,映射成三个变量,是否男、是否女、是否缺失;...原创 2018-04-27 14:18:24 · 2789 阅读 · 0 评论 -
特征处理和特征选择
特征处理之统计特征历届的Kaggle/天池比赛,天猫/京东排序和推荐业务线里模型用到的特征 1.加减平均:这个用户所买商品高于所有用户购买商品平均价格的多少(权衡一个人的消费能力),用户连续登录天数超过平均多少(表明这个用户对该产品的黏性) 2.分位线:商品属于售出商品价格的多少分位线处。(比如20%,说明20%的人买东西都不会低于这个价格)。 3.次序型:排在第几位。 4.比...原创 2018-04-13 10:59:47 · 10562 阅读 · 0 评论 -
感知机
感知机感知机模型感知机解决的问题: 感知机是解决二分类问题的线性分类模型。感知机学习目标是求得一个能够将训练集正实例点和负实例点完全正确分开的分离超平面。为此,导入基于误分类的损失函数,分离超平面的确定由求得损失函数极小值确定。感知机是神经网络与支持向量机的基础。感知机模型函数 f(x)=sign(wx+b)f(x)=sign(wx+b)f(x)=sign(wx+b) www...原创 2018-03-25 15:38:31 · 347 阅读 · 0 评论 -
决策树
决策树决策树模型决策树学习通常包括3个步骤:特征选择、决策树的生成和决策树的修剪。常用的算法有ID3、C4.5、CART算法。决策树由结点和有向边组成;内部节点表示特征和属性,叶节点表示一个类。特征选择准则特征选择准则有信息增益(ID3)、信息增益比(C4.5)、基尼指数(CART)。熵和条件熵熵(entropy):熵是随机变量不确定性的度量。 设XXX...原创 2018-03-25 00:30:42 · 428 阅读 · 0 评论 -
人工神经网络 和梯度下降
1. 什么是神经网络? 神经网络是一种数学模型,是存在于计算机的神经系统。由大量的神经元相连接并进行计算,在外界信息的基础上,改变内部结构,常用来对输入和输出间复杂的关系进行建模。2. 人工神经网络中的所有联结是固定不变的;3. 人工神经网络对比“讨糖果”:我们将很多吃糖的学习数据送入神经网络,糖的信号会作用到手,通过对比这次放入这套神经网络中,手的动作是不是“讨糖”的动作,来修改人工神经网...原创 2018-03-02 00:35:23 · 717 阅读 · 0 评论 -
机器学习的主要术语
1. 监督式学习:机器学习通过如何组合输入信息,来对从未见过的数据做出有用的预测2. 标签:要预测的事物y。(无标签的样本包含特征,但是不包含标签)3. 回归:可以预测连续值4. 分类:分类模型可以预测离散值。5. 训练模型:通过有标签样本来学习所有权重和偏差的理想值。6. 经验风险最小化:训练多个样本并尝试找出课最大限度地减少损失的模型...原创 2018-03-01 22:00:20 · 265 阅读 · 0 评论 -
机器学习--泛化能力
一. 什么是泛化能力? 泛化能力就是模型对未知数据的预测能力。在实际当中,我们通常通过测试误差来评价学习方法的泛化能力。二. 泛化误差的定义 大家很快就能发现,这不是损失函数的期望吗?没错,泛化误差就是所学习到的模型的风险函数或期望损失。如果一种方法学习的模型比另外一种方法学习的模型拥有更小的泛化误差,那么这种方法就更有效。...原创 2018-03-09 16:33:23 · 6425 阅读 · 0 评论 -
对L1正则化和L2正则化的理解
一、 奥卡姆剃刀(Occam's razor)原理: 在所有可能选择的模型中,我们应选择能够很好的解释数据,并且十分简单的模型。从贝叶斯的角度来看,正则项对应于模型的先验概率。可以假设复杂模型有较小的先验概率,简单模型有较大的先验概率。 二、正则化项 2.1、什么是正则化? 正则化是结构风险最小化策略的实现,在经验风险上加一个正则项或罚项,正则项一共有两种L1...原创 2018-03-09 11:20:11 · 12294 阅读 · 3 评论 -
过拟合和解决办法
在我们训练模型的时候经常会遇到过拟合和欠拟合的问题。我们的模型一开始是欠拟合的,正因为如此,才会有优化的空间,需要不断的调整算法来使得模型的表达能力更强。但是优化到一定程度,就需要解决过拟合问题了。1、过拟合:学习时选择的模型包含的参数过多,以致于出现这一模型对已知数据预测得很好,对未知数据预测得很差的现象。 图1.2给出了用多项式去拟合图中的数据点,M是多项式最高次数,图中的...原创 2018-03-09 00:13:52 · 2522 阅读 · 0 评论 -
统计学习方法论概念
1、统计学习包含监督学习、非监督学习、半监督学习和强化学习。2、监督学习:监督学习的任务是学习一个模型,使模型能够根据任意给定的输入,对模型的输出做出一个好的预测。 监督学习分为学习和预测两个过程,由学习系统和预测系统组成。3、损失函数和风险函数 损失函数和风险函数相关知识点 ...原创 2018-03-08 21:49:25 · 194 阅读 · 0 评论 -
机器学习中的损失函数和风险函数
1、损失函数:度量一次模型的好坏统计学习中常用的损失函数有如下几种: 1. 0-1损失函数(0-1 loss function) 预测正确,损失函数为0;预测错误,损失函数为1;该函数不考虑预测差别多少。 2. 平方损失函数: 取预测差距的平方 3. 绝对损失函数: 损失函数的绝对值 4. 对数损失函数或...原创 2018-03-08 20:40:24 · 2211 阅读 · 0 评论 -
数据预处理----独热编码(One-Hot Encoding)
在机器学习任务中,特征并不总是连续值,比如性别、国籍、婚姻情况,即使将这些将这些特征转化为数字,也不能直接用于机器用于分类器中,分类器默认所有特征是连续的,这些离散值会被直接当做连续型变量处理。**Case**——假定已知三个feature,三个feature分别取值如下:feature1=[“male”, “female”] 表示为[0, 1]feature2=[“from Eu...原创 2018-02-27 13:54:32 · 2694 阅读 · 2 评论 -
K近邻法--(KNN)算法的理解
一. 什么是K近邻法 给定一个训练数据集,对于新的输入实例,找到与该实例最邻近的K个实例,这K个实例大多数属于的某个类,就是这个实例所属的类别。 所以算法的前提是需要有一个已经被标记类别的训练数据集。二. KNN的三要素 2.1 K值的选取 (1)k值设置过少 k值设置过小会降低分类精度;若选择比较小的k值,只有和输入实例比较接近的点才会对预测结果产生影响。...原创 2018-03-09 20:25:57 · 602 阅读 · 0 评论 -
生动形象解释贝叶斯定理
一. 什么是贝叶斯 贝叶斯定理是一种在已知其他概率的情况下求概率的方法。 后验概率=先验概率*调整因子; 记忆方法:AB AB AB;即 AB=A*BA/B 贝叶斯中的各个概率对应的事件: P(A|B):在B发生的条件下A发生的概率 P(A) :A发生的概率 P(B) :B发生的概率 P(B|A): 在A发生的条件下B...原创 2018-03-09 21:31:36 · 1283 阅读 · 0 评论 -
对混淆矩阵、F1-Score
(一)混淆矩阵 混淆矩阵是除了ROC曲线和AUC之外的另一个判断分类好坏程度的方法。下面给出二分类的混淆矩阵 Predicted as Positive Predicted as Negative Labeled as Positive True Positive(TP) False Negative(FN) Labeledas Negativ...原创 2018-02-23 21:28:33 · 17011 阅读 · 0 评论 -
集成学习Boosting和Bagging和Stacking总结
集成学习集成相同的个体学习器,则该集成学习方法是“同质”的;若集成不同的个体学习器,则该集成是“异质”的。 集成学习要求个体学习器要“好而不同”,即个体学习器要有一定的“准确性”,并且要有“多样性”。但是,个体学习器的“准确性”和“多样性”本身就是冲突的。一般来说,准确性很高后,要增加多样性往往就要牺牲准确性,集成学习研究的核心恰恰是“好而不同”。 集成学习的分类: 1. 个体学习器之间...原创 2018-03-30 11:05:22 · 2143 阅读 · 0 评论 -
XGBoost模型参数
一. XGBoost参数类型 作者把所有的参数分成了三类:参数任务General Parameters (通用参数) 宏观参数控制Booster Parameters(模型参数)控制每一步的boosterLearning Task Parameters (学习任务参数)控制训练目标的表现二. 参数详情 2.1. 通用参数: 1. booster[默认gbtree] 选择...原创 2018-03-14 09:28:28 · 4866 阅读 · 0 评论 -
梯度下降法
梯度下降梯度下降的思想过程几个问题梯度下降梯度下降的思想 梯度下降就是用来求函数最小值的算法,我们将使用梯度下降算法来求出代价函数J(θ0,θ1)J(θ0,θ1)J(\theta_0,\theta_1)的最小值。 梯度下降思想:首先我们随机选择一个参数的组合J(θ0,θ1,...,θn)J(θ0,θ1,...,θn)J(\theta_0,\t...原创 2018-03-23 15:56:28 · 381 阅读 · 0 评论 -
python 结巴分词(jieba)学习
jieba“结巴”中文分词:做最好的 Python 中文分词组件"Jieba" (Chinese for "to stutter") Chinese text segmentation: built to be the best Python Chinese word segmentation module.Scroll down for English documentation.特点支持三种分...转载 2018-03-03 14:40:11 · 672 阅读 · 0 评论 -
带你彻彻底底搞懂朴素贝叶斯公式
本文参考了该博客的实例,但该博客中的朴素贝叶斯公式计算错误,评论中的也不对,所以,重新写一篇。一. 朴素贝叶斯 朴素贝叶斯中的朴素一词的来源就是假设各特征之间相互独立。这一假设使得朴素贝叶斯算法变得简单,但有时会牺牲一定的分类准确率。 首先给出贝叶斯公式: 换成分类任务的表达式: 我们最终求的p(类别|特征)即可!就相当于完成了我们的任务。 则,朴素贝特斯公式...原创 2018-03-10 17:29:50 · 98492 阅读 · 33 评论 -
条件概率分布、联合概率分布和边缘概率分布
一. 联合概率分布 小明玩扔飞镖,飞镖偏离靶心是不确定的,所以适合用概率模型来描述。先已知飞镖偏离靶心与标靶距离和风速都有关。假定标靶距离可以是10-20米,风速可以是1-10米/秒,现统计每个标靶距离、每个风速下,小明所扔飞镖小于1厘米的概率。距离(米)风速(米/秒)偏离小于1厘米的概率偏离大于1厘米的概率10199%1%11198%2%12197%3%……………………10289%11...原创 2018-03-10 11:01:30 · 18742 阅读 · 1 评论 -
在Python中使用LDA处理文本
说明:原文:http://chrisstrelioff.ws/sandbox/2014/11/13/getting_started_with_latent_dirichlet_allocation_in_python.html本文包含了上文的主要内容。关于LDA:LDA漫游指南使用的python库lda来自:https://github.com/ariddell/lda 。gensim库也含有ld...转载 2018-03-06 19:35:11 · 2226 阅读 · 2 评论