阈值法分类总结(自用)

目录

1. 定义

1.1 优点

1.2 缺点

2. 注意事项

2.1 阈值的确定:

2.2 数据分布和噪声:

2.3 多阈值设定:

2.4 迭代和调整:

2.5 避免过拟合

3. 常用的阈值法

3.1 固定阈值法:

3.2  自适应阈值法:

3.3 OTSU算法(最大类间方差法):

3.3.1 算法原理

3.3.2 实现步骤

3.3.3 特点

3.4 高斯混合模型(GMM):

3.4.1 高斯混合模型概述

3.4.2 阈值方法的应用

3.4.3 特点

3.4.4 实际应用

3.4.5 模型组成

3.4.6 数学表达

3.4.7 参数估计

3.4.8 代码

3.5 基于边缘的方法:

3.6 直方图法:



1. 定义

阈值法是一种基于设定阈值来分类数据的方法。在图像处理、信号处理、机器学习、金融分析等多个领域都有广泛应用。例如,在图像处理中,通过设定一个灰度阈值,可以将图像中的像素分为黑白两类,实现二值化操作。

1.1 优点

  1. 计算简单:阈值法是一种简单直观的数据处理方法,易于理解和实现。
  2. 速度快:由于只涉及比较和分类操作,阈值法的处理速度通常较快。
  3. 适合特定场景:当不同类的物体灰度值或其它特征值相差较大时,阈值法能有效地实现对影像的分割。例如,在医学图像中,阈值法常用于背景区域和目标区域的分割。

1.2 缺点

  1. 局限性:阈值法通常只能产生二值图像,因此一般只能用来区分两个不同的类。对于具有多个目标的图像,需要使用多阈值分割方法。
  2. 对噪声敏感:由于阈值法仅考虑像素本身的值,而未考虑其空间特性,因此它对噪声和灰度不均匀较敏感。这可能导致在灰度差异不明显或灰度值范围有较大重叠时,难以得到准确的结果。
  3. 信息丢失:阈值法只考虑像素的灰度值,而不考虑纹理等有意义的信息,因此可能导致图像分割效果不理想。

2. 注意事项

使用阈值法进行分类时,需要注意以下几个问题,并可以采取相应措施来避免过拟合:

2.1 阈值的确定

  • 基准值的选择:首先,需要确定一个基准值,这通常是某个时间段内数据的统计指标,如平均值、中位数等。基准值的选择应符合数据分析的目标和需求。
  • 异常程度的确定:根据数据的特点和分析要求,确定异常程度的阈值。这可以是相对的或绝对的,基于基准值的偏差(如标准差或百分位数)或基于经验/领域知识来设定。

2.2 数据分布和噪声

  • 时序数据可能存在各种分布模式,包括季节性、周期性、趋势性等。在设定阈值时,需要考虑这些模式,避免误将正常模式判定为异常。
  • 噪声是时序数据中常见的问题,可能会影响阈值的确定和分类的准确性。因此,在分类之前可能需要进行数据清洗或平滑处理。

2.3 多阈值设定

  • 根据需要,可以设置多个阈值来划分不同级别的异常情况。这有助于更精细地分类时序数据,但也可能增加复杂性和误分类的风险。

2.4 迭代和调整

  • 阈值的设定是一个迭代的过程,需要根据实际数据和分析结果进行调整和优化。如果阈值设置过高或过低,可能会导致误报或漏报。

2.5 避免过拟合

虽然阈值法本身不涉及复杂的模型训练,但如果阈值的确定是基于某种机器学习或优化算法(如OWL-QN),则需要注意避免过拟合。

插一个QWL-QN:

可以参考:优化算法——OWL-QN_伪梯度-CSDN博客

OWL-QN(Orthant-Wise Limited-Memory Quasi-Newton)算法是微软提出的一种优化算法,主要用于解决带有L1正则化的优化问题。以下是关于OWL-QN算法的详细解释:

  • 在许多机器学习模型中,如逻辑回归(logistic regression),为了防止过拟合,通常会加入正则化项。L1正则化因其具有特征选择的能力而备受青睐,因为它可以使不重要的特征权重收敛到0。
  • 然而,L1正则化的加入使得目标函数在某些点(如x=0)处不可导,这导致传统的基于梯度的优化方法(如梯度下降)失效。
  • 核心思想:  是在假定变量所在象限确定的条件下,使用L-BFGS算法来更新变量,并确保更新前后的变量在同一个象限中。这通过定义特殊的函数和映射来实现。
  • L1正则化:在机器学习中,L1正则化通过添加权重向量的L1范数(即权重绝对值的和)到损失函数中,来防止过拟合。但L1正则化使得目标函数在某些点(如x=0)处不可导。
  • L-BFGS算法:一种拟牛顿法,用于求解无约束优化问题,不需要直接计算Hessian矩阵的逆,而是通过迭代的方式用一个近似矩阵代替。
  • OWL-QN算法基于L-BFGS(Limited-Memory Broyden–Fletcher–Goldfarb–Shanno)算法,后者是一种用于求解无约束优化问题的拟牛顿法。

3. 常用的阈值法

常用的阈值法主要包括以下几种,每种方法都有其特定的应用场景和优势:

3.1 固定阈值法

  • 原理:固定阈值法使用一个固定的灰度值作为阈值,将图像的像素值与这个阈值进行比较,根据比较结果将像素分为两类(如黑/白或前景/背景)。
  • 优点:简单、易于实现,对于灰度值分布明显的图像效果较好。
  • 缺点:对于灰度值分布复杂或存在大量噪声的图像效果较差,因为全局阈值难以适应不同区域的灰度值差异。此外,阈值的选择需要根据具体应用场景来调整,否则可能导致图像分割结果不准确

3.2  自适应阈值法

  • 原理:基于图像的局部特征和全局统计信息,自适应阈值法将图像分割为多个局部块,并计算每个块的局部阈值。然后,通过对每个像素与其所在块的局部阈值进行比较,确定该像素属于目标还是背景。
  • 优点:能够适应不同区域的亮度和对比度差异,提高图像分割的准确性。
  • 缺点:对于块的选择和大小需要进行合理的确定。如果块的大小太小,可能会导致分割结果过于精细;如果块的大小太大,可能会导致分割结果模糊。此外,该算法也依赖于图像的局部特征和全局统计信息,对于复杂的图像场景可能需要进一步的处理和优化。

3.3 OTSU算法(最大类间方差法)

OTSU算法,也被称为最大类间方差法或大津法,是一种广泛应用于图像处理的阈值分割算法。该算法由日本学者大津(Nobuyuki Otsu)在1979年提出,被认为是图像分割中阈值选取的最佳算法之一。OTSU阈值分割在执行过程中并不需要知道背景和前景的明确标签。其原理是基于图像的灰度分布特性,自动计算出一个阈值,将图像分割为前景和背景两部分。以下是OTSU算法的详细介绍:

3.3.1 算法原理

  • 核心思想:根据图像的灰度特性,通过计算类间方差来确定一个阈值,从而将图像分割成前景(目标)和背景两部分。
  • 类间方差:是衡量前景和背景两部分灰度级分布差异的度量。当类间方差最大时,意味着前景和背景的差别最大,此时的阈值即为最佳阈值。

3.3.2 实现步骤

  • 计算灰度直方图:统计图像中每个灰度级的像素数,得到灰度直方图。
  • 初始化阈值:选择一个初始阈值,将图像分为前景和背景两部分。
  • 计算类间方差:根据前景和背景像素数的概率计算类间方差。具体地,设图像尺寸为MxN,前景像素占比w0,灰度均值为u0;背景像素占比w1(w1=1-w0),灰度均值为u1;整幅图像的灰度均值为u。类间方差g的公式为:g = w0(u0-u)2 + w1(u1-u)2。
  • 迭代更新阈值:不断改变阈值,并重新计算类间方差,直到找到使类间方差最大的最佳阈值。
  • 应用阈值进行分割:将最佳阈值应用于图像,得到分割后的前景和背景图像。

3.3.3 特点

  • 简单性:OTSU算法基于灰度直方图,实现简单,计算效率高。
  • 自适应性:该算法能够自动确定最佳阈值,无需人工干预。
  • 鲁棒性:OTSU算法对光照、噪声等因素具有较强的鲁棒性。
  • 缺点:对图像噪声敏感;只能针对单一目标分割;当目标和背景大小比例悬殊、类间方差函数可能呈现双峰或者多峰时,效果可能不佳。

3.4 高斯混合模型(GMM)

高斯混合模型(GMM)阈值方法是在应用高斯混合模型时,通过设定一个或多个阈值来对数据进行分类或决策的一种方法。以下是关于高斯混合模型阈值方法的详细介绍:

3.4.1 高斯混合模型概述

  • 原理:高斯混合模型(GMM)使用多个高斯分布来表征图像中各个像素点的特征。在图像分割中,可以通过对图像灰度直方图的多峰特性进行建模,将直方图的多峰看作是多个高斯分布的叠加,从而实现图像的分割。
  • 定义:高斯混合模型是由多个高斯分布组成的混合模型,它能够灵活地模拟具有多个峰值的数据分布。
  • 组成:一个GMM由K个高斯分布组成,每个高斯分布都有自己的均值、协方差和权重。

3.4.2 阈值方法的应用

  • 分类问题:在分类问题中,可以通过计算未知样本属于每个高斯分布的概率,并将这些概率与设定的阈值进行比较,以确定该样本所属的类别。
  • 阈值选择:通常,阈值的选择是基于特定应用的需求和数据的特性。例如,在模式识别中,阈值可能设置为0.7或0.75,意味着如果样本属于某个类别的概率高于这个阈值,则将该样本分类为该类别。

3.4.3 特点

  • 灵活性:GMM的灵活性使其能够处理复杂的数据分布,通过调整高斯分布的参数和数量,可以适应不同的数据模式。
  • 可解释性:每个高斯分布可以看作是一种类别或模式,因此GMM具有一定的可解释性。
  • 参数优化:GMM的参数(如均值、协方差和权重)可以通过最大似然估计、期望最大化(EM)算法等方法进行优化,以最大化数据的似然性。

3.4.4 实际应用

  • 遥感冰川信息提取:在遥感冰川信息提取中,可以利用GMM自动计算冰川提取的阈值,提高提取的效率和准确性。
  • 视频前景分割:在视频前景分割中,GMM可以描述背景的多个状态(如窗帘、风吹的树叶等),从而更准确地分割前景和背景。

3.4.5 模型组成

  • GMM由以下几个关键部分组成:

  • 高斯分布:每个高斯分布由其均值(μ)、协方差(Σ)和权重(π)来描述。均值决定了高斯分布的中心位置,协方差决定了分布的形状和大小,而权重则代表了这个分布在整个混合模型中的重要性。
  • 混合系数:混合系数(π)代表了每个高斯分布在GMM中的贡献程度,它们的和必须为1(即所有分布的权重之和为1)。

3.4.6 数学表达

  • GMM的概率密度函数可以表示为所有高斯分布概率密度函数的加权和,即:
    P(x) = Σ(i=1 to k) πi * N(x | μi, Σi)
    其中,P(x)是观测数据的概率密度函数,k是高斯分布的个数,πi是第i个高斯分布的混合系数,N(x | μi, Σi)是第i个高斯分布的概率密度函数。

3.4.7 参数估计

  • GMM的参数(包括均值、协方差和混合系数)通常使用期望最大化(Expectation-Maximization,简称EM)算法进行估计。EM算法是一种迭代优化算法,通过迭代地计算每个数据点属于每个高斯分布的概率(E步),然后根据这些概率更新模型的参数(M步),直到达到收敛条件。

3.4.8 代码

from sklearn.mixture import GaussianMixture  
from sklearn.datasets import make_blobs  
from sklearn.model_selection import train_test_split  
import numpy as np  
  
# 生成模拟数据  
X, y = make_blobs(n_samples=300, centers=3, cluster_std=0.60, random_state=0)  
  
# 划分训练集和测试集  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)  
  
# 为每个类别训练一个GMM模型  
n_classes = len(np.unique(y))  
gmms = [GaussianMixture(n_components=1, covariance_type='full', random_state=42) for _ in range(n_classes)]  
  
# 训练模型  
for i, gmm in enumerate(gmms):  
    gmm.fit(X_train[y_train == i])  
  
# 预测函数  
def predict_gmm(X, gmms):  
    # 初始化预测结果  
    y_pred = np.zeros(len(X), dtype=int)  
    # 对每个模型进行预测并找到最大后验概率的类别  
    for i, gmm in enumerate(gmms):  
        log_prob = gmm.score_samples(X)  
        y_pred[np.argmax(log_prob, axis=0) == i] = i  
    return y_pred  
  
# 预测测试集  
y_pred = predict_gmm(X_test, gmms)  
  
# 计算准确率  
accuracy = np.mean(y_pred == y_test)  
print(f"Accuracy: {accuracy}")

3.5 基于边缘的方法

  • 原理:利用图像边缘的梯度信息来选择阈值,通常选择梯度变化最大处的灰度值作为阈值。
  • 优点:能够突出图像中的边缘信息,适用于需要提取边缘信息的场景。

3.6 直方图法

  • 原理:通过图像灰度直方图来自动选择阈值,通常选择直方图中两个波峰之间的谷底作为阈值。
  • 优点:自动选择阈值,无需人工干预,适用于灰度直方图具有明显波峰的情况。

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值