
机器学习
Jaykie_
这个作者很懒,什么都没留下…
展开
-
聚类方法:K-means、K-modes和K-prototypes
首先:得对数据进行标准化min-max标准化(离差标准化):对原始数据进行线性变换,是结果落到【0,1】区间,转换方法为 X'=(X-min)/(max-min),其中max为样本数据最大值,min为样本数据最小值。from sklearn import preprocessingX = preprocessing.MinMaxScaler().fit_transform(X)一...原创 2019-02-20 10:12:37 · 9469 阅读 · 1 评论 -
机器学习中的优化算法
优化算法1、梯度下降法 梯度下降法可以说是机器学习中最常用的算法,当然在深度学习中也会使用。不过一般使用的都是梯度下降法的变体—小批量梯度下降法,因为在样本较大时使用全样本进行梯度下降时需要计算的梯度太多,导致计算量会非常大。梯度下降法是一种迭代算法,选取合适的初值$x^{(0)}$,不断的迭代更新$x$的值,进行目标函数$f(x) $的极小化,直至目标函数收敛。由于负梯度方向是使得函数...原创 2019-04-15 17:34:04 · 1001 阅读 · 0 评论 -
机器学习算法拾遗:(十)朴素贝叶斯
1、模型的定义 朴素贝叶斯是基于贝叶斯定理与特征条件独立假设的分裂方法。首先我们来了解下贝叶斯定理和所要建立的模型。对于给定的数据集 假定输出的类别yi∈ {c1, c2, ...., ck},朴素贝叶斯通过训练数据集的条件概率分布P(x|y)来学习联合概率。因此在这里我们近视的求先验概率分布和条件概率分布来替代它。先验概率分布如下 对于先验概率的求解,可以根...原创 2019-04-15 18:06:54 · 324 阅读 · 0 评论 -
机器学习算法拾遗:(三)集成学习(Adaboost、RandomForest)
基础:集成学习、Adaboost根据个体学习器的生成方式不同,我们可以将集成算法分成两类: 1)个体学习器之间存在强依赖关系,必须串行化生成的序列化方法,这一类的代表是Boosting(常见的算法有Adaboost、GBDT); 2)个体学习器之间不存在强依赖关系,可以并行化生成每个个体学习器,这一类的代表是Bagging(常见的算法有RandomForest)。2、集成算法—...原创 2019-04-15 14:06:40 · 669 阅读 · 0 评论 -
机器学习算法拾遗:(四)GBDT与XGBOOST
基础:GBDT与xgboost1、前向分布算法 引入加法模型 在给定了训练数据和损失函数L(y,f(x))的条件下,可以通过损失函数最小化来学习加法模型 而且在Boosting中模型之间又是有先后顺序的,因此可以在执行每一步加法的时候对模型进行优化,那么每一步只需要学习一个模型和一个参数,通过这种方式来逐步逼近全局最优,每一步优化的损失函数: 具体算法流...原创 2019-04-15 14:47:25 · 687 阅读 · 0 评论 -
机器学习算法拾遗:(五)聚类算法(K-means,密度聚类,层次聚类)
基础:聚类算法(K-means,密度聚类,层次聚类)无监督学习是在样本的标签未知的情况下,根据样本的内在规律对样本进行分类,常见的无监督学习就是聚类算法。聚类算法模型的性能度量大致有两类: 1)将模型结果与某个参考模型(或者称为外部指标)进行对比,私认为这种方法用的比较少,因为需要人为的去设定外部参考模型。 2)另一种是直接使用模型的内部属性,比如样本之间的距离(闵可夫斯基距离...原创 2019-04-15 14:57:57 · 1749 阅读 · 0 评论 -
机器学习中的损失函数
基础:损失函数在机器学习中,所有的机器学习算法都或多或少的依赖于对目标函数最大化或者最小化的过程,我们常常把最小化的函数称为损失函数,它主要用于衡量机器学习模型的预测能力。在寻找最小值的过程中,我们最常用的方法是梯度下降法。由于机器学习的任务不同,损失函数一般分为分类和回归两类,回归会预测给出一个数值结果而分类则会给出一个标签。 ...原创 2019-04-15 15:34:00 · 435 阅读 · 0 评论 -
机器学习算法拾遗:(六)EM算法与高斯混合模型
基础:EM算法和高斯混合模型、EM算法EM算法是一种迭代算法,用于含有隐变量的概率模型的极大似然估计,或者说是极大后验概率估计。1、EM算法EM算法的具体流程如下: 输入:观测变量数据Y,隐变量数据Z,联合分布P(Y, Z|θ),条件分布P(Z|Y, θ) 输出:模型参数θ 1)选择参数θ的初始值θ(0),开始迭代 2)E步:记θ(i)次迭代参数为θ的估计值,在...原创 2019-04-15 16:14:38 · 383 阅读 · 0 评论 -
机器学习算法拾遗:(九)降维(SVD, PCA)
PCA 降维方法有很多,而且分为线性降维和非线性降维,本篇文章主要讲解线性降维。1、奇异值分解(SVD)2、主成分分析(PCA) 首先假设在低维空间存在这样一个超平面,将数据从高维映射到该超平面上会使得样本之间的方差最大(样本之间方差最大,也就意味着样本在映射到低维之后仍能较好的保留各样本之间的差异性。若映射后存在大量的样本重合,则映射后的样本中会存在大量无用的样本)假...原创 2019-04-15 17:13:43 · 275 阅读 · 0 评论 -
机器学习算法拾遗:(八)广义线性模型(线性回归,逻辑回归)
广义线性模型(线性回归,逻辑回归)、线性回归2、广义线性模型 无论是在做分类问题还是回归问题,我们都是在预测某个随机变量y 和 随机变量x 之间的函数关系。在推导线性模型之前,我们需要做出三个假设: 1)P(y|x; θ) 服从指数族分布 2)给定了x,我们的目的是预测T(y) 在条件x下的期望。一般情况下T(y) = y,这也就意味着我们希望预测h(x) = E[y|x...原创 2019-04-15 17:01:06 · 938 阅读 · 0 评论 -
机器学习算法拾遗:(七)隐马尔科夫模型(前向后向算法、鲍姆-韦尔奇算法、维特比算法)
1、隐马尔科夫模型HMM 隐马尔科夫模型的图结构如下 从上图中主要有两个信息:一是观测变量xi仅仅与与之对应的状态变量yi有关;二是当前的状态变量yi仅仅与它的前一个状态变量yi-1有关。隐马尔科夫模型是由初始概率分布,状态转移概率分布,以及观测概率分布确定的。设Q是所有可能的状态的集合,V是所有可能的观测的集合(注意:这里的状态集合和观测集合中的个数和序列的长度T...原创 2019-04-15 16:37:43 · 618 阅读 · 0 评论 -
pip更换国内源
三大国内源:- 豆瓣:http://pypi.douban.com/simple/- 中科大:https://pypi.mirrors.ustc.edu.cn/simple/- 清华:https://pypi.tuna.tsinghua.edu.cn/simple永久修改:Windows版本:(代码中用的豆瓣源)自己在C:\Users\<username>路径下...原创 2019-03-03 21:48:48 · 205 阅读 · 0 评论 -
【调参炼丹】深度学习中优化方法对比(BGD,SGD,Mini-batch gradient descent,Momentum, RMSProp, Adam)
对输入样本大小(batch)的改变:为了提升训练的速度,可以改变每次输入模型中的样本数量大小。1.批量梯度下降(BGD):一个epoch训练所有的样本后更新一遍梯度。特点:速度慢。2.随机梯度下降(SGD):每训练一个样本,更新一遍梯度。特点:速度快,但不易收敛。3.小批量梯度下降(Mini-batch gradient descent):把总的数据分为若干批次,每个批次更...原创 2019-03-18 17:03:45 · 1481 阅读 · 0 评论 -
【调参炼丹】 Batch_size和Epoch_size
Batch_Size:首先,batch_size来源于:小批量梯度下降(Mini-batch gradient descent)梯度下降法是常用的参数更新方法,而小批量梯度下降是对于传统梯度下降法的优化。深度学习中优化方法的对比定义:Batch_size是每次喂给模型的样本数量。Epoch_size是训练所有样本总的次数(即每个样本被训练的次数相当于iteration)。...原创 2019-03-18 17:52:04 · 16077 阅读 · 4 评论 -
【调参炼丹】深度学习训练的小技巧,调参经验。
经常会被问到你用深度学习训练模型时怎么样改善你的结果呢?然后每次都懵逼了,一是自己懂的不多,二是实验的不多,三是记性不行忘记了。所以写这篇博客,记录下别人以及自己的一些经验。Ilya Sutskever(Hinton的学生)讲述了有关深度学习的见解及实用建议:获取数据:确保要有高质量的输入/输出数据集,这个数据集要足够大、具有代表性以及拥有相对清楚的标签。缺乏数据集是很难成功的。...转载 2019-03-18 19:23:22 · 605 阅读 · 0 评论 -
【调参炼丹】深度学习训练的小技巧,调参经验。(2)
超参数(Hyper-Parameter)是困扰神经网络训练的问题之一,因为这些参数不可通过常规方法学习获得。神经网络经典五大超参数:学习率(Leraning Rate)、权值初始化(Weight Initialization)、网络层数(Layers)单层神经元数(Units)、正则惩罚项(Regularizer|Normalization)这五大超参数使得神经网络更像是一门实践课...转载 2019-03-18 19:32:02 · 329 阅读 · 0 评论 -
使用sklearn做单机特征工程
特征工程之特征选择特征工程之特征表达特征工程之特征预处理1 特征工程是什么? 有这么一句话在业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。通过总结和归纳,人们认为特征工程包括以下方面:特征处理是特征工程的核心部分,s...转载 2019-03-27 23:10:50 · 174 阅读 · 0 评论 -
机器学习算法拾遗:(一)支持向量机(SVM)
参考:支持向量机面试问题:SVM面试问题使用:sklearn的SVM使用1、感知机模型分类模型:sign函数是指示函数(当wx+b > 0,f(x) = +1;当wx+b < 0,f(x) = -1 ;感知机的超平面是wx+b = 0)即:整合成 y(wx+b) > 0损失函数:2、支持向量机几何间隔:基于感知机,γ是离超平...原创 2019-04-02 16:11:11 · 328 阅读 · 0 评论 -
机器学习算法拾遗:(二)决策树(ID3, C4.5, CART)
基础:决策树面试问题:决策树面试问题补充:6. ID3和C4.5有什么区别?Ans:①ID3采用信息熵的增益作为切分依据,倾向于选取特征值较多的属性进行划分;C4.5采用信息熵的增益比作为切分依据,对较少特征数目的属性有所偏好。7.请谈一谈决策树剪枝有哪些方法?Ans:剪枝的作用是为了防止决策树过拟合,有两种思路:预剪枝(Pre-Pruning)和后剪枝(Post-Prun...原创 2019-04-02 18:07:09 · 195 阅读 · 0 评论 -
Word2Vec 源码
之前微信暑期实习面试有问过word2vec的底层实现,之前只掌握了原理和掉包,现在补补Word2Vec的C源码吧。文末附源码。参考:https://blog.youkuaiyun.com/jeryjeryjery/article/details/80245924流程:训练:(一)部分全局变量参数:size: 对应代码中layer1_size, 表示词向量的维度,默认值是...原创 2019-05-06 15:52:07 · 668 阅读 · 0 评论