zoukankan      html  css  js  c++  java
  • 大数据机器学习 学习笔记(二)

    第四章 感知机

    感知机模型

    定义:假设输入空间(特征空间)是(chi subseteq R^n),输出空间是(y = {+1, -1}),输入(x in chi):表示实例的特征向量,对应于输入空间(特征空间)的点,输出(y in Y)表示实例的类别,由输入空间到输出空间的函数。(f(x) = sign(w * x + b))

    几何解释:线性方程(w * x + b = 0)对应于超平面(S),其中(w)是特征空间的法向量,(b)是超平面的截距,分离正负类。

    感知机学习策略

    为了确定感知机模型的参数(w)(b),需要定义损失函数,并将其最小化。

    损失函数:误分类点到超平面的总距离,距离:(frac{1}{||w||}|w * x_0 + b|),误分类点:(-y_i(w*x_i+b)>0),误分类点距离:(-frac{1}{||w||}y_i(w*x_i+b)),总距离:(-frac{1}{||w||}sum_{x_i in M}y_i(w*x_i+b))。其中,(M)为误分类点的数目。

    感知机学习算法

    目标:选取合适的(w,b)使损失函数最小化。

    首先任意选择一个超平面,针对(w_0)(b_0),采取随机梯度下降法不断极小化目标函数,一次随机选取一个误分类点使其梯度下降。

    假设误分类点集合M是固定的,则损失函数(L(w, b))的梯度由以下两个式子给出:

    1. (L(w, b) = -sum_{x_i in M}y_ix_i)(w leftarrow w + eta y_ix_i)
    2. (L(w, b) = -sum_{x_i in M}y_i)(b leftarrow b + eta y_i)

    算法步骤:

    1. 选取初值(w_0)(b_0)
    2. 在训练集中选取数据((x_i, y_i))
    3. 如果(y_i(w * x_i + b) leq 0)(w leftarrow w + eta y_ix_i)(b leftarrow b + eta y_i)
    4. 转至2,直至训练集中没有误分类点。

    算法收敛性:经过有限次迭代可以得到一个将训练数据集完全正确划分的分离超平 面及感知机模型。

    定理表明:

    • 误分类的次数k是有上界的,当训练数据集线性可分时,感知机学习算法原始形式迭代是收敛的。
    • 感知机算法存在许多解,既依赖于初值,也依赖迭代过程中误分类点的选择顺序。
    • 为得到唯一分离超平面,需要增加约束,如SVM。
    • 线性不可分数据集,迭代震荡。

    感知机学习算法的对偶形式:

    • 输入:训练数据集(T = {(x_1, y_1),(x_2, y_2),dots,(x_N, y_N)}),其中(x_i in chi = R^n)(y_i in Y = {-1, +1})(i = 1,2,dots,N),学习率(eta(0 lt eta leq 1))
    • 输出:(alpha, b),感知机模型(f(x) = sign left( sum_{j = 1}^N alpha_j y_j x_j * x + b ight)),其中(alpha = (alpha_1, alpha_2, dots, alpha_N)^T)
    • 步骤:
      1. (alpha leftarrow 0)(b leftarrow 0)
      2. 在训练集中选取数据((x_i, y_i))
      3. (y_i left( sum_{j = 1}^{N} alpha_j y_j x_j * x_i + b ight) leq 0)(alpha_i leftarrow alpha_i + eta)(b leftarrow b + eta y_i)
      4. 转至2直到没有误分类数据。

    测试

    1. 感知机属于生成模型还是判别模型?

      答案:判别模型。

    2. 感知机不能学习异或XOR函数

      答案:正确。

      解析:感知机是线性模型,因此不能表示复杂的函数。输入的两个逻辑值一真一假XOR结果为真,两个输入逻辑值同真同假XOR得假。训练集线性不可分,当然不能用感知机表示出XOR函数。不光感知机无法处理异或问题,所有的线性分类模型都无法处理异或分类问题。

    3. 多层感知机解决线性不可分问题的原理是:

      • [ ] 分而治之,对原始问题空间进行划分

      • [ ] 将原始问题向更高维空间映射

      • [ ] 在输出层和隐含层之间形成非线性的分界面

      • [x] 将原始问题在隐含层映射成线性可分问题

    4. 在感知机中(Perceptron)的任务顺序是什么?1 随机初始化感知机的权重2 去到数据集的下一批(batch)3 如果预测值和输出不一致,则调整权重4 对一个输入样本,计算输出值

      • [ ] 1, 2, 3, 4
      • [ ] 4, 3, 2, 1
      • [ ] 3, 1, 2, 4
      • [x] 1, 4, 3, 2
    5. 以下关于感知机说法错误的是:

      • [x] 感知机是二分类的线性分类模型,属于非监督学习算法
      • [x] 只要参数设置得当,感知机理论上可以解决各种分类问题
      • [ ] 感知机的训练过程可以看成是在误差空间进行梯度下降
      • [x] 感知机学习算法是正确分类驱动的

      解析:

      1. 感知机属于监督学习算法,输入为实例的特征向量,输出为实例的类别(取+1和-1)。
      2. 单层感知机无法解决非线性分类问题。
      3. 感知机学习算法是误分类驱动的。具体采用随机梯度下降法。

    第五章 聚类

    原型聚类描述

    无监督学习:标记未知、揭示数据的内在性质和规律。

    应用最广的无监督学习:聚类

    聚类的形式化描述:

    • 样本集:(D = {x_1, x_2, dots, x_m})
    • 每个样本:(x_i = (x_{i1}; x_{i2}; dots; x_{in}))
    • 划分为(k)个不相交的簇:({C_l | l = 1, 2, dots, k})
    • 簇标记:(lambda_j in {1,2,dots,k})
    • 聚类的结果可用包含(m)个元素的簇标记向量(lambda = (lambda_1; lambda_2; dots; lambda_m))表示。

    聚类的重要性:其它学习任务的前驱过程。

    性能度量

    聚类结果比较好的两个指标:

    1. “簇内相似度”(intra-cluster similarity)高。
    2. “簇间相似度” (inter-cluster similarity)低。

    性能度量:

    1. “外部指标” (external index) :计数法。
    2. “内部指标” (internal index) :距离法。

    原型聚类

    原型聚类prototype-based clustering:此类算法假设聚类结构能通过一组原型刻画,算法先对原型进行初始化,然后对原型进行迭代更新求解。

    • K均值算法

      1. 给定样本集(D = {x_1,x_2,dots,x_m})
      2. 聚类得到的簇划分(C = {C_1,C_2,dots,C_k})
      3. 最小化平方误差:(E = sum_{i = 1}^k sum_{x in C_i} ||x - mu_i||_2^2)
      4. (mu)为簇(i)的均值向量,(E)值越小则簇内样本相似度越高。
    • 学习向量算法

      学习向量量化(Learning Vector Quantization, LVQ),和k均值聚类的不同:

      1. 每个样例有类别标签。
      2. 输出不是簇的划分,是每个类别的原型向量。
      3. 每个类别的原型向量不是简单的均值向量,考虑了附近非同类样例的影响。

    密度聚类

    基于密度的聚类(density-based clustering),特点:假设聚类结构通过样本分布的紧密程度确定,通常情形下算法从样本密度的角度来考察样本之间的可连接性,并基于可连接样本不断扩展聚类簇以获得最终的聚类结果。

    层次聚类

    层次聚类(hierarchical clustering)试图在不同层次对数据集进行划分,从而形成树形的聚类结构。

    AGNES方法:

    1. 自底向上聚合策略的层次聚类算法。
    2. 先将数据集中的每个样本看作一个初始聚类簇。
    3. 然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并。
    4. 该过程不断重复, 直至达到预设的聚类簇个数。

    测试

    1. 聚类任务是有监督学习还是无监督学习?

      答案:无监督学习。

    2. 距离度量需满足的基本性质有:非负性,同一性,对称性,直递性

      答案:正确。

    3. DBSCAN是基于划分的聚类。

      答案:错误,DBSCAN是基于密度的聚类。

    第六章 贝叶斯分类器及图模型

    概率图模型

    概率模型:一种描述框架,将学习任务归结于计算变量的概率分布。

    推断 inference:利用已知变量推测未知变量的分布。

    1. 所关心的变量集合为Y。
    2. 可观测变量集合为O。
    3. 其他变量的集合为R。

    “生成式”(generative)模型:考虑联合分布 P(Y, O, R)。

    “判别式”(discriminative)模型:考虑条件分布 P(Y, R | O)。

    给定一组观测变量值,推断就是要由 P(Y,O,R),或 P(Y, R | O)得到条件概率分布 P(Y|O)。

    概率图模型:用图表达变量相互关系的概率模型。

    1. 有向无环图 directed acyclic graph,又称贝叶斯网络bayesian network。
    2. 无向图 undirected graph,又称马尔科夫网络Markov network。

    贝叶斯网络

    贝叶斯网络是由图论和概率论结合而成的描述多元统计关系的模型,它为多个变量之间复杂依赖关系的表示提供了统一的框架,具有紧凑有效、简洁直观的特点。

    由于贝叶斯网络对大规模复杂系统简约而紧凑的表示能力,使得其成为人工智能、专家系统、模式识别、数据挖掘和软件测试等领域的研究热点。

    贝叶斯决策论:在不完全情报下,对部分未知的状态用主观概率估计,然后用贝叶斯公式对发生概率进行修正,最后再利用期望值和修正概率做出最优决策。是统计模型决策中的一个基本方法。

    贝叶斯决策理论基本思想:

    1. 已知类条件概率密度参数表达式和先验概率。
    2. 利用贝叶斯公式转换成后验概率。
    3. 根据后验概率大小进行决策分类。

    朴素贝叶斯分类器

    朴素贝叶斯分类器:基于“属性条件独立性假设”(attribute conditional independence assumption)。

    考虑:用极大似然估计可能会出现所要估计的概率值为0的情况,这时会影响到后验概率的计算结果,使分类产生偏差。

    光滑和拉普拉斯修正” ( Smooth and Laplacian correction) :N为类别数,Ni为第i个属性可能的取值数。

    条件概率的谬论:假设 P(A|B) 大致等于 P(B|A)。

    • 产生原因:类别不均衡。

    • 改进:适当考虑一部分属性间的依赖关系。

    • 如何确定父属性:

      1. 选择贝叶斯分类器(SBC: Selective Bayesian Classifier)。

        • 设计目标:提高朴素贝叶斯在属性冗余情况下的分类精度。

        • 只使用属性集的子集作为决策过程中的属性结点,即选择贝叶斯分类器选择初始特征的子集作为属性结点。

        • 通过搜索特征空间,去掉特征间具有较强依赖关系的属性。

        • 前向(空集到全集),后向(全集到空集)。

        • 可能的搜索子集(2^m)

      2. 超父独依赖估计分类器(Super parent ODE) 。

      3. 树增广朴素贝叶斯网络分类器(TAN: Tree Augmented Naive Bayes)。

      4. 平均独依赖估测器( AODE:averaged one dependence estimators)学习算法。

      5. 加权平均独依赖估测器(WAODE:weightily averaged one dependence estimators)学习算法。

    贝叶斯网络结构学习推断

    贝叶斯网络“查询”:根据一些属性变量的观测值来推测其它属性变量的值。

    最理想:根据联合概率分布精确计算后验概率 ( ightarrow) 现实:NP难问题 ( ightarrow) 近似推断:Gibbs sampling。

    吉布斯采样

    步骤:

    1. 随机产生一个与证据E=e一致的样本q 0作为起始点,然后每步从当前样本出发产生下 一个样本。
    2. 第t次采样,先假设q t=qt-1,然后对非证据变量逐个进行采样改变其取值,采样概率 根据贝叶斯网B和其它变量的当前取值Z=z计算活动。
    3. 经过T次采样得到的与q一致的样本共nq格,则可近似估算出后验概率:(P(Q = q | E = e) approx frac{n_q}{T})

    实质上:

    1. 吉布斯采样是在贝叶斯网所有变量的联合状态空间与证据E=e一致的子空间中进行“随机漫步”(random walk)。
    2. 每一步仅依赖于前一步的状态,为一个markov chain。
    3. 在一定条件下,markov chain第t步在t趋近于无穷大时必收敛于一个平稳分布stationary distribution。
    4. 对于吉布斯采样来说,这个分布恰好是P(Q|E=e),即当T很大时,吉布斯采样相当于根据P(Q|E=e)采样,从而保证公式收敛。

    存在问题:

    1. Markov chain需要很长时间才能趋于平稳分布,因此Gibbs采样收敛慢。
    2. 当贝叶斯网络中有0或1概率时,不能保证马尔科夫链有平稳分布,会给出错误结果。

    解决方法:EM。

    测试

    1. 关于因子图,说法错误的是:

      • [ ] 因子图由两类不同的结点组成,且所有的链接都位于两类不同的结点之间。
      • [ ] 基于因子图可以用和积算法高效的求各个变量的边缘分布。
      • [ ] 和积算法是一种通用的消息传递算法。
      • [x] 只有无向图能转化为因子图。

      解析:有向图也能转化为因子图。

    2. 关于贝叶斯网络,说法错误的是:

      • [ ] 贝叶斯网络是基于有向无环图来刻画属性之间的依赖关系的一种网络结构。
      • [ ] 贝叶斯网表达了各个节点间的条件独立关系,我们可以直观的从贝叶斯网当中得出属性间的条件独立以及依赖关系。
      • [x] 结点间的相互独立关系会增加建网过程当中的计算量。
      • [ ] 贝叶斯网可以处理不完整和带有噪声的数据集。

      解析:独立关系会大大减少计算量。

    3. 朴素贝叶斯法属于生成模型。

      答案:正确。

      解析:朴素贝叶斯法实际上是学习到生成数据的机制,所以属于生成模型。

    4. 朴素贝叶斯法没有明确的搜索可能假设空间的过程。

      答案:正确。

      解析:朴素贝叶斯法的假设形成不需要搜索,只是简单地计算训练样例中不同数据组合的出现频率就可以了。

    5. 为什么需要半朴素贝叶斯分类器?

      • [x] 后验概率P(c∣x)计算起来比较困难。
      • [x] 属性条件独立性假设在现实任务中往往很难成立。
      • [ ] 以上均正确。
      • [ ] 以上均不正确。

      解析:半朴素贝叶斯分类器适当考虑一部分属性之间的相互依赖信息,从而既不需要进行联合概率计算,又不至于彻底忽略比较强的属性依赖关系,是为了解决后验概率P(c∣x)计算起来比较困难、属性条件独立性假设在现实任务中往往很难成立等问题。

    6. Gibbs采样收敛慢。

      答案:正确。

      解析:Markov chain需要很长时间才能趋于平稳分布,因此Gibbs采样收敛慢。

  • 相关阅读:
    一起学Vue之表单输入绑定
    简单易懂的单元测试框架-gtest(二)
    简单易懂的单元测试框架-gtest(一)
    最常用设计模式-模板方法模式
    最常用设计模式-简单工厂模式
    最常用设计模式-单例模式
    端口复用后门
    内存取证工具-volatility、foremost
    python的exe反编译
    Linux加密known_hosts文件中的IP
  • 原文地址:https://www.cnblogs.com/songjy11611/p/13719687.html
Copyright © 2011-2022 走看看