
机器学习
独自凌寒
这个作者很懒,什么都没留下…
展开
-
聚类算法Kmeans如何进行优化
支持向量机、逻辑回归、决策树等经典的机器学习算法主要用户分类问题,即根据一些给定类别的样本,训练某种分类器,使得它能够对类别未知的样本进行分类,与分类问题不同,聚类是在事先不知道任何样本类别标签的情况下,通过数据之前的内在关系把样本划分为若干类别,使得同类样本之间的相似度高,不同类别之间的样本相似度低。分类问题属于监督学习的范畴,而聚类问题属于非监督学习。K均值聚类,即K-means算法是最基...原创 2019-08-15 10:47:52 · 2763 阅读 · 0 评论 -
决策树模型 ID3/C4.5/CART算法比较
一、决策树的优点和缺点优点:决策树算法中学习简单的决策规则建立决策树模型的过程非常容易理解, 决策树模型可以可视化,非常直观 应用范围广,可用于分类和回归,而且非常容易做多类别的分类 能够处理数值型和连续的样本特征缺点:很容易在训练数据中生成复杂的树结构,造成过拟合(overfitting)。剪枝可以缓解过拟合的负作用,常用方法是限制树的高度、叶子节点中的最少样本数量。 学...原创 2019-08-07 16:04:55 · 259 阅读 · 0 评论 -
ID3、C4.5、CART三种算法优缺点比较
ID3D3算法十分简单,核心是根据“最大信息熵增益”原则选择划分当前数据集的最好特征,信息熵是信息论里面的概念,是信息的度量方式,不确定度越大或者说越混乱,熵就越大。在建立决策树的过程中,根据特征属性划分数据,使得原本“混乱”的数据的熵(混乱度)减少,按照不同特征划分数据熵减少的程度会不一样。在ID3中选择熵减少程度最大的特征来划分数据(贪心),也就是“最大信息熵增益”原则。同时这是最早提...原创 2019-08-07 15:50:29 · 9502 阅读 · 0 评论 -
ID3、C4.5、CART三种决策树的区别
决策树是如何工作的一棵决策树包含一个根结点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应一个属性测试;每个结点包含的样本结合根据属性测试的结果被划分到子结点中;根结点包含样本全集,从根结点到每个叶结点的每个叶结点的路径对应一个判定测试序列。决策树学习的目的是为了产生一棵泛化能力强,也就是能够处理未见实例的决策树。ID3决策树信息熵是度量样本集合纯度最常用的...原创 2019-08-07 15:39:15 · 528 阅读 · 0 评论 -
集成学习(Ensemble Learning)-bagging-boosting-stacking
基本概念元算法(meta-algorithm),所谓“三个臭皮匠,顶个诸葛亮”,在做决策时,通常会听取多个专家而不只是一个人的意见。例如,医院在遇到罕见病例时会组织多个专家进行临床会诊,共同分析病例以给出手术方案。这就是元算法背后的思路,元算法也叫集成方法(ensemble method)。集成学习(Ensemble Learning)就是使用一系列学习器进行学习,并使用某种规则将各个学习...原创 2019-08-08 16:56:04 · 801 阅读 · 0 评论 -
随机森林(Random Forest)算法原理
集成学习(Ensemble)思想、自助法(bootstrap)与bagging集成学习(ensemble)思想是为了解决单个模型或者某一组参数的模型所固有的缺陷,从而整合起更多的模型,取长补短,避免局限性。随机森林就是集成学习思想下的产物,将许多棵决策树整合成森林,并合起来用来预测最终结果。首先,介绍自助法(bootstrap),这个奇怪的名字来源于文学作品 The Adventure...转载 2019-08-08 14:22:17 · 987 阅读 · 0 评论 -
python机器学习案例系列教程——决策树(ID3、C4.5、CART)
决策树简介决策树算是最好理解的分类器了。决策树就是一个多层if-else函数,就是对对象属性进行多层if-else判断,获取目标属性(类标签)的类别。由于只使用if-else对特征属性进行判断,所以一般特征属性为离散值,即使为连续值也会先进行区间离散化。在机器学习中,决策树是一个预测模型,他代表的是对象属性与类别属性之间的一种映射关系。分类决策树概念:是一种描述对实例进行分类的树形结构。...转载 2019-08-05 18:57:55 · 657 阅读 · 0 评论 -
机器学习之随机森林和GBDT的区别以及Xgboost和GBDT的区别
随机森林:理解:多棵决策树(CART树)https://blog.youkuaiyun.com/blank_tj/article/details/82081002组合而成,分类问题:每棵树投票找最高票;回归问题:每棵树的值求和取平均。特点:随机森林基于Bagging https://blog.youkuaiyun.com/blank_tj/article/details/82229322,所以每次训练随机从总数据D...转载 2019-08-05 18:56:54 · 629 阅读 · 0 评论 -
决策树、Bagging、随机森林、Boosting、Adaboost、GBDT、XGBoost
决策树(Descision Tree)决策树介绍决策树基于“树”结构进行决策:- 每个“内部节点”对应于某个属性上的测试- 每个分枝对应于该测试的一种可能结果(即属性的某个取值)- 每个叶节点对应于一个“预测结果”决策树学习的三个步骤特征选择决策树的生成决策树的修剪特征选择是决定用哪个特征来划分特征空间;特征选择的准则:信息增益或信息增益比案例:预测小明今天出门...转载 2019-08-05 18:56:13 · 421 阅读 · 0 评论 -
随机森林,GBDT,XGBoost的对比
随机森林 RF RandomForest 随机森林的集成学习方法是bagging,但是和bagging 不同的是bagging只使用bootstrap有放回的采样样本,但随机森林即随机采样样本,也随机选择特征,因此防止过拟合能力更强,降低方差。使用的融合方法:bagging一种集成学习算法,基于bootstrap sampling 自助采样法,重复性有放回的随机采用部分样本进行训练最...转载 2019-08-05 18:54:40 · 809 阅读 · 0 评论 -
PyCharm设置仿sublime配色__Py版本2018.1
配色效果图:1. File --- Setting --- Apperance & Behavior --- Theme: Darcula2. File ---Setting---Editor---Color Scheme Font---Scheme---Monokai3. 备份原Monokai方案,会创建新的MonokaiCopy方案,我们在Copy...原创 2019-07-07 12:30:06 · 497 阅读 · 0 评论 -
ubuntu16.04系统简洁版安装tensorflow-gpu
一、安装NVIDA驱动安装驱动大致有两种方法:直接上NVIDA官网找到适合本机显卡型号的驱动,下载安装 利用ubuntu系统本身自带的显卡驱动在这里演示最简单的方法22、在“附加驱动”里,系统会自动搜索N卡驱动,列表里会提供对应你显卡的最新版官方驱动3、最后点“应用更改”,等待安装完毕。4、重启系统即可二、安装Anaconda1、https://ww...原创 2019-07-07 10:55:46 · 270 阅读 · 0 评论 -
解决ubuntu系统matplotlib库中文无法显示或乱码
笔者在网上找了各种各样的教程,尝试了很多方法,最终发现以下方法最简单。1. 在ubuntu系统中,找到原windows系统的C盘,然后搜索simhei.ttf,把该文件复制。2. 我的matplotlib库是在Ananconda中,来到 home/Anaconda/wangdong/lib/python3.6/site-packages/matplotlib/mpl-data/fonts...原创 2019-07-05 18:26:08 · 177 阅读 · 0 评论 -
常用激活函数(激励函数)
学习神经网络的时候我们总是听到激活函数这个词,而且很多资料都会提到常用的激活函数,比如Sigmoid函数、tanh函数、Relu函数。那么我们就来详细了解下激活函数方方面面的知识。本文的内容包括几个部分:什么是激活函数? 激活函数的用途(为什么需要激活函数)? 有哪些激活函数,都有什么性质和特点? 应用中如何选择合适的激活函数?什么是激活函数?神经网络中的每个神经元节点接受...原创 2019-08-19 10:54:26 · 280 阅读 · 0 评论 -
自编码器及其相关模型
自编码器是一种无监督的神经网络模型,其核心的作用是能够学习到输入数据的深层表示。当前自编码器的主要应用有俩个方面:一是特征提取;另一个是非线性降维,用于高维数据的可视化,与流行学习关系密切。自编码器(AutoEncoder,AE):最原始的AE网络是一个三层的前馈神经网络结构,由输入层、隐藏层和输出层构成。对于二值神经网络,也就是输入层的每个神经元只能取值0或1,那么损失函数通常由...原创 2019-08-14 14:37:36 · 451 阅读 · 0 评论 -
机器学习-聚类系列-层次聚类
层次聚类 层次聚类(Hierarchical Clustering)是聚类算法的一种,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点。创建聚类树有自下而上合并和自上而下分裂两种方法。 作为一家公司的人力资源部经理,你可以把所有的雇员组织成较大的簇,如主管、经理和职员;然后你...原创 2019-09-25 17:05:27 · 1256 阅读 · 0 评论 -
决策树--信息增益、信息增益比、Geni指数的理解
决策树 是表示基于特征对实例进行分类的树形结构从给定的训练数据集中,依据特征选择的准则,递归的选择最优划分特征,并根据此特征将训练数据进行分割,使得各子数据集有一个最好的分类的过程。决策树算法3要素: 》特征选择 》决策树生成 》决策树剪枝关于决策树生成决策树的生成过程就是 使用满足划分准则的特征不断的将数据集划分为纯度更高,不确定性更小的子集的过程...原创 2019-09-16 17:30:44 · 1377 阅读 · 0 评论 -
优化方法总结(梯度下降法、牛顿法、拟牛顿法等)
梯度下降法梯度下降法是最简单,也是最常用的最优化方法。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解/一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方法,所以也被称为是“最速下降法”。最速下降法越接近目标值,步长越小,前进越慢。梯度下降法的搜索迭代示意图如下图所示:...原创 2019-09-09 11:25:25 · 2850 阅读 · 0 评论 -
梯度下降法与牛顿法的总结与比较
机器学习的本质是建立优化模型,通过优化方法,不断迭代参数向量,找到使目标函数最优的参数向量。最终建立模型。通常用到的优化方法:梯度下降方法、牛顿法、拟牛顿法等。这些优化方法的本质就是在更新参数。一:梯度下降法1、梯度下降的思想 通过搜索方向和步长来对参数进行更新。其中搜索方向是目标函数在当前位置的负梯度方向。因为这个方向是最快的下降方向。步长确定了沿着这个搜索方向下降的大小。 ...原创 2019-09-07 19:36:50 · 406 阅读 · 0 评论 -
导数、偏导数、方向导数、梯度、梯度下降
前言: 机器学习中的大部分问题都是优化问题,而绝大部分优化问题都可以使用梯度下降法处理,那么搞懂什么是梯度,什么是梯度下降法就非常重要!这是基础中的基础,也是必须掌握的概念! 提到梯度,就必须从导数(derivative)、偏导数(partial derivative)和方向导数(directional derivative)讲起,弄清楚这些概念,才能够正确理解为什么在优化问题中使用...原创 2019-09-07 16:38:11 · 366 阅读 · 0 评论 -
逻辑回归的常用面试点总结
1.简介 逻辑回归是面试当中非常喜欢问到的一个机器学习算法,因为表面上看逻辑回归形式上很简单,很好掌握,但是一问起来就容易懵逼。所以在面试的时候给大家的第一个建议不要说自己精通逻辑回归,非常容易被问倒,从而减分。2.正式介绍如何凸显你是一个对逻辑回归已经非常了解的人呢。那就是用一句话概括它!逻辑回归假设数据服从伯努利分布,通过极大化似然函数的方法,运用梯度下降来求解参数,来达...原创 2019-09-04 09:38:37 · 136 阅读 · 0 评论 -
Python 二进制, 十进制, 十六进制转化
十六进制 到 十进制使用 int() 函数 ,第一个参数是字符串 '0Xff' ,第二个参数是说明,这个字符串是几进制的数。 转化的结果是一个十进制数。>>> int('0xf',16)15二进制 到 十进制>>> int('10100111110',2) 1342八进制 到 十进制>>> int('1...原创 2019-08-26 15:21:25 · 923 阅读 · 0 评论 -
cnn中关于平均池化和最大池化的理解
接触到pooling主要是在用于图像处理的卷积神经网络中,但随着深层神经网络的发展,pooling相关技术在其他领域,其他结构的神经网络中也越来越受关注。一个典型的卷积神经网络结构图,其中的卷积层是对图像的一个邻域进行卷积得到图像的邻域特征,亚采样层就是使用pooling技术将小邻域内的特征点整合得到新的特征。作用pooling的结果是使得特征减少,参数减少,但pooling的目的并...原创 2019-08-16 14:20:32 · 1276 阅读 · 0 评论 -
卷积神经网络CNN基本概念(二)上采样 下采样
缩小图像:或称为下采样(subsampled)或降采样(downsampled)主要目的有两个:1、使得图像符合显示区域的大小;2、生成对应图像的缩略图。放大图像:或称为上采样(upsampling)或图像插值(interpolating)主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响...原创 2019-08-16 11:07:32 · 6241 阅读 · 1 评论 -
数据预处理:独热编码(One-Hot Encoding)和labelEncoder标签编码
一、问题由来在很多机器学习任务中,特征并不总是连续值,而有可能是分类值。离散特征的编码分为两种情况: 1、离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one-hot编码 2、离散特征的取值有大小的意义,比如size:[X,XL,XXL],那么就使用数值的映射{X:1,XL:2,XXL:3}使用pandas可以很方便的对离散型特征进行on...原创 2019-08-12 11:21:52 · 921 阅读 · 0 评论 -
深度学习中Embdeding层俩大作用的个人理解
首先,我们有一个one-hot编码的概念。假设,我们中文,一共只有10个字。。。只是假设啊,那么我们用0-9就可以表示完比如,这十个字就是“我从哪里来,要到何处去”其分别对应“0-9”,如下:我从哪里来要到何处去012345678 9那么,其实我们只用一个列表就能表示所有的对...原创 2019-08-12 10:10:59 · 1021 阅读 · 0 评论 -
广告点击率模型中,LR,GBDT+LR,FM,DNN等模型的优点和缺点?实际效果如何?
LR优点:1.是一个很好的baseline,效果不错,当然因为效果不错,所以后续的版本想超过它,真的还是很难的。2.实际简单,有开源的工具可以直接用来训练,在线的代码也写起来比较容易。缺点:1.因为是线性模型,所以有选择交叉特征的工作,这部分工作消耗大量的精力,但往往没什么效果。一般都是wrapper方法选择,每轮可能都要进行小时级的运算,理论上要进行2^n轮(n是特征数),但...原创 2019-08-10 16:00:41 · 1711 阅读 · 0 评论 -
(window系统,ubuntu系统服务器)pycharm通过ssh连接远程服务器
1. 各种远程连接终端操作浪费时间,麻烦之前一致用putty,ssh,修改代码,或者本地修改,上传到服务器,各种不爽,现在改用xshell,但是有时候还是不方便感觉,于是自己配置了远程连接pycharm,这样不用总是到代码里修改,直接在windows(或者ubuntu)下pycharm里修改再保存就可以实现同步更新到服务器里的代码里了。2、content配置Deployment...原创 2019-07-10 17:16:06 · 1217 阅读 · 1 评论 -
卷积神经网络(详细解说题)
经典的多层感知机由一系列全连接层组成,卷积神经网络中除全连接层外,还有卷积层和汇合(pooling)层。(1)卷积层为什么要用卷积层 输入图像通常维数很高,例如:1000×1000大小的彩色图像对应于三百万维特征。因此,继续沿用多层感知机中的全连接会导致庞大的参数量。大参数量需要繁重的计算,而更重要的是,大参数量会有更高的过拟合风险。卷积是局部连接、共享参数版的全连接。这俩个特性使参数...原创 2019-05-27 10:40:50 · 2683 阅读 · 0 评论 -
解决Ubuntu16.4系统下Anaconda下启动navigator闪退,出现如下错误时的解决办法
wangdong@wangdong-Precision-5820-Tower:~$ source activator tensorflowbash: activator: 没有那个文件或目录wangdong@wangdong-Precision-5820-Tower:~$ source activate tensorflow(tensorflow) wangdong@wangdong-Pr...原创 2018-08-08 17:29:05 · 1808 阅读 · 0 评论 -
sklearn之特征选择
# -*- coding: utf-8 -*-"""Created on Tue Jul 31 17:01:02 2018@author: Administrator"""'''移除低方差特征VarianceThreshold 是特征选择的一个简单基本方法,它会移除所有那些方差不满足一些阈值的特征。默认情况下,它将会移除所有的零方差特征,即那些在所有的样本上的取值均不变的特...原创 2018-08-02 14:29:42 · 735 阅读 · 0 评论 -
《Ubuntu16.04+GTX1080Ti+Anaconda4.2.0+Tensorflow-GPU1.3+CUDA8.0+cuDNN6.0配置深度学习环境》
第一:Ubuntu16.04系统安装。首先制作班图启动盘一步一步安装,跟安装视窗系统类似吧,自己对试试,这不是我讲的主要内容。主要内容:第二:。安装Anaconda Anaconda是一个用于科学计算的Python发行版,支持Linux,Mac,Windows,包含了众多流行的科学计算,数据分析的Python包.Tensorflow底层使用C ++实现的,然后使用python封装,...原创 2018-08-11 09:44:23 · 780 阅读 · 0 评论 -
机器学习之sklearn特征提取
# -*- coding: utf-8 -*-"""Created on Tue Jul 31 15:09:58 2018@author: Administrator"""'''从字典类型加载特征类 DictVectorizer 可用于将标准的Python字典(dict)对象列表的要素数组转换为 scikit-learn 估计器使用的 NumPy/SciPy 表示形式。'''...原创 2018-08-01 16:53:53 · 365 阅读 · 0 评论 -
机器学习-结巴中文处理
# -*- coding: utf-8 -*-"""Created on Tue Jul 31 15:26:50 2018@author: Administrator"""'''特点: 支持三种分词模式: 精确模式,试图将句子最精确地切开,适合文本分析; 全模式,把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义; ...原创 2018-08-01 16:33:01 · 330 阅读 · 0 评论 -
sklearn数据预处理
# -*- coding: utf-8 -*-"""Created on Tue Jul 31 10:51:29 2018@author: Administrator"""''' 标准化,也称去均值和方差按比例缩放 将特征缩放至特定范围内 缩放稀疏(矩阵)数据 缩放有离群值的数据 核矩阵的中心化 非线性转换 归一化...原创 2018-08-01 14:48:41 · 282 阅读 · 0 评论 -
机器学习之sklearn生成数据和生成分类数据
'''样本数据集的特征默认是一个(506, 13)大小的矩阵,样本值是一个包含506个数值的向量。'''# 房价数据from sklearn.datasets import load_boston # 波士顿房价数据,回归使用from sklearn import linear_modelboston = load_boston()data = boston.datatar...原创 2018-08-01 10:42:34 · 7726 阅读 · 0 评论 -
Ubuntu16.04解决启动Navigator图像化界面------闪退问题三:
问题:可能是大部分人的方法,以为安装了Anaconda软件之后,进入激活环境,然后直接输入如下指令:anaconda-navigator就直接启动,问题是可能会启动出现闪退问题,且在终端窗口显示《核心已转》之类的话和相关指令。解决办法:可能网上搜索到的是输入如下指令:conda install -c anaconda anaconda-navigator 这样安装...原创 2018-08-09 18:53:08 · 748 阅读 · 0 评论 -
Ubuntu16.04+Anaconda 安装Spyder 安装python包库和解决import不了包的问题
第一;解决在Ubuntu16.04里安装了Anaconda环境且安装了tensorflow-gpu版本及相关配置(cudnn,cuda配置)之后,在终端窗口导入tensorflow库没问题,在jupyter notebook也没问题,却在Spyder里显示tensorflow库没有 解决办法是:因为之前打开的是内置的Spyder,可能出现路径的问题,导致tensorflow库没有所...原创 2018-08-09 18:40:50 · 1572 阅读 · 0 评论 -
机器学习之线性代数
1.协方差和协方差矩阵的概念公式1.1协方差公式1.2协方差矩阵公式有数据集={X,Y,Z},是三维度的数据,即此此数据集中的样例有3个特征 """Aim:计算两个维度的协方差covariance""" import numpy as np class CCovariance(object): '''计算X,Y这俩维度的协方差 ''...原创 2018-07-31 16:07:48 · 314 阅读 · 0 评论 -
机器学习之欧式距离和相似度
在数据分析和数据挖掘的过程中,我们经常需要知道个体间差异的大小,进而评价个体的相似性和类别。最常见的是数据分析中的相关分析,数据挖掘中的分类和聚类算法,如K最近邻(KNN)和K均值(K-Means)。当然衡量个体差异的方法有很多,最近查阅了相关的资料,这里整理罗列下。 为了方便下面的解释和举例,先设定我们要比较X个体和Y个体间的差异,它们都包含了N个维的特征,即X=(x1, x2, x3, ...转载 2018-07-31 14:29:07 · 30788 阅读 · 0 评论