1.1分类(classification)

1.1 分类(classification)

1.1.1线性回归(Linear Regression)

线性回归是利用被称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间的关系进行建模的一种回归分析。这种函数式一个或多个被称为回归系数的模型参数的线性组合。

在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析被称为一元回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则被称为多元线性回归分析。

简而言之,就是对于数据中一维至多维的点求得一个最佳拟合的线性方程。

注:(求多维拟合线性方程)

1.1.2 逻辑回归(Logistic Regression)

逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和,然后使用函数g(z)进行计算(该函数称为Logistic函数或Sigmoid函数)。函数g(z)可将连续值映射到从0到1上。

逻辑回归于线性回归的不同点在于:将线性回归的输出范围从负无穷到正无穷压缩到从0到1之间。

注:函数g(z) = 1/(1+e^(-z))。

1.1.3 朴素贝叶斯(Naive Bayes)

贝叶斯定理:p(A)是A的先验概率或边缘概率,因为它不考虑任何关于B的因素。p(A|B)是已知B发生后A的条件概率,成为A的后验概率,同理如p(B|A)。p(B)是B的先验概率或边缘概率,也被称作标准化常量(nromalized constant)。B事件下发生事件A的条件概率p(A|B) = p(AB) / p(B),而贝叶斯定理为:p(B|A) = p(A|B) p(B) / p(A)。

朴素贝叶斯的思想:对于给出的待分类项,求解在此项出现的条件下,各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。

1.1.4 带随机梯度下降的流式逻辑回归(Streaming Logistic Regression With SGD)

该算法与regression包中带随机梯度下降的逻辑回归(Logistic Regression with SGD)方法相同,只不过是设置的默认每次迭代步长为0.5,更趋于流式数据,以应对处理流式数据。

补充:该算法是基于Spark Streaming的。

在流数据上训练或预测逻辑回归模型。训练使用随机梯度下降来根据来自DStream的每一批新数据更新模型。每一批数据都被假定为一个LabeledPoints的RDD。每个批次的数据点的数量可能有所不同,但是特性的数量必须是恒定的。必须提供一个初始的权向量。

1.1.5 支持向量机(SVM(Support Vector Machine))

支持向量机(SVM)是一个类分类器,它能够将不同类的样本在样本空间中进行分隔,其中生成的分隔面叫做分隔超平面。给定一些标记(label)好的训练样本(监督学习),SVM算法输出一个最优化的分隔超平面。

SVM算法的实质是找出一个能够将某个值最大化的超平面,这个值就是超平面离所有训练样本的最小距离(SVM算法实质是找出一个能将离所有训练样本的最小距离最大化的超平面)。这个最小距离称为间隔(margin)。SVM使用拉格朗日定理来求这个最大化值(最优解),优化SVM。在线性不可分的情况下,SVM的处理方法是选择一个核函数k(x1, x),通过将数据映射到高维空间来解决原始空间中线性不可分的问题。

注:使用拉格朗日求最优解的过程中使用了“对偶问题”的求解方法,即max-min问题可转化为min-max问题,与贝叶斯类似。

1.1.6 广义线性模型(GLM(Generalized Linear Moedl) Classification Model)

在Mllib中广义线性模型用的是广义线性回归算法。在做回归分析的时候因变量Y与自变量X符合的分布,可能不仅限于普通分布、二项分布、泊松分布、高斯分布、伯努利分布或者多项分布,这时需要广义线性回归做回归预测,Spark的广义线性回归允许堆GLM进行灵活的规范,使之可用于各种类型的预测问题,包括线性回归、泊松回归、逻辑回归等。

广义线性模型是从三种假设开始推导建立的:

  1. y∣x;θ ~ExponentialFamily(η)ExponentialFamily(η):固定参数θ,在给定x的情况下,y服从指数分布族(The exponential family)中以η为参数的某个分布。
  2. 给定一个xx,我们需要的目标函数为hθ(x)=E[T(y)∣x;θ],后者为该分布的期望。
  3. 令η=θTxη=θTx。

其中,所有可以表示成如下形式的概率分布,都属于指数分布族:

p(y;η)=b(y)exp(ηTT(y)−a(η))。

也就是说,符合指数分布族的分布,都可用广义线性模型解决问题,如高斯分布、伯努利分布、多项式分布(Multinomial)、泊松分布(Poisson)、指数分布(Exponential)等等。

 

返回主目录(Spark MLLib算法思想总结)

 

1.1分类(classification)