做网站能用自己电脑吗/广告推广免费

做网站能用自己电脑吗,广告推广免费,苏州网站建设需要多少钱,企业管理培训课程好卖吗周志华老师的机器学习初步的笔记 绪论 知识分类 科学 是什么,为什么 技术 怎么做 工程 多快好省 应用 口诀,技巧,实际复杂环境,行行出状元 定义 经典定义 利用经验改善系统自身的性能 训练数据 模型 学习算法 分类 决策树…

周志华老师的机器学习初步的笔记

绪论

知识分类

科学 是什么,为什么

技术 怎么做

工程 多快好省

应用 口诀,技巧,实际复杂环境,行行出状元

定义

经典定义 利用经验改善系统自身的性能

训练数据

模型 学习算法 分类

决策树,神经网络,支持向量机,boosting,贝叶斯网

测试数据

输出

重要理论

  • PAC (Probably Approximately Correct,概率近似正确),如公式所示

    P ( ∣ f ( x ) − y ∣ ≤ ϵ ) ≥ 1 − δ P(|f(x)-y| \leq \epsilon) \geq 1 - \delta P(f(x)yϵ)1δ 即预测结果 f ( x ) f(x) f(x)落在允许误差 ϵ \epsilon ϵ内的概率在置信区间$ \delta$内

P问题,在多项式时间内能找到解,NP问题,在多项式时间内验证是不是解

基础

基本术语

数据集:训练,测试,测试集与训练集要不一样

示例:即西瓜的特征,样例:示例加上西瓜的好坏

样本:一个数据集或一个样例

属性、特征:即色泽,根蒂

分为离散和连续,离散又分为有序和无序

像颜色,可以直观上说无序,也可以根据光谱波长来说有序

属性空间,样本空间,输入空间:即样本点放在坐标系里面,以便于回归分析

特征向量:即一个示放在空间之中的结果


假设: f ( x ) f(x) f(x)我们的模型得到的结果本质是一个假设

真相: y y y真实结果

学习器:得到的学习结果,参数那种


分类,回归

二分类,多分类

正类,反类


无监督学习和监督学习的区别就是前者的数据集都没有标签,需要根据特征进行自行分类

监督学习里面有分类(class,类)和回归,分别对应无监督学习里面的聚类(cluster,簇)和密度估计


学习本质

我们假定所拿到的数据是满足某个未知分布的,所有数据都是独立同分布取出来的数据

而学习的数据只是这个分布里面的一部分,而我们训练的模型是否能够处理分布以外的数据

泛化,即 ϵ \epsilon ϵ能达到多小,只有降其降到足够小,我们才能够去设计算法

归纳偏好

使用奥卡姆剃刀原理,在多种合理理论的时候选择最简单的理论

所以机器学习在处理不同类型的问题有不同的模型

NFL定理:no free lunch,一个模型在满足了部分数据集就必然不能满足另外一部分,不同模型各有优劣,一个问题的不同部分可能使用多个模型

具体问题具体分析,要明确输入输出才是问题,即x,y。分类不算一个问题

误差

经验误差,在训练集上的误差,采用参数优化,一般为梯度下降

泛化误差,在未来样本的误差,采用正则化,防止过拟合

正则化和正则表达式没有任何关系,可能会因为我们学习的过拟合认为二者有联系

而我们机器学习的过程就是不断降低经验误差的过程

但是泛化误差却是一个u型曲线,先逐渐下降,再逐渐上升,即欠拟合和过拟合

所以在一直下降的经验误差中,找到最小的泛化误差是一个难点

但这个问题也没有确切的解决方案,所以不同的模型其实是在使用不同的方案缓解过拟合

了解缓解过拟合的方法是学习新模型的首要目的

正则化

如在多项式拟合中针对参数正则化,因为越高阶的参数在过拟合时,数值上会更大

为了防止高阶参数的影响过大,而自己也不需要去指定多少阶,所以我们的原始损失函数后面加上正则化项来表示总损失函数

而正则化我们一般使用L1和L2正则化,即一阶和二阶正则化

使用L1正则化 L t o t a l = L + λ ∑ i ∣ w i ∣ L_{\mathrm{total}}=L+\lambda\sum_i|w_i| Ltotal=L+λiwi

使用L2正则化 L t o t a l = L + λ 2 ∑ i w i 2 L_{\mathrm{total}}=L+\frac\lambda2\sum_iw_i^2 Ltotal=L+2λiwi2 这里的1/2是为了求导方便

L为原始损失函数,一般为均方误差 M S E = 1 m ∑ i = 1 m ∑ j = 1 n ( y ^ i j − y i j ) 2 \mathrm{MSE}=\frac1m\sum_{i=1}^m\sum_{j=1}^n\left(\hat{y}_{ij}-y_{ij}\right)^2 MSE=m1i=1mj=1n(y^ijyij)2

范数

这里的L1和L2在数学里叫做范数,用来表示向量的大小,下面是 L p L_p Lp范数的基本形式
∥ v ∥ p = ( ∑ i = 1 n ∣ v i ∣ p ) 1 / p \|\mathbf{v} \|_p = \left( \sum_{i=1}^{n} |v_i|^p \right)^{1/p} vp=(i=1nvip)1/p

范数.png

评估模型

评估方法

关键在于如何得到测试集?

留出法:将数据集分割为训练集和测试集

要分层采样,多次训练切分进行平均,一般进行4:1分。最后将所有数据集进行训练得到模型

极端的情况,留一法:每次留一个来进行测试,虽然得到的结果与全部数据用来训练相近,但这样会导致未来误差不准确

k-折交叉验证法:解决留出法中未能将全部数据集用于训练和验证,而数据集所有都很重要的时候

将数据集划分为k份,依次取一份来当测试集。而这个划分也可能对结果产生影响,所以也进行k次划分,即为10*10的验证

自助法:(bootstrap sampling)将样本分为n包,每次有放回的取n包出来,将没有取出过的作为测试集,也叫包外估计

m个样本取m次,没有取到的概率为

lim ⁡ m → ∞ ( 1 − 1 m ) m = 1 e ≈ 0.368 \lim_{m\to\infty}\left(1-\frac1m\right)^m=\frac1e\approx0.368 limm(1m1)m=e10.368

因为这样改变了训练数据的分布,所以在数据不那么重要的时候使用

调参数

算法参数,如用n次曲线去回归的这个n,一般由人工设定,称为超参数

模型参数,由训练数据集训练的得到的参数,即权重(weight)和偏置(bias)

验证集,将训练集分割一部分出来,用于评估选择的模型是否合适,如验证超参数,如果合适再合并一起训练

性能度量

即损失函数最小

如回归任务常用的均方误差, E ( f ; D ) = 1 m ∑ i = 1 m ( f ( x i ) − y i ) 2 E(f;D)=\frac1m\sum_{i=1}^m\left(f\left(\boldsymbol{x}_i\right)-y_i\right)^2 E(f;D)=m1i=1m(f(xi)yi)2

而像logistic回归,使用交叉熵损失函数

像分类问题,分类结果混淆矩阵 p为positive,n为negative

预测结果 真实情况 正例 反例 正例 T P (真正例) F N (假反例) 反例 F P (假正例) T N (真反例) \begin{array}{c|c|c}\hline&\text{预测结果}\\\hline\text{真实情况}&\text{正例}&\text{反例}\\\hline\text{正例}&TP\text{ (真正例)}&FN\text{ (假反例)}\\\hline\text{反例}&FP\text{ (假正例)}&TN\text{ (真反例)}\\\hline\end{array} 真实情况正例反例预测结果正例TP (真正例)FP (假正例)反例FN (假反例)TN (真反例)

查准率 P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP 查全率 R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP

可以用这两种来进行评估不同模型的好坏

我们综合二者得到 1 F 1 = 1 2 ⋅ ( 1 P + 1 R ) \frac{1}{F1}=\frac{1}{2}\cdot\left(\frac{1}{P}+\frac{1}{R}\right) F11=21(P1+R1) 使用调和平均,让二者都能保持较高的值,也可以对偏好的加上权重,如 1 F β = 1 1 + β 2 ⋅ ( 1 P + β 2 R ) \frac{1}{F_\beta}=\frac{1}{1+\beta^2}\cdot\left(\frac{1}{P}+\frac{\beta^2}{R}\right) Fβ1=1+β21(P1+Rβ2) 通过设置 β \beta β的值来设定谁更重要

比较检验

使用概率论的假设检验

对于两个不同的算法得到错误率,然后相减得到x,我们多次训练,得到X矩阵

经典模型

线性模型

基础

分类,一条线划分两边

回归,一条线穿所有点

函数如下 f ( x ) = w 1 x 1 + w 2 x 2 + … + w d x d + b f(x)=w_1x_1+w_2x_2+\ldots+w_dx_d+b f(x)=w1x1+w2x2++wdxd+b 向量形式 f ( x ) = w T x + b f(x)=w^\mathrm{T}x+b f(x)=wTx+b

因为线性模型是对数值进行处理,所以我们需要将属性转换为样本

对无序的属性,如颜色,使用二进制编码转换,每一位表示一种颜色,编码为0001,0010,0100,1000这种

而对于多元求解,而矩阵未满秩,会求出多个解,我们采用归纳偏好,取某个w为最小或最大,这个过程也称为正则化,来防止我们模型过拟合

对数线性回归

l n f ( x ) = w T x + b lnf(x)=w^\mathrm{T}x+b lnf(x)=wTx+b,这里的ln称为联系函数g,必须单调可微

这里,我们需要将结果转化为[0,1]的结果,来进行分类

我们这里找到对数几率函数 y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+ez1 z为f(x)

将其代入后得到 ln ⁡ y 1 − y = w T x + b \ln\frac y{1-y}=w^\mathrm{T}x+b ln1yy=wTx+b y 1 − y \frac y{1-y} 1yy 就是odds,几率,正反概率之比,也就是对数几率函数的名称来源

使用残差和得到的函数无法求解最小值,所以我们使用极大似然估计得到损失函数
ℓ ( β ) = ∑ i = 1 m ( − y i β T x ^ i + ln ⁡ ( 1 + e β T x ^ i ) ) \ell\left(\boldsymbol{\beta}\right)=\sum_{i=1}^m\left(-y_i\boldsymbol{\beta}^\mathrm{T}\hat{\boldsymbol{x}}_i+\ln\left(1+e^{\beta^\mathrm{T}\hat{\boldsymbol{x}}_i}\right)\right) (β)=i=1m(yiβTx^i+ln(1+eβTx^i))
该函数也称为交叉熵损失函数,使用梯度下降来求解极值,与求导相比,计算机更擅长,也更加通用

线性判别分析

Linear Discriminant Analysis 简称LDA

如图,降维到一条直线上,使得不同类别分开,同一样本紧凑

project.png

定量计算就是最大化广义瑞利商, S b S_b Sb 为组间散度矩阵 $S_w $ 为组内散度矩阵 ,用这两个投影来表示距离,J越大越好
J = w T S b w w T S w w J=\frac{w^\mathrm{T}\mathrm{S}_bw}{w^\mathrm{T}\mathrm{S}_ww} J=wTSwwwTSbw
最后得到 $
\boldsymbol{w}=\mathbf{S}_w^{-1}\left(\boldsymbol{\mu}_0-\boldsymbol{\mu}_1\right)
$
其中由奇异值分解得到 S w − 1 = V Σ − 1 U T \mathbf{S}_{w}^{-1}=\mathbf{V}\Sigma^{-1}\mathbf{U}^{\mathrm{T}} Sw1=VΣ1UT

多分类

采用投票机制,怎么比较又分为OvO和OvR

multi-category.png

OvO,One-vs-One

讲一个任务拆解成若干个二分类任务,如四分类,就分为 C 4 2 = 6 C_4^2=6 C42=6 组,将被测对象输入着六个二分类模型,输出结果最多的就是我们的最终结果

如果打平,可以加入置信度的选择,如对数几率,直接比较输出的值的和,而不是用0,1比较

OvR,One-vs-Rest

将自己和其余的进行训练,分为正负类,哪个模型输出为正类就选哪个

比较

前者训练时间短,容易做并行化;后者训练模型更少,存储开销和测试时间更大。

二者预测性能差不多,选择在时间还是空间上进行取舍

类别不平衡

当小类占比很小,但又很重要的时候,我们一般采取下面的方法。

平衡采样,过采样小类或者欠采样大类。

  • 过采样采用在小类样本之间插值的方法,而不是直接复制
  • 欠采样则在大类中每次采取与小类数量相同的样本,多彩采样训练后投票

阈值移动,如在对数几率回归中,我们原本取0.5作为分界,即1/1,而我们可以根据二者的比例调整为m/n。支持向量机

决策树

递归停止条件

如图所示,我们通过递归调用,直到走到叶节点的时候,判断是否为好瓜

decision-tree-example.png

因为树是递归调用,所以我们需要设置停止条件

  1. 如果一条线已经用完所有属性了,还是没有分离开。如分类数大于属性数的时候
  2. 如果训练数据集中不包含某一组合数据,如根蒂稍蜷中没有色泽浅白的,那么这个叶节点就由色泽节点中数量多的一类决定
  3. 如果已经完全分类了,多的属性也不需要继续看了,停止,如纹理模糊的一类

信息增益

由此可见,如何确定节点的顺序对分类很重要,越容易区分类型的节点越靠前

我们引入信息熵的概念来表示第k类样本的纯度,便于计算

其中p表示第k类的占比(概率),计算p=0或1时,Ent为0,即当分类完成时,信息熵为0
Ent ⁡ ( D ) = − ∑ k = 1 ∣ Y ∣ p k log ⁡ 2 p k \operatorname{Ent}(D)=-\sum_{k=1}^{|\mathcal{Y}|}p_k\log_2p_k Ent(D)=k=1Ypklog2pk
所以就是一直降第每个节点的信息熵,所以选择信息熵最小的作为第一个节点,依次类推

information entropy.png

如图,计算了色泽的信息增益,将其他属性一起计算,选出第一层为纹理

然后再这样一直操作,得到决策树如一开始所示

增益率

考虑到极端情况,如果按身份证号将人分类,那么依次就能将所有人区分,信息增益最大。

但这样显然没有意义,所以我们改进,将信息增益除以a的可能性的信息熵,即a可能的数目应该越小越好。但分子分母的取向是鱼和熊掌不可兼得的,所以需要自己取舍

使用启发式来取舍,将信息增益高于平均的找出来再取增益率最高的
G a i n r a t i o ( D , a ) = G a i n ( D , a ) I V ( a ) 其中 I V ( a ) = − ∑ v = 1 V ∣ D v ∣ ∣ D ∣ log ⁡ 2 ∣ D v ∣ ∣ D ∣ \mathrm{Gain_ratio}(D,a)=\frac{\mathrm{Gain}(D,a)}{\mathrm{IV}(a)}\\\text{其中}\mathrm{IV}(a)=-\sum_{v=1}^{V}\frac{|D^{v}|}{|D|}\log_{2}\frac{|D^{v}|}{|D|} Gainratio(D,a)=IV(a)Gain(D,a)其中IV(a)=v=1VDDvlog2DDv

CART决策树

前面是使用信息熵来表示纯净度,这里使用基尼指数来表示纯度

基尼指数用于表示国家或地区收入不平等程度的统计指标,取值为[0,1]。

如果基尼指数为0,则代表收入完全平等,同理,也表示分类越纯净。
Gini ⁡ ( D ) = ∑ k = 1 ∣ Y ∣ ∑ k ′ ≠ k p k p k ′ = 1 − ∑ k = 1 ∣ Y ∣ p k 2 . \begin{aligned}\operatorname{Gini}(D)&=\sum_{k=1}^{|\mathcal{Y}|}\sum_{k^{\prime}\neq k}p_{k}p_{k^{\prime}}\\&=1-\sum_{k=1}^{|\mathcal{Y}|}p_{k}^{2}.\end{aligned} Gini(D)=k=1Yk=kpkpk=1k=1Ypk2.
这里的意思是取到两次不同的概率。如果纯净,那么结果应该为0

性能优化

使用不同来描述纯净度,如信息熵和基尼指数影响只有2%,而减枝可以缓解过拟合,将泛化性能提升约25%

防止决策树上学到的不是一般规律,而是少数几个个体的特征

预剪枝:提前终止某些分支生长,如设置纯净度略大于0,而不是绝对为0,增加泛化能力

后剪枝:生成完全树后再取删除

缺失值

如果一个样本缺失了某一属性,如果直接弃用,可能会破坏原有分布。当属性过多时,很难避免缺失,可能会对数据造成极大的浪费

我们采用样本赋权,权重划分的方式。

样本赋权:即利用未缺失样本来算纯净度,然后将纯净度乘以未缺失的占比,来得到节点顺序

权重划分:将缺失的项目按照已知样本各类的权重来分配到几个类别中,从而利用缺失值样本

神经网络

概念

定义:神经网络是由具有适应性的简单单元组成的广泛并行互联的网络

一个神经元包含一个带权公式,连接多个输入,当计算达到阈值时输出结果

如图所示神经元模型,每个神经元相当于线性模型加上激活函数,使用sigmoid函数(S形,一般用logistic函数)来表示激活

M_P.png

神经网络由多个神经元联系而成,如下,除去输入和输出层,其他的层叫做隐层。

输出层和隐层神经元称为功能单元

Neural networks.png

只要有一个包含足够多神经元的隐层,就可以以任意精度逼近任意复杂的连续函数,具有万有逼近性

傅里叶变换,泰勒展开同样可以,因为神经网络数学基础薄弱,训练过程盲盒,所以需要理论支撑。并不是因为这个而比其他模型强多少

所以问题就在于如何设置神经元数,采用试错法,根据问题复杂性,自己调节

BP算法

同样使用梯度下降,对于调整学习率 η \eta η 可以先快,后慢。如一直减半

支持向量机

基础

主要思想: 找到一个能够将不同类别的样本分隔开的超平面,并且使得该超平面与最近的样本点(也称支持向量)之间的间隔最大化。

直接调包解

高维空间映射

如果不能用平面分开,则将样本映射到更高维特征空间,然后就有一个高维超平面可以实现我们的效果,如下图所示

高维特征空间映射.png

而映射后的高维向量在最终结果中只以内积形式出现,所以我们可以避免求解高维向量,使用核函数来代替求高维向量的内积。

一个对称函数对应的核矩阵半正定,就可以作为核函数。说人话就是这个函数可以作为高维空间的距离函数来使用。

任何一个核函数,都定义了一个RKHS(再生核希尔伯特空间,有点中二的感觉),说人话就是那个高维空间

因为核函数的选择上,存在不确定性,无法找到最优

应用回归

思路,落在$2\epsilon $范围内的不计算损失,其他的就按照距离之类的计算损失

主要是根据问题可以自己设计损失函数

贝叶斯决策论

通过计算把一个样本分到某类的错误概率,错误概率最小的那个类就是我们所选的分类

贝叶斯公式

分到某一类的条件风险 R ( c i ∣ x ) = ∑ j = 1 N λ i j P ( c j ∣ x ) R(c_i\mid\boldsymbol x)=\sum_{j=1}^N\lambda_{ij}P(c_j\mid\boldsymbol x) R(cix)=j=1NλijP(cjx)

贝叶斯判定准则,即选择风险最小的一个 h ∗ ( x ) = arg ⁡ min ⁡ ⁡ c ∈ Y R ( c ∣ x ) h^*(\boldsymbol{x})=\underset{c\in\mathcal{Y}}{\operatorname*{\arg\min}}R(c\mid\boldsymbol{x}) h(x)=cYargminR(cx)

其中

  • c表示class,类别
  • h ∗ h^* h 称为贝叶斯最优分类器
  • λ i j \lambda_{ij} λij 表示将j类分到i类产生的损失,由我们权衡利弊得到
  • P ( c j ∣ x ) P(c_j\mid\boldsymbol x) P(cjx) 表示x属于第j类的概率,通常难以获得,贝叶斯的角度下,机器学习就是算这个

根据获得这个后验概率的不同方式,可以分为两类

  • 判别式模型:决策树,BP神经网络,SVM

    直接对 P ( c ∣ x ) P(c\mid\boldsymbol x) P(cx)建模

  • 生成式模型:贝叶斯分类器

    先对联合概率分布 P ( x , c ) P(x,c) P(x,c)建模,再由此获得 P ( c ∣ x ) P(c|x) P(cx) ,即还原x的分布
    P ( c ∣ x ) = P ( x , c ) P ( x ) P(c\mid x)=\frac{P(x,c)}{P(x)} P(cx)=P(x)P(x,c)

哲学

贝叶斯学习一定使用的分布估计,与贝叶斯分类器不一样,与先前求出最好的参数不同,贝叶斯学习认为参数也是满足一个分布,基于此分布观察到参数,即找到决定参数的分布

根据支持向量机的发明人的看法,我们解决的只是一个简单的问题,但使用贝叶斯就会把这个问题更复杂,虽然更加的全面,但也更加的低效,事物的两面,只需要找参数的点估计

贝叶斯学习认为,不搞清楚本质分布,就无法准确描述所需解决的问题

频率主义和贝叶斯主义都会用到贝叶斯公式,角度不一样,不能以此来区分

朴素贝叶斯分类

对每个属性求其在每个类别的概率,如颜色青绿为好瓜的概率为0.6,其他属性类似

拿到一个测试样本,如下求出两类的概率,再比较大小进行分类。
P ( 青绿 ∣ 好瓜 ) P ( 稍蜷 ∣ 好瓜 ) P ( 浊响 ∣ 好瓜 ) P ( 清晰 1 好瓜 ) P ( 好瓜=yes ) = 3 / 8 × 3 / 8 × 6 / 8 × 7 / 8 × 8 / 17 P ( 青绿 ∣ 坏瓜 ) P ( 稍蜷 ∣ 坏瓜 ) P ( 浊响 ∣ 坏瓜 ) P ( 清晰 ∣ 坏瓜 ) P ( 好瓜=no ) = 3 / 9 × 4 / 9 × 4 / 9 × 2 / 9 × 9 / 17 \begin{aligned} &\mathsf{P}(\text{青绿}|\text{好瓜})\mathsf{P}(\text{稍蜷}|\text{好瓜})\mathsf{P}(\text{浊响}|\text{好瓜}) \\ &\mathsf{P}(\text{清晰}1\text{好瓜})\mathsf{P}(\text{好瓜=yes})=3/8\times3/8 \\ &\times6/8\times7/8\times8/17 \\ &\mathsf{P}(\text{青绿}|\text{坏瓜})\mathsf{P}(\text{稍蜷}|\text{坏瓜})\mathsf{P}(\text{浊响}|\text{坏瓜}) \\ &\mathsf{P}(\text{清晰}|\text{坏瓜})\mathsf{P}(\text{好瓜=no})=3/9\times4/9\times \\ &4/9\times2/9\times9/17 \end{aligned} P(青绿好瓜)P(稍蜷好瓜)P(浊响好瓜)P(清晰1好瓜)P(好瓜=yes)=3/8×3/8×6/8×7/8×8/17P(青绿坏瓜)P(稍蜷坏瓜)P(浊响坏瓜)P(清晰坏瓜)P(好瓜=no)=3/9×4/9×4/9×2/9×9/17

集成学习

简介

即集成使用多个模型来解决问题

如果多个模型都是相同的,就成为同质集成,如神经网络集成,因为只需要一个模型,会比较简单

如果多个模型不同,就成为异质集成,由于不同模型产生的结果不能直接比较,就像同一门课,对同一个人的问卷,不同老师可能打的分差别很大一样,在处理结果时,要进行配准,这一步很困难

集成学习有可能出现下面三种情况

集成学习1.png
集成学习2.png

由此可见,集成不能乱集成,我们可以使用误差-分歧分解来衡量

即总误差 = 个体平均误差 - 个体平均差异

即我们要求平均误差小,个体差异大,但个体差异无法进行准确的衡量

分类

序列化方法

AdaBoost 起点

GradientBoost,XGBoost是其一种高效率的实现

LPBoost

Boosting简介

基础概念:基学习算法,接收数据,生成多个同质模型的算法,其中的学习器就叫基学习器

模型过程

先使用基学习算法对原始数据进行学习,看哪些做对了哪些做错了,然后降低正确的权重,上升错误的权重,生成新的数据集,再使用基学习算法进行学习

如此循环往复,本质就是让后面的模型把前面做错的题做对

因为后面的学习器处理的问题是前面做错的,所以会更复杂,性能也会更低,将每个学习器的结果进行加权求和

并行化方法

Bagging 起点

Random forest 随机森林,前者的改进

RandomSubspace 随机子空间

bagging简介

将原始数据集进行可重复采样训练成不同的学习器

然后对不同学习器的结果进行投票就可以实现分类,进行平均就可以回归

改进后的随机森林在如今仍然被广泛使用

多样性

使用不同的统计量,如相关系数,不合度量,q统计量,kapa统计量

目前有很多的度量方式,仍然是个难以解决的问题

聚类

无监督学习中应用最广的,其目的是将没有标签的数据分类成不同的簇,使簇内相似度高,簇间相似度低

这里面的差异用距离来衡量

距离

因为我们拿到的属性可能是离散值,所以我们需要将其转换为有序,无序或者混合属性

对有序属性使用Minkowski距离如下,用来表示距离的通式
dist ⁡ mk ⁡ ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p \operatorname{dist}_{\operatorname{mk}}(\boldsymbol{x}_i,\boldsymbol{x}_j)=\left(\sum_{u=1}^n|x_{iu}-x_{ju}|^p\right)^{\frac{1}{p}} distmk(xi,xj)=(u=1nxiuxjup)p1

  • p=2:欧式距离,即我们几何上的距离
  • p=1:曼哈顿距离,只考虑水平和垂直方向的距离,在解决网格结构时很好用

对无序属性可使用VDM(value difference metric) ,用不同属性出现的机会来评估他们是否相似
V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ p VDM_p(a,b)=\sum_{i=1}^k\left|\frac{m_{u,a,i}}{m_{u,a}}-\frac{m_{u,b,i}}{m_{u,b}}\right|^p VDMp(a,b)=i=1k mu,amu,a,imu,bmu,b,i p

对混合属性,将二者组合
M i n k o v D M p ( x i , x j ) = ( ∑ u = 1 n c ∣ x i u − x j u ∣ p + ∑ u = n c + 1 n V D M p ( x i u , x j u ) ) 1 p \mathrm{MinkovDM}_p(\boldsymbol{x}_i,\boldsymbol{x}_j)=\left(\sum_{u=1}^{n_c}|x_{iu}-x_{ju}|^p+\sum_{u=n_c+1}^n\mathrm{VDM}_p(x_{iu},x_{ju})\right)^{\frac{1}{p}} MinkovDMp(xi,xj)=(u=1ncxiuxjup+u=nc+1nVDMp(xiu,xju))p1
后面两个都看不懂了,先记着

方法

聚类没有好坏的评判,取决于用户的需求

聚类因为没有标签,总可以设置不同的标准,聚成不同的类

聚类的算法很多,必须要先明确标准,很可能找不到同标准的可用代码,只有自己改进

聚类思路

原型聚类,找几个原型,然后将其他的往不同原型上聚,如k均值聚类

密度聚类,根据样本的紧密程度进行聚类,如DBSCAN

层次聚类,从不同层次对数据集进行划分,如底层每个人为不同类,顶层所有人都为同一类,中间就是不同粒度的聚类,形成树形聚类结构,如AGNES自下而上,DIANA自上而下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/17850.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Django5+React18前后端分离开发实战14 React-Router6 入门教程

使用nodejs18 首先,将nodejs切换到18版本: nvm use 18创建项目 npm create vitelatest zdpreact_basic_router_dev -- --template react cd zdpreact_basic_router_dev npm install react-router-dom localforage match-sorter sort-by npm run dev此…

kafka跨地区跨集群同步工具MirrorMaker2 —— 筑梦之路

MM2简介 KIP-382: MirrorMaker 2.0 - Apache Kafka - Apache Software Foundation 有四种运行MM2的方法: As a dedicated MirrorMaker cluster.(作为专用的MirrorMaker群集) As a Connector in a distributed Connect cluster.&#xff08…

使用IDEA远程debug调试

文章目录 应用背景开启方式IDEA设置启动脚本改造 参考资料 应用背景 springboot项目,部署到服务器上,需要开启远程debug跟踪代码。 使用idea开启远程debug。 开启方式 IDEA设置 选择 Edit Configuration 如图,点击加号,选择Re…

【机器学习】利用机器学习优化陆军战术决策与战场态势感知

🔒文章目录: 💥1.引言 🛴2.机器学习在陆军战术决策中的应用 🛣️2.1数据收集与预处理 🌄2.2模型构建与训练: 🌅2.3实时决策支持: 🌅2.4代码实现 &…

排序算法——上

一、冒泡排序: 1、冒泡排序算法的思想 我们从左边开始把相邻的两个数两两做比较,当一个元素大于右侧与它相邻的元素时,交换它们之间位置;反之,它们之间的位置不发生变化。冒泡排序是一种稳定的排序算法。 2、代码实现…

5月20日分割等和子集+最后一块石头的重量Ⅱ

416.分割等和子集 给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1: 输入:nums [1,5,11,5] 输出:true 解释:数组可以分割成 [1, 5, 5] 和…

【ai】LiveKit Agent 的example及python本地开发模式工程实例

title: ‘LiveKit Agent Playground’ playgroundLiveKit Community playground的环境变量:LiveKit API # LiveKit API Configuration LIVEKIT_API_KEYYOUR_API_KEY LIVEKIT_API_SECRETYOUR_API_SECRET# Public configuration NEXT_PUBLIC_LIVEKIT_URLwss://YOUR_…

JAVA智慧工厂制造生产管理MES系统,全套源码,多端展示(MES与ERP系统的区别和联系)

MES与ERP系统的区别和联系 MES制造执行系统,是一套面向制造公司车间执行层的生产信息化管理系统。MES 可觉得公司提供涉及制造数据管理、计划排产管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心、设备管理、工具工装管理、采购管理、成本管理、项…

为什么推荐前端用WebStorm软件编程?

一、介绍 WebStorm是由JetBrains公司开发的一款JavaScript开发工具,被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。它支持JavaScript、ECMAScript 6、TypeScript、CoffeeScript、Dart和Flow等多种语言的代码…

大学搜题软件音乐类?分享三个支持答案和解析的工具 #微信#媒体

高效的学习工具可以帮助我们提高记忆力和理解能力,使知识更加深入人心。 1.彩虹搜题 这是个微信公众号 一款专门供全国大学生使用的查题神器!致力于帮助大学生解决学习上的难题,涵盖了大学生学习所需的学习资料。 下方附上一些测试的试题及答案 1、甲、乙合伙开…

goimghdr,一个有趣的 Python 库!

更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - goimghdr。 Github地址:https://github.com/corona10/goimghdr 在图像处理和分析过程中,识别图像文件的类型是一个常见的需求。Python自带的imghdr…

开源与闭源:AI模型发展的两条路径

目录 前言1 数据隐私保护与用户数据安全1.1 开源大模型的透明性与挑战1.2 闭源大模型的控制与责任 2 商业应用的优劣比较2.1 开源大模型的灵活性与创新2.2 闭源大模型的可靠性与服务质量 3 社区参与与合作的差异3.1 开源大模型的社区驱动与协作3.2 闭源大模型的企业主导与保密性…

【openlayers系统学习】3.3假彩色图像合成(三个波段合成假彩色图像)

三、假彩色图像合成 在上一步中,我们使用 ol/source/GeoTIFF​ 源从单个多波段源(具有红色、绿色、蓝色和Alpha波段)渲染真彩色图像。在下面这个例子中,我们将从可见光谱之外提取数据,并使用它来呈现假彩色合成。 我…

【基于 PyTorch 的 Python 深度学习】9 目标检测与语义分割(2)

前言 文章性质:学习笔记 📖 学习资料:吴茂贵《 Python 深度学习基于 PyTorch ( 第 2 版 ) 》【ISBN】978-7-111-71880-2 主要内容:根据学习资料撰写的学习笔记,该篇主要介绍了优化候选框的几种方法。 一、优化候选框的…

抖店怎么选品?抖店爆款选品思路技巧,新手直接用!

大家好,我是电商花花。 抖店选品永远是我们做抖店,做电商的核心,店铺想要出单,想要赚钱,我们就一定要学会怎么选品,怎么筛选商品。 而我们绝大多数新手并没有办法保证持续选爆款的能力,如果店…

【ARM+Codesys案例】T3/RK3568/树莓派+Codesys锂电池测试设备控制解决方案

锂电池诞生于上世纪60年代,90年代开始由日本索尼公司实现商业化。锂离子电池凭借快速充放电、长循环寿命、无记忆效应等众多优点,成为当今数码产品及电动汽车大规模应用的第一选择。与镍氢电池、铅酸电池相比,锂电池可以存储更多电能。现在&a…

Visual Studio 智能代码插件:CodeGeeX

前言 在软件开发领域,高效的编程助手一直是提升开发者效率和质量的关键。 随着人工智能技术的不断发展,智能编程助手逐渐成为开发者们不可或缺的工具。其中,CodeGeeX作为一款专为Visual Studio设计的免费智能编程助手,凭借其强大…

让大模型更聪明——复杂而艰巨的任务

一、引言 在人工智能领域,大模型因其强大的数据处理能力和复杂的结构,成为了推动技术进步的重要力量。然而,要让大模型真正展现出“聪明”的特质,即具备高度的人类智能水平,仍是一项极具挑战性的任务。本文将从数据质…

Java-Stream流-概述、创建、使用:遍历/匹配、筛选、聚合、映射、归约、排序、提取/组合

Java8-Stream: 一、Stream流概述1.Stream流的特点:2.使用步骤:3.常用方法示例: 二、Stream流创建1.常见的创建Stream的方法2. stream()或parallelStream()方法的使用和选择 三、Stream流使用Optional案例中使用的实体类1.遍历/匹配…

MYSQL之安装

一,下载仓库包 wget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm二,安装仓库 yum -y install mysql80-community-release-el7-3.noarch.rpmsed -i s/gpgcheck1/gpgcheck0/g mysql-community.repo三,安装MY…