C. 人工智能 — 机器学习 — 无监督学习
聚类算法
- 概要
- 距离:包括曼哈顿距离、欧拉距离等等
- 相似系数:主要有夹角余弦和相关系数
- 核函数:核函数的功能就是把数据从低维空间投影(project)到高维空间去
- DTW
- 划分式聚类方法:k-means及其变体
- 步骤
- 随机地选择k个对象,每个对象初始地代表了一个簇的中心;
- 对剩余的每个对象,根据其与各簇中心的距离,将它赋给最近的簇;
- 重新计算每个簇的平均值,更新为新的簇中心;
- 不断重复2、3,直到准则函数收敛。
- 特点
- 优点
- 容易实现
- 缺点
- 可能收敛到局部最小值,在大规模数据集上收敛较慢
- 每次结果可能不同
- 不是每次都能够给出合理的分类,不能单纯的看评估指标
- 优点
- 难点
- 如何找到最好的K值
- 手肘法
- 原理
- 随着聚类数k的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,那么误差平方和SSE自然会逐渐变小。
- 并且,当k小于最佳聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故SSE的下降幅度会很大,而当k到达最佳聚类数时,再增加k所得到的聚合程度回报会迅速变小,所以SSE的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,也就是说SSE和k的关系图是一个手肘的形状,而这个肘部对应的k值就是数据的最佳聚类数。
- 原理
- 轮廓系数法
- 原理
- a 是Xi 和同簇的其他样本的平均距离,称为凝聚度。
- b 是 Xi 和最近簇中所有样本的平均距离,称之为分离度。
- 原理
- 手肘法
- 如何找到最好的K值
- 步骤
- 基于密度的聚类:DBSCAN
- 原理
- 其原理简单说画圈儿,其中要定义两个参数,一个是圈儿的最大半径,一个是一个圈儿里最少应容纳几个点。
- 特点
- 优点
- 不需要指定簇的个数
- 可以发现任意形状的簇
- 擅长找到离群点(检测任务)
- 两个参数就够了
- 缺点
- 高维数据有些困难(可以做降维)
- 参数难以选择(参数对结果的影响非常大)
- Sklearn中效率很慢(数据削减策略)
- 优点
- 原理
- 层次化聚类算法:
- 概述
- 该主要有两种路径:agglomerative和divisive,也可以理解为自下而上法(bottom-up)和自上而下法(top-down)
- 自下而上算法流程
- 步骤
- 将每个对象看作一类,计算两两之间的最小距离;
- 将距离最小的两个类合并成一个新类;
- 重新计算新类与所有类之间的距离;
- 重复2、3,直到所有类最后合并成一类。
- 步骤
- 距离计算方法
- 单链接算法
- 全链接算法
- 均链接算法
- 概述
- 基于网格的聚类
- 基于模型的聚类算法:这一类方法主要是指基于概率模型的方法和基于神经网络模型的方法,尤其以基于概率模型的方法居多。
- 基于约束的聚类
- 基于模糊的聚类方法
- 基于粒度的聚类方法
- 量子聚类
- 核聚类
- 谱聚类
频繁项挖掘
- 原理
- 支持度
- 置信度
- 提升度
- lift = 1,表示两者之间互相独立
- lift 越大,表示关联性越大
- Apriori算法
- 特点
- 优点:易编码实现
- 缺点:在大数据集上可能较慢
- 特点
- FP-growth算法
- 特点
- 优点:一般要快于Apriori
- 缺点:实现比较困难,在某些数据集上性能会下降
- 特点
机器学习 - 自监督学习
- 概述
- 与监督学习相比:标注数据成本太高
- 与无监督学习相比:本质上就是无监督学习
- 重构受损的数据
- Denoising AutoEncoder
- 模型结构
- Noisiy input -> Encoder -> Compressed representation -> Decoder -> Denosied image
- 案例
- 去除图片上的噪音
- 模型结构
- Bert-Family(Text)
- In-painting(Image)
- 预测图片上,被屏蔽掉的图片信息
- 预测黑白图片上,原本的色彩
- Denoising AutoEncoder
- Visual common sense task
- Jigsaw puzzles
- 拼图游戏
- Rotation
- 判断图片旋转了多少度
- Jigsaw puzzles
- Contrastive Learning
- Word2Vec
- Contrastive Predictive Coding(CPC)
- 序列数据:给定t1 - t5 的数据,判断 t7是不是属于这个序列的数据
- SimCLR
- 图片对比?
其他
- EM算法
- 概述
- 如果给定数据和已经模型,那么求模型参数我们会用极大似然估计法
- 但是如果变量中含有隐变量,无法用极大似然求解(对数式子里面有求和,难以求出解析解),此时就可以使用EM算法。
- EM算法与其说是一种算法,不如说是一种解决问题的思路。
- 例子
- 男生组成一堆,有100人,女生组成一堆,也有100人,现在要求男女生身高的正态分布参数,如果是按照性别分堆的话,很容易就能用极大似然估计出该参数,可是如果男女生混为一堆了,就不知道每个身高是男生的还是女生的,这时就需要EM算法来解决。
- 最大似然函数估计值的一般步骤
- 写出似然函数;
- 对似然函数取对数,并整理;
- 求导数,令导数为0,得到似然方程;
- 解似然方程,得到的参数即为所求;
- EM算法的基本思想
- 假设我们想估计的参数为A,B。 开始的时候A和B都未知, 但是如果我们知道了A,就能得到B。 我们得到了B就可以得到A。 EM会给A一个初始值,然后得到B,再由B得到A, 再得到B,一直迭代到收敛为止。
- 步骤
- E步(计算期望):利用对隐藏变量的现有估计值,计算其最大似然估计值;
- M步(最大化):在E步上求得的最大似然值来计算参数的值。M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行。
- 特点
- 未必能拿到全局最优解,但是可以难道局部最优解
- 概述
- 高斯混合模型(GMM)
- 概述
- 多个高斯分布密度函数,加权平均
- 求解算法
- EM算法
- 应用
- 分类/聚类
- 问题
- k-means要求这些簇的模型必须是圆形,k-means算法没有内置方法来实现椭圆形的簇。
- 优点
- 在最简单的场景中,GMM可以用与k-means相同的方式寻找类。
- GMM可以拟合扁平椭圆的簇
- 问题
- 密度估计
- 概述
- 虽然GMM通常被归类为聚类算法,但他本质上是一个密度估计算法;
- 也就是说,从技术的角度考虑,一个GMM拟合的结果并不是一个聚类模型,而是描述数据分布的生成概率模型。
- 概述
- 生成模型
- 作为一种生成模型,GMM提供了一种确定数据集最优成分数量的方法。
- 由于生成模型本身就是数据集的概率分布,因此可以利用模型来评估数据的似然估计,并利用交叉检验防止过拟合。
- Scikit-Learn的GMM评估器内置了两种纠正过拟合的标准分析方法:赤池信息量准则(AIC)和贝叶斯信息准则(BIC)
- 分类/聚类
- 概述