机器学习
watermelon12138
心有猛虎,细嗅蔷薇
展开
-
前向分步算法与AdaBoost
一、前向分步算法最终模型可以分为若干个基函数及其系数的加和。只要通过最小化损失函数来确定基函数的系数βm和基函数的参数γm就可以确定最终模型f(x)。但是想要一次性确定所有的系数和参数显然很困难,前向分步算法对求解系数和参数进行了化简:给当前模型fm-1(x)加上βmb(x;γm)然后求使得损失函数最小化的βm和γm,得到新的模型fm(x)=fm-1(x)+βmb(x;γm)。也就是不用...原创 2018-12-04 14:49:12 · 603 阅读 · 0 评论 -
SVM——线性支持向量机和软间隔最大化
1、线性支持向量机线性可分支持向量机只适用于训练数据集线性可分的情况,而对于数据集接近线性可分的情况,利用线性可分支持向量机不可能找到一个最优分界面使得正类数据和负类数据完全分开,所以线性支持向量机这时就发挥了它的作用,它也是找到一个最优分界面,这个最优分界面允许少量的数据样本被分错,但绝大多数的样本都能够被正确分类。假设给定特征空间上的一个训练数据集T={(x1, y1), (x2, y2)...原创 2019-05-11 18:38:37 · 1776 阅读 · 0 评论 -
SVM——详细讲解SMO算法优化两个变量以及变量的选择
SMO(序列最小最优化)求解对偶问题的最优解以非线性支持向量机的对偶问题为例,使用SMO算法求解最优参数α* 。非线性支持向量机的对偶问题如下:原创 2019-05-12 18:17:36 · 6068 阅读 · 3 评论 -
EM算法及例题详解
一、简介EM(Expectation-Maximum)算法也称期望最大化算法,曾入选“数据挖掘十大算法”中,可见EM算法在机器学习、数据挖掘中的影响力。EM算法是最常见的隐变量估计方法,在机器学习中有极为广泛的用途,例如常被用来学习高斯混合模型(Gaussian mixture model,简称GMM)的参数;隐式马尔科夫算法(HMM)、LDA主题模型的变分推断等等。本文就对EM算法的原理做一个...原创 2019-05-28 16:01:57 · 14797 阅读 · 23 评论 -
SVM——支持向量回归(SVR)
1、支持向量回归的原始问题先来看看SVM线性支持向量机(软间隔)的原始问题:其中ξi是松弛变量,但它实际上是hinge(合页)损失函数,所以ξi也作为对应的点(xi, yi)的损失,如下图所示:当点(xi, yi)位于间隔面上或者间隔面之外(这两种都是正确分类的情况)则ξi=0,若点(xi, yi)位于分割面上或者正确分类且位于间隔面之内或者位于分错的那一侧,这三种情况都是有损失的,损失...原创 2019-05-17 17:08:14 · 4255 阅读 · 4 评论 -
EM算法在高斯混合模型中的应用(非常简单,完全按照EM算法的节奏)
一、首先介绍一下高斯混合模型高斯混合模型是指具有如下概率分布的模型:其中,θ=(α1,μ1,σ12,α2,μ2,σ22,…,αK,μK,σK2),它是整个混合模型(有K个分模型)的参数。αk是系数,αk ≥ 0,代表第k个分模型被选中的概率,且满足下式:(μk,σk2)是第k个分模型的参数,Φ(y | (μk,σk2))是高斯概率密度,也称它为第k个分模型,即:解释:因为高斯混合模...原创 2019-05-29 09:48:44 · 1381 阅读 · 1 评论 -
马尔可夫随机场与条件随机场
本文仅仅讲解一下马尔可夫随机场和条件随机场的定义和形式,不会涉及到条件随机场的概率计算和模型学习问题,因为阅读的书籍和博客都讲的很混乱,所以深入的讲解很难进行,望见谅。一、马尔可夫随机场马尔可夫随机场就是概率无向图模型,它是一个可以用无向图表示联合概率分布。假设有一个联合概率分布P(Y),其中Y代表一组随机变量,该联合概率分布可以由无向图来表示,图中的每一个节点表示的是Y中的一个随机变量,图...原创 2019-06-12 20:05:39 · 3530 阅读 · 0 评论 -
隐马尔可夫模型(一)——HMM模型的定义和问题
注:这些基本的概念知识,我直接参考了https://www.cnblogs.com/pinard/p/6945257.html这篇博客,我将重点放在了自己对于鲍姆-韦尔奇算法和维特比算法的理解上。一、什么样的问题需要HMM模型首先我们来看看什么样的问题解决可以用HMM模型。使用HMM模型时我们的问题一般有这两个特征:1)我们的问题是基于序列的,比如时间序列,或者状态序列。2)我们的问题中有两类...原创 2019-06-01 21:22:30 · 1751 阅读 · 0 评论 -
隐马尔可夫模型(二)——前向算法和后向算法
一、 问题回顾计算观测序列概率。即给定模型λ=(A,B,Π)和观测序列O={o1,o2,…oT},计算在模型λ下观测序列O出现的概率P(O;λ)。这个问题的求解需要用到前向算法和后向算法,我会在隐马尔可夫模型系列的第二篇博客中讲解,这个问题是HMM模型三个问题中最简单的。二、前向算法用前向算法来求观测序列O={o1,o2,…oT}的概率,首先定义前向概率。前向概率:给定隐马尔可夫模型λ...原创 2019-06-02 10:23:47 · 2142 阅读 · 3 评论 -
隐马尔可夫模型(三)——鲍姆-韦尔奇算法(Baum-Welch算法)
一、问题回顾模型参数的学习问题。即给定观测序列O={o1,o2,…oT},估计模型λ=(A,B,Π)的参数。这个问题的求解需要用到鲍姆-韦尔奇算法,我会在隐马尔可夫模型系列的第三篇博客中讲解,这个问题是HMM模型三个问题中最复杂的。鲍姆-韦尔奇算法本质上就是EM算法,只不过它比EM算法出来的早,所以这里继续称它为鲍姆-韦尔奇算法。二、监督学习算法求解模型参数监督学习算法适用于观测序列和状态...原创 2019-06-02 18:48:55 · 11832 阅读 · 7 评论 -
隐马尔可夫模型(四)——维特比算法
一、问题回顾隐马尔可夫的预测问题,也称为解码问题。即给定模型λ=(A,B,Π)和观测序列O={o1,o2,…oT},求给定观测序列条件下,最可能出现的对应的状态序列。这个问题的求解需要用到基于动态规划的维特比算法,我会在隐马尔可夫模型系列的第四篇博客中讲解。二、近似算法在讲解维特比算法之前,我们先来看一种求解该问题的近似算法。**问题:**在给定观测序列 O = {o1, o2,…, oT...原创 2019-06-11 15:42:54 · 1895 阅读 · 0 评论 -
前向分布算法与Adaboost
首先了解一下提升方法的思路:”将多个弱学习模型组合成一个强学习模型,这个强学习模型可以达到比任何一个弱学习模型都要好的预测效果”,那么应该怎样求这个强学习模型,直接就能求出来吗?况且到目前为止连弱学习模型都还没有,那么就必须弄明白怎样来学习弱学习模型,之后又该怎样来组合它们呢?显然第一个问题非常困难,基本上是不可能求解的,而第二个问题前向分布算法给出了答案。前向分布算法前向分布算法考虑的问题及...原创 2019-05-20 16:32:35 · 2222 阅读 · 5 评论 -
最大熵模型
一、最大熵原理最大熵原理是概率模型学习的一个准则。通常通过约束条件确定符合条件的概率模型集合,最大熵原理认为在所有符合条件的概率模型中熵最大的模型是最好的。假设随机变量X的概率分布是P(X),则该随机变量X分布的熵为:熵满足下列不等式:其中,|X|是随机变量X的取值个数,当且仅当X服从均匀分布时,右边的等号成立,也就是说X服从均匀分布时熵最大。熵本来就是用来度量物体的混乱程度,X服从均...原创 2019-04-03 16:51:10 · 1353 阅读 · 0 评论 -
SVM——线性可分支持向量机
一、概念支持向量机是一种二类分类模型,它是定义在特征空间上的间隔最大的分类器,间隔最大使它有别于感知机并且是唯一的。支持向量机的学习策略就是间隔最大化,可以形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机学习方法包含线性可分支持向量机,线性支持向量机以及非线性支持向量机。当训练数据集线性可分的时候,通过硬间隔最大化,学习一个线性的分类器即线性可分支持向量机...原创 2019-04-08 22:55:01 · 2663 阅读 · 0 评论 -
线性回归总结
一、原理在二维情况下y=f(x),也就是在二维平面上分布了许多(x1,y1),(x2,y2)…(xn,yn)的点。这时我们想要求得一条直线Y=aX+b,使得(x1,y1),(x2,y2)…(xn,yn)这些点基本上都能落到这条线上,也就是我们在求得参数a,b后对每一个x值(x1,x2…xn)我们都能求得一个Y值,如果每一次求得的Y值和其真实值y很接近我们就可以用Y=aX+b来对x的真实值y进行...原创 2018-11-03 11:51:06 · 650 阅读 · 0 评论 -
前向分布算法、Adaboost算法、提升树算法、梯度提升算法、GBDT(梯度提升决策树)和XGBoost(极限梯度提升)
一、梯度提升算法梯度提升的概念提升算法的思想F(x)为预测函数L(y,F(x))=1/2(y-F(x))2为平方误差L(y.F(x))=|y=F(x)|为绝对值误差F*(x)为使得所有样本平方误差的均值最小的F(x)提升算法的思路:首先我们假定F(x)是一族基函数fi(x)的加权和,现在我们要通过M次迭代得到一个最优的F(x),每一次迭代我们就加上一个使得所有样本平方误差之和...原创 2018-11-22 23:04:26 · 3963 阅读 · 1 评论 -
python——cross_val_score()函数、ShuffleSplit()函数、zip()函数
cross_val_score():# cross_val_score(estimator, X, y=None, scoring=None, cv=None, n_jobs=1)# 该函数用交叉检验(cross-validation)来估计一个模型的得分# estimator:需要一个模型对象# X和y分别表示自变量和因变量# scoring:需要string, callable or...原创 2019-01-17 17:20:44 · 8395 阅读 · 1 评论 -
python——defaultdict()函数和shuffle()函数
defaultdict():# defaultdict(default_factory=None, **kwargs)# 普通的dict当查询某个不存在的key的value时会报错,而defaultdict不会报错它会返回工厂函数对应的返回值# 工厂函数可以取list,set,str,int等,对应的返回值为[],set(),'',0np.random.shuffle():# np.r...原创 2019-01-17 17:23:40 · 424 阅读 · 0 评论 -
BP神经网络
神经网络知识简述人工神经元:人工神经元是人工神经网络操作的基本信息处理单位。人工神经元模型:一个人工神经元对输入X=[x1,x2,…xm]T的输出为y=f(u + b),其中有:b为阈值激活函数:人工神经网络的学习也称为训练,在分类与预测中,人工神经网络主要使用有指导的学习方式,根据给定的训练样本调整神经网络的参数使得网络输出接近已知的样本类标记或其它形式的因变量。δ学习规...原创 2019-01-18 11:35:57 · 475 阅读 · 0 评论 -
分类与预测模型效果评价
误差评价法:通常通过绝对/相对误差、平均绝对误差、均方误差、均方根误差等指标来衡量模型的预测效果。(1)绝对误差与相对误差Y表示真实值,Y^表示预测值E为绝对误差:E=Y-Y^e为相对误差:e=(Y-Y^)/Y(2)平均绝对误差(Mean Absolute Error)误差有正有负,为了避免误差相互抵消故取误差绝对值的综合的平均值。(3)均方误差(Mean Squared Err...原创 2019-01-18 19:15:50 · 13009 阅读 · 2 评论 -
K-means聚类算法、Pandas绘制概率密度图和TSNE展示聚类结果
K-means聚类算法是典型的基于距离的非层次聚类算法,在最小化误差函数的基础上将数据划分为预定的K个类,使得K个类达到类内数据距离之和最小而类间距离之和最大。它是无监督学习算法,采用距离作为相似性的度量指标,即认为两个对象距离越近,其相似性就越大。1、数据类型与相似性度量(1)连续属性和离散属性数据对于连续属性,要依次对每个属性的属性值进行零-均值化处理;对于离散属性,要依次对每个属性的属...原创 2019-01-19 18:43:12 · 10058 阅读 · 3 评论 -
KNN算法(K-近邻)
1、特点(1)是监督学习算法(2)不需要训练模型,但是如果数据庞大,时间复杂度将是O(n2)(3)对于属性值较大的属性需要进行归一化,否则该属性将在计算距离的时候占据主导权。2、代码import numpy as npimport typesimport pandas as pdfrom collections import Counterfrom sklearn.metrics...原创 2019-03-02 16:58:09 · 193 阅读 · 0 评论 -
感知机
一、概念感知机是用于二分类的线性分类模型,其输入是实例的特征向量,输出是实例的类别,类别取+1和-1二个值,+1代表正类,-1代表负类。感知机对应于输入空间(特征空间)中将实例分为正负两类的分割超平面,属于判别模型。感知机学习算法简单易于实现,分为原始形式和对偶形式。生成模型和判别模型监督学习方法可以分为生成方法和判别方法,对应所学到的模型称为生成模型和判别模型。生成模型:生成方法通过数据...原创 2019-03-31 12:28:54 · 933 阅读 · 1 评论 -
凸集、凸函数、凸优化和凸二次规划
凸集定义1:凸函数图像的上方区域,一定是凸集。定义2:集合C内任意两点间的线段均包含在集合C形成的区域内,则称集合C为凸集。凸集:非凸集:例如:保持凸集凸性的运算:(1)两个凸集的和为凸集若S1、S2均为凸集,则S3 = S1+S2 = {x+y|x∈S1, y∈S2}也为凸集(2)两个凸集的笛卡尔积为凸集S1 x S2 = {(x1, x2) | x1∈S1, x2...原创 2019-04-06 17:52:55 · 6773 阅读 · 0 评论 -
逻辑回归(LR)中为什么要使用sigmoid函数,为什么一开始就指定p(y=1|x)的概率?
首先分享一位知乎大佬的文章:接着你可以看看下面这篇博客,更直观的看出高斯分布和sigmoid之间的联系:https://blog.csdn.net/liuyhoo/article/details/81558350原创 2019-07-08 20:58:21 · 2061 阅读 · 0 评论