
ML
XP-Code
这个作者很懒,什么都没留下…
展开
-
反向传播算法(Back Propagation)简介
BP的核心思想就是:先利用前向传播计算预测的输出值,再和实际值求差值(多个样本的差值要求方差和);再用上面求得得差值对每个权重求偏导,意思就是要知道每个权重对整体误差产生了多少影响;然后更新每个权重的值;更新所有权重值之后再重新从第1步开始迭代知道满足条件(不需要再更新权重)。...原创 2020-03-04 13:34:51 · 891 阅读 · 0 评论 -
信息论基本概念
信息论本来是通信中的概念,但是其核心思想“熵”在机器学习中也得到了广泛的应用。比如决策树模型ID3,C4.5中是利用信息增益来划分特征而生成一颗决策树的,而信息增益就是基于这里所说的熵。所以它的重要性也是可想而知。1. 熵(Entropy)熵又叫自信息(self-information),可以视为描述一个随机变量的不确定性的数量。它表示信源X每发一个符号所提供的平均信息量。一个随机变量的熵越大...原创 2020-02-28 18:57:28 · 1978 阅读 · 0 评论 -
模型汇总
1. Logistic 回归假设函数:y^=h(z)=11+e−z=11+e−(wTx+b)\widehat{y}=h(z)=\frac{1}{1+e^{-z}}= \frac{1}{1+e^{-(w^Tx+b)}}y=h(z)=1+e−z1=1+e−(wTx+b)1损失函数:J(w,b)=1n∑i=1nL(y^i,yi)=−1n∑i=1n[yilogy^i+(1−yi)log(1−...原创 2020-02-28 18:13:51 · 584 阅读 · 0 评论 -
SVM原理详解
Step 1: 求解支持平面的最大距离只考虑线性可分的情况,分割超平面一边的数据点所对应的y全是-1 ,另一边所对应的y全是1:这个超平面可以用分类函数 f(x)=wTx+bf(x)=w^Tx+bf(x)=wTx+b表示,当f(x) 等于0的时候,x便是位于超平面上的点,而f(x)大于0的点对应 y=1 的数据点,f(x)小于0的点对应y=-1的点,如下图所示(虚线间隔边界上的点就是支持向量...原创 2020-02-28 02:43:17 · 578 阅读 · 0 评论 -
如何防止过拟合及欠拟合
1. 过拟合1.1 定义是指模型对于训练数据拟合呈现过当的情况,反映到评估指标上就是模型在训练集上的表现很好,但是在测试集上的表现较差。结果就是训练出的模型泛化能力差。1.2 如何防止过拟合防止过拟合的方法有4种:(1)增加训练集数据;该方式是从数据入手,将更多的数据参与到模型的训练中,这是最有效的方法,这样可以让模型学习到更多更有效的特征,降低噪声对模型的影响。但是往往直接增加数据...原创 2020-02-27 12:14:32 · 1179 阅读 · 0 评论 -
Precision和Recall
1. 二分类模型的指标精准率,即在所有被预测为阳性的测试数据中,真正是阳性的比率:Precision=TP / (TP+FP)召回率,即在所有实际为阳性的测试数据中,真正是阳性的比率:Recall=TP / (TP+FN)为了综合这两个指标并得出量化结果,又发明了F1Score:F1Score = 2*(Precision * Recall) / (Precision + Recal...原创 2020-02-27 12:03:49 · 715 阅读 · 0 评论 -
RNN、LSTM和GRU
一、循环神经网络传统的神经网络并不能做到保持信息的持久性,RNN(Recurrent Neural Retwork) 解决了这个问题。RNN 是包含循环的网络,允许信息的持久化。在上面的示例图中,神经网络的模块,,正在读取某个输入 ,并输出一个值 。循环可以使得信息可以从当前步传递到下一步。RNN 可以被看做是同一神经网络的多次复制,每个神经网络模块会把消息传递给下一个。所以,如果我们将这...原创 2020-02-26 22:22:24 · 1265 阅读 · 1 评论 -
常用激活函数
可见,激活函数能够帮助我们引入非线性因素,使得神经网络能够更好地解决更加复杂的问题。1. Sigmoidsigmoid(x)=11+e−xsigmoid(x) = \frac{1}{1+e^{-x}}sigmoid(x)=1+e−x1sigmoid′(x)=11+e−xsigmoid'(x) = \frac{1}{1+e^{-x}}sigmoid′(x)=1+e−x1Sigmoid 函...原创 2020-02-26 19:42:39 · 628 阅读 · 0 评论 -
ROC和AUC
1. ROCROC(Receiver Operating Characteristics), 中文一般翻译成“受试者工作特性曲线”。这是一种度量二分类性能的指标。直观来讲,ROC曲线表示的是模型在准确识别正例和不把负例错误的识别成正例这两种能力之间相互制约的关系。在详细解释ROC之前需要先解释两个前置概念,即TPR(True Positive Rate)和FPR(False Positive ...原创 2020-02-26 00:14:50 · 3369 阅读 · 0 评论 -
判别式模型和生成式模型的区别
其实机器学习的任务是从属性X预测标记Y,即求概率P(Y|X)。判别式模型对于判别式模型来说求得P(Y|X),对未见示例X,根据P(Y|X)可以求得标记Y,即可以直接判别出来,如上图的左边所示,实际是就是直接得到了判别边界,所以传统的、耳熟能详的机器学习算法如线性回归模型、支持向量机SVM等都是判别式模型,这些模型的特点都是输入属性X可以直接得到Y(对于二分类任务来说,实际得到一个score,...原创 2020-02-20 18:26:55 · 914 阅读 · 0 评论 -
XGBoost 算法原理
一、简介XGBoost(eXtreme Gradient Boosting)是GBDT(Gradient Boosting Decision Tree)的一种实现。GBDT又是提升树(Boosting Tree)的一种优化模型。Boosting则是集成学习的一种算法。1.1 梯度提升树(Gradient Boosting Decison Tree, GBDT)之前提到的 Bagging 的...原创 2020-02-20 13:41:59 · 1341 阅读 · 0 评论 -
隐马尔科夫模型的三个基本问题
问题一、评估观察序列概率假设我们已知HMM模型的参数λ=(A,B,Π)\lambda = (A, B, \Pi)λ=(A,B,Π),其中A是隐藏状态转移概率的矩阵,B是观测状态生成概率的矩阵, Π\PiΠ是隐藏状态的初始概率分布。同时给定一个观测序列O={o1,o2,...oT}O =\{o_1,o_2,...o_T\}O={o1,o2,...oT},现在我们要求这个观测序列原创 2019-08-11 11:52:05 · 1769 阅读 · 2 评论 -
条件随机场的三个基本问题
一、条件随机场的概率计算问题条件随机场的概率计算问题描述:给定 linear-CRF的条件概率分布P(y|x), 在给定输入序列x和输出序列y时,计算条件概率P(Yi=yi∣x)P(Y_i=y_i|x)P(Yi=yi∣x)和P(Yi−1=yi−1,Yi=yi∣x)P(Y_{i-1}=y_{i-1}, Y_i=y_i|x)P(Yi−1=yi−1,Yi=yi∣x)以及对应的期望。回顾一...原创 2019-08-22 17:21:15 · 952 阅读 · 1 评论 -
条件随机场简介(Conditional Random Fields, CRF)
首先,我们来看看什么是随机场。随机场是由若干个位置组成的整体,当给每一个位置中按照某种分布随机赋予一个值之后,其全体就叫做随机场。以词性标注为例:假如我们有一个十个词组成的句子需要做词性标注,这十个词每个词的词性可以在我们已知的词性集合(名词,动词…)中去选择。当我们为每个词选择完词性后,这就形成了一个随机场。了解了随机场,我们再来看看马尔科夫随机场。马尔科夫随机场是随机场的特例,它假设随机场中...原创 2019-08-13 19:04:09 · 1006 阅读 · 0 评论 -
隐马尔科夫模型简介(Hidden Markov model, HMM)
一、马尔科夫性质和马尔科夫链1. 马尔科夫性质在概率论和统计学中,“马尔科夫性质” 是指一个随机过程没有状态记忆的性质。它是以俄国数学家马尔科夫命名的。如果一个随机过程的未来状态的条件概率分布只和当前状态有关而跟它之前发生的事件无关,那么说这个随机过程具有马尔科夫性质。这样的一个随机过程也叫“马尔科夫过程”。“马尔科夫假设” 是用来描述一个可能具有马尔科夫性质的模型,比如隐马尔科夫模型(htt...原创 2019-08-08 17:44:56 · 1851 阅读 · 0 评论 -
k 均值算法(k-means)
k-means 聚类算法,属于无监督学习算法。也就是说样本中却没有给定y,只有特征x。聚类的目的是找到每个样本x潜在的类别y,并将同类别y的样本x放在一起。k-means 算法实际上是一种最大期望算法(EM 算法)。1. k-means算法步骤在k-means算法中,用质心(样本均值)来表示簇类(cluster);且容易证明k-means算法收敛等同于所有质心不再发生变化。基本的k-means...原创 2019-04-24 21:58:13 · 6829 阅读 · 0 评论 -
朴素贝叶斯分类算法原理
一、朴素贝叶斯分类简介朴素贝叶斯(Naive Bayesian)是基于贝叶斯定理和特征条件独立假设的分类方法,它通过特征计算分类的概率,选取概率大的情况进行分类,因此它是基于概率论的一种机器学习分类方法。因为分类的目标是确定的,所以也是属于监督学习。朴素贝叶斯有如下几种:离散型朴素贝叶斯: MultinomialNB连续型朴素贝叶斯: GaussianNB混合型朴素贝叶斯: Merge...原创 2019-04-25 21:38:54 · 6222 阅读 · 0 评论 -
Logistic回归算法
一、前言Logistic回归虽然名字上是叫回归,但其实它是一种分类算法。Logistic回归也在一些文献中也称为logit回归、最大熵分类(MaxEnt)或对数线性分类器。“回归”的意思就是要找到最佳拟合参数,其中涉及的数学原理和步骤如下:需要一个合适的分类函数来实现分类。可以使用单位阶跃函数或者Sigmoid函数。用 代价函数 来表示 预测值h(x) 与 实际值y 的偏差 (h−y)。...原创 2019-04-25 21:55:23 · 4206 阅读 · 1 评论 -
朴素贝叶斯分类算法实践-言论过滤器
一、前言以在线社区留言为例。为了不影响社区的发展,我们要屏蔽侮辱性的言论,所以要构建一个快速过滤器,如果某条留言使用了负面或者侮辱性的语言,那么就将该留言标志为内容不当。过滤这类内容是一个很常见的需求。对此问题建立两个类型:侮辱类和非侮辱类,使用1和0分别表示。二、实现1.准备工作:加载数据我们把文本看成单词向量或者词条向量,也就是说将句子转换为向量。考虑出现所有文档中的单词,再决定将哪...原创 2019-04-26 15:30:54 · 1534 阅读 · 1 评论 -
朴素贝叶斯分类算法实践-垃圾邮件过滤器
一、前言这个例子中,我们将了解朴素贝叶斯的一个最著名的应用:电子邮件垃圾过滤。首先看一下使用朴素贝叶斯对电子邮件进行分类的步骤:收集数据:提供文本文件。准备数据:将文本文件解析成词条向量。分析数据:检查词条确保解析的正确性。训练算法:使用我们之前建立的trainNB0()函数。测试算法:使用classifyNB(),并构建一个新的测试函数来计算文档集的错误率。使用算法:构建一个完...原创 2019-04-26 15:35:54 · 2409 阅读 · 1 评论 -
感知机 简介
一、感知机模型感知机(perceptron)是一种二分类的线性分类模型,它是一种监督式学习算法。感知机的输入为实例的特征向量,输出为实例的类别(取+1和-1)。感知机对应于输入空间中将实例划分为两类的分离超平面 S。感知机旨在求出该超平面 S,为求得超平面导入了基于误分类的损失函数,利用梯度下降法对损失函数进行最优化(最优化)。感知机也是 Neural Networks(神经网络) 和 S...原创 2019-04-26 16:36:04 · 2299 阅读 · 0 评论 -
sklearn.model_selection 实现交叉验证
前言1. 什么是交叉验证法?它的基本思想就是将原始数据(dataset)进行分组,一部分做为训练集来训练模型,另一部分做为测试集来评价模型。2. 为什么用交叉验证法?交叉验证用于评估模型的预测性能,尤其是训练好的模型在新数据上的表现。交叉验证本身只能用于评估,但是可以对比不同 Model 或者参数对结构准确度的影响。然后可以根据验证得出的数据进行调参,也可以在一定程度上减小过拟合。Sk...原创 2019-04-26 16:56:29 · 6173 阅读 · 0 评论 -
Bagging 和 随机森林(Random Forest,RF)
前面已经了解到集成学习有两个流派,一个是 Boosting 派系,它的特点是各个弱学习器之间有依赖关系。另一种是 Bagging 流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合。而随机森林又是对 Bagging 的一个改进算法,可以很方便的并行训练。一、Bagging1. Bagging 算法原理Bagging 原理图:Bagging 的弱学习器之间的确没有 Boostin...原创 2019-04-27 08:19:37 · 1524 阅读 · 0 评论 -
AdaBoost 简介【译】
原文:AdaBoost 简介目前的集成学习(Ensemble Learning)方法大致可分为两类:一是个体学习器之间存在强依赖关系、必须串行生成的序列化方法,代表算法是Boosting;二是个体学习器之间不存在强依赖关系,可同时生成的并行方法,代表算法是 Bagging 和 “随机森林(Random Forest)”。首先要知道 AdaBoost(adaptive boosting) 算法是...原创 2019-04-27 08:19:26 · 751 阅读 · 0 评论 -
模型评估与选择
一、经验误差与过拟合错误率(error rate):分类错误的样本数占样本总数的比例,E = a/m精度(accuracy):精度 = 1 一 错误率误差(error):学习器的实际预测输出与样本的真实输出之间的差异经验误差(empirical error):学习器在训练集上的误差,也叫训练误差(training error)泛化误差(generalization error):学习器...原创 2019-04-27 08:18:53 · 388 阅读 · 0 评论 -
SVM 简介【译】
原文:An introduction to Support Vector Machines (SVM)如果你在处理文本分类问题,为了提炼数据,可能已经尝试过朴素贝叶斯(Naive Bayes)分类算法。如果你的数据集还算正常的话,并且想要一步到位表现更好的话,可以考虑使用 SVM。SVM 是一个在有限数据集上十分快速且靠谱的分类算法。你可能已经有一点点深入地去学习 SVM 了,是不是遇...原创 2019-04-27 08:18:39 · 733 阅读 · 0 评论 -
集成学习 实践
我们使用 集成学习 方法来对乳腺癌预测,这里的例子使用的数据集是 Wisconsin Breast Cancer dataset 。这个数据集的 diagnosis 列为每一个记录的标签,有 B 和 M两个值,而其他列均是特征。下面我们来一步一步处理。一、数据预处理1. 数据导入import pandas as pdimport numpy as npfrom sklearn.pr...原创 2019-04-26 17:01:51 · 615 阅读 · 0 评论 -
混合高斯模型(Gaussian Mixture Model,GMM)
高斯混合聚类和k 均值算法(k-means)都属于原型聚类,但与k均值用原型向量来刻画聚类结构不同,高斯混合聚类采用概率模型来表达聚类原型。一、混合模型(Mixture Model)混合模型是一个可以用来表示在总体分布(distribution)中含有 K 个子分布的概率模型。换句话说,混合模型表示了观测数据在总体中的概率分布,它是一个由 K 个子分布组成的混合分布。混合模型不要求观测数据提供...原创 2019-04-24 10:29:55 · 2246 阅读 · 0 评论 -
k邻近法(KNN)
一、前言k-近邻算法(kNN,k-NearestNeighbor),是一种监督分类算法,是最简单的机器学习分类算法之一。其核心思想在于用距离目标最近的 k 个样本数据的分类来代表目标的分类(这k个样本数据和目标数据最为相似)。kNN 是一种惰性学习方法。k-近邻算法的缺点是对数据的局部结构非常敏感。二、算法描述1. 具体算法过程:(1). 计算分类未知数据 x_new 与训练样本集数据 ...原创 2019-04-25 21:23:28 · 574 阅读 · 0 评论