zoukankan      html  css  js  c++  java
  • andrew ng machine learning week8 非监督学习

     

    吴恩达机器学习全套笔记博客地址
     

      

     聚类——无监督学习的一种算法

    K-means算法 最为广泛使用的聚类算法

    选择两个聚类中心

    簇分配:根据每个样本更接近哪个聚类中心进行样本的分配

    簇中心移动:计算出所有的红点类的均值点,移动原始聚类中心到这个点,蓝点类同理

    进行不断地迭代直到收敛 

    输入:K个簇类和训练集样本数据

    注意:不需要X0项,为n维向量

     算法的描述:

    如果最终有个簇中心没有任何点分配给他那么直接移除就可以

    K-means常常适用于右侧这种看不出来结构的混乱的数据的聚类的,所以并不是都是左图如此理想的环境

    最优化的目标函数


    参数们:

    每个训练样本被归类的簇号

    簇中心编号

    x所属的族的族编号

    优化目标:每个样本到所属的簇中心的距离的累加和越小越好

    随机初始化

    K 应该 小于M

    随机选择K个训练样本作为初始的簇中心

    如何选择K的数目

    看聚类产生的结果来手动选择聚类的数目

    肘部法则:绘制随着聚类数目增多的cost曲线,选择位于手肘的位置的类数

    衣服尺码的选择

    第二种非监督算法 维数约减


    一个物体用厘米英寸两种变量表示,其实冗余了,可以降维一次

    可视化数据

    从高纬度降到2/3维从而可以实现可视化

    主成分分析法降维

    找到一条线把所有的点投射到这条直线上,每个点到投影点的距离非常小,也就是找一个低维度的面,使这些小蓝色断线投影误差(的和最小)

    首先一定要进行特征维度的均值归一化

    找到一个方向进行投影

    在3D上则是找到两个方向确定一个平面

    主成分分析的算法实现:

    一组训练数据首先进行特征缩放或者均值归一

    计算协方差矩阵的特征向量,svd 奇异值分解 或者 eig命令都可以求特征向量

    我们需要的是U矩阵,即为我们需要的u1,u2 and so on ,只需要选取前K列值就可以

    总结

    PCA作为数据压缩的算法,如何从压缩的数据还原到压缩之前的数据呢?

    如何选择K最为合适呢?

    使用K=1 进行PCA的计算,看是否差异性能够被保留,否则就增大K的值直到选择一个能保留差异性的K值

    S是一个N*N的矩阵,对角线以外的元素都是0 

    左边这个计算公式可以用右边的S矩阵的公式来更简单地计算出来

    也就是1- K个对角线元素/N个对角线元素的和

    总结一下计算的方法:

    PCA如何在实际操作中提高算法的速度

    10000维度的特征向量如何降维

    首先得到一组没有y的训练样本

    然后得到一组降了维度的z和新的训练集

    PCA的应用

    压缩

    加速学习算法

    不合适的应用:避免过拟合

    当你发现你的运行空间不够或者效果不够好时才需要考虑用PCA来处理一下

  • 相关阅读:
    IPC---信号量
    static的用法
    模拟对话框的实现
    Dom选择器使用与调试记录
    第一个javascript脚本
    javascript基础总汇
    overflow的量两种模式
    固定标签到页面
    固定标签到某个标签
    固定标签(position: fixed)
  • 原文地址:https://www.cnblogs.com/twomeng/p/9876316.html
Copyright © 2011-2022 走看看