机器学习笔记【Week8】

一、无监督学习

  • 无监督学习:与监督学习不同,数据没有标签,训练集仅包含输入特征,没有输出标签。
  • 任务:让算法发现数据的内在结构,比如聚类。
  • 应用场景
    • 市场细分:将客户分成不同群体,做个性化营销。
    • 社交网络分析:找关系密切的人群。
    • 计算机集群资源优化:根据协作频率重新分配资源。
    • 天文学研究:星系形成研究等。

二、K-均值算法

  • K-均值简介:最常用的聚类算法,把数据分为 K 个簇。

  • 算法步骤

    1. 随机选择K个聚类中心(centroids)。
    2. 对每个样本,将其归类到最近的聚类中心。
    3. 更新每个簇的聚类中心为该簇所有点的均值。
    4. 重复步骤 2 和 3 直到聚类中心不再变化。
  • 伪代码

    pseudo 复制代码
    Repeat {
      for i = 1 to m:
        c(i) := index of closest cluster centroid to x(i)
      for k = 1 to K:
        μ_k := mean of points assigned to cluster k
    }

三、优化目标

  • 代价函数(畸变函数)
    J ( c ( 1 ) , ... , c ( m ) , μ 1 , ... , μ K ) = 1 m ∑ i = 1 m ∥ x ( i ) − μ c ( i ) ∥ 2 J(c^{(1)}, \dots, c^{(m)}, \mu_1, \dots, \mu_K) = \frac{1}{m} \sum_{i=1}^m \| x^{(i)} - \mu_{c^{(i)}} \|^2 J(c(1),...,c(m),μ1,...,μK)=m1i=1∑m∥x(i)−μc(i)∥2

  • 目标是最小化所有样本到其最近聚类中心的距离平方和。

  • 每次迭代通过更新簇分配和簇中心,保证代价函数单调递减。

四、随机初始化

  • 先随机选择 K 个训练样本作为初始聚类中心。
  • K-均值可能陷入局部最小值,结果依赖初始化。
  • 常用做法:多次运行 K-均值算法,选择代价函数最小的结果。

五、选择聚类数

  • 无最佳选择 K 的方法,需结合实际应用场景判断。
  • 肘部法则(Elbow Method)
    • 运行不同 K 值的 K-均值,计算代价函数(畸变值)。
    • 画出 K 值与代价函数的曲线,寻找 "肘部" 点(代价函数下降趋势变缓处)。
    • "肘部" 对应的K值常作为较合理的聚类数。

参考资料

相似度/距离计算方法

  • 闵可夫斯基距离(Minkowski distance)
    D ( x , y ) = ( ∑ i = 1 n ∣ x i − y i ∣ p ) 1 / p D(x,y) = \left( \sum_{i=1}^n |x_i - y_i|^p \right)^{1/p} D(x,y)=(i=1∑n∣xi−yi∣p)1/p

    • 欧式距离是 p = 2 p=2 p=2 特例。
  • 杰卡德相似系数(Jaccard similarity)
    J ( A , B ) = ∣ A ∩ B ∣ ∣ A ∪ B ∣ J(A,B) = \frac{|A \cap B|}{|A \cup B|} J(A,B)=∣A∪B∣∣A∩B∣

  • 余弦相似度(Cosine similarity)
    cos ⁡ ( θ ) = x ⋅ y ∥ x ∥ ∥ y ∥ \cos(\theta) = \frac{x \cdot y}{\|x\| \|y\|} cos(θ)=∥x∥∥y∥x⋅y

  • Pearson相关系数

    • 测量两个变量的线性相关性。

聚类的衡量指标

  • 均一性(Homogeneity)
    一个簇中只包含单一类别的样本。
  • 完整性(Completeness)
    同一类别的样本尽可能被归为同一簇。
  • V-measure
    均一性和完整性的调和平均。
  • 轮廓系数(Silhouette Coefficient)
    衡量聚类的紧密度和分离度,值范围 [-1,1],越接近1越合理。
  • ARI (Adjusted Rand Index)
    衡量两个聚类结果的相似度。

六、数据压缩

  • 目的:减少特征数量,降低存储和计算成本。
  • 示例:长度用厘米和英寸两个特征,冗余,可以降至一个维度。
  • 降维可以简化模型,去除冗余信息,提高算法效率。

七、数据可视化

  • 高维数据难以直观展示,降维到2维或3维方便可视化。
  • 注意:降维后新特征的意义需要人为解释。

八、主成分分析问题(PCA)

  • 目标:找到方向向量,使数据投影到该方向时,投影误差最小。
  • 投影误差指数据点到该方向向量垂直距离的平方和。
  • PCA与线性回归区别:
    • PCA最小化投影误差,不做预测。
    • 线性回归最小化预测误差。
  • PCA可用于数据压缩,保持最大数据方差。

九、主成分分析算法

  • 步骤
    1. 均值归一化:对每个特征减去均值,除以标准差。
    2. 计算协方差矩阵 Σ = 1 m ∑ i = 1 m x ( i ) x ( i ) T \Sigma = \frac{1}{m} \sum_{i=1}^m x^{(i)} x^{(i)T} Σ=m1∑i=1mx(i)x(i)T。
    3. 奇异值分解(SVD) 计算特征向量矩阵 U U U。
    4. 选取前 k k k 个特征向量构成矩阵 U reduce U_{\text{reduce}} Ureduce,用于降维。
    5. 新数据表示: z ( i ) = U reduce T x ( i ) z^{(i)} = U_{\text{reduce}}^T x^{(i)} z(i)=UreduceTx(i)。

十、选择主成分的数量

  • 选择使得保留的方差比例满足一定阈值(例如 95%)。

  • 计算投影后的方差占总方差比例:
    ∑ i = 1 k S i i ∑ i = 1 n S i i ≥ threshold \frac{\sum_{i=1}^k S_{ii}}{\sum_{i=1}^n S_{ii}} \geq \text{threshold} ∑i=1nSii∑i=1kSii≥threshold

相关推荐
愿所愿皆可成2 小时前
机器学习之聚类Kmeans算法
算法·机器学习·kmeans·聚类
RockyRich3 小时前
突然无法调用scikit-learn、xgboost
python·机器学习·scikit-learn
老歌老听老掉牙4 小时前
旋量理论:刚体运动的几何描述与机器人应用
python·算法·机器学习·机器人·旋量
Gyoku Mint6 小时前
机器学习×第五卷:线性回归入门——她不再模仿,而开始试着理解你
人工智能·python·算法·机器学习·pycharm·回归·线性回归
蒙奇D索大6 小时前
【11408学习记录】考研数学攻坚:行列式本质、性质与计算全突破
笔记·学习·线性代数·考研·机器学习·改行学it
Blossom.1186 小时前
基于机器学习的智能故障预测系统:构建与优化
人工智能·python·深度学习·神经网络·机器学习·分类·tensorflow
ICscholar7 小时前
生成对抗网络(GAN)损失函数解读
人工智能·机器学习·生成对抗网络
我不是小upper7 小时前
L1和L2核心区别 !!--part 2
人工智能·深度学习·算法·机器学习
柠石榴7 小时前
《机器学习》(周志华)第二章 模型评估与选择
人工智能·机器学习