第八周(无监督学习)-【机器学习-Coursera Machine Learning-吴恩达】
目录
K-means算法
PCA(主成分分析)
a 选择聚类中心
b 迭代优化分二步
- 针对每一个样本划分到所属聚类中心
- 针对每一个聚类,重新选取聚类中心(某一类所有点坐标的平均值即为新的聚类中心)
K-means算法
PCA(主成分分析)
1 K-means
1)算法原理:a 选择聚类中心
b 迭代优化分二步
- 针对每一个样本划分到所属聚类中心
- 针对每一个聚类,重新选取聚类中心(某一类所有点坐标的平均值即为新的聚类中心)
2) 优化目标 J :
每一个样本到它所属的聚类中心的距离的平方
每一个样本到它所属的聚类中心的距离的平方
3) 随机初始化中心
局部最优情况:
局部最优情况:
正确情况:
为了避免得到局部最优值,可以多次执行算法,每次随机不同的聚类中心,最后在得到的众多聚类方法中选择一个代价最低的。
4) 选择聚类数量
一般根据实际情况,或观察,或肘部法则
错题
选D
2 主成分分析(PCA)
维度减约动机:数据压缩、数据可视化
PCA:寻找投影子空间使投影误差最小
降到k维,则在所有空间中利用k个向量寻找投影子空间,使投影误差最小
PCA:寻找投影子空间使投影误差最小
降到k维,则在所有空间中利用k个向量寻找投影子空间,使投影误差最小
1)PCA算法
- 预处理,均一化/特征缩放: x —> x-u(u为所有样本平均值)
- 计算 协方差矩阵,利用奇异值分解 svd
- 降维
- 预处理,均一化/特征缩放: x —> x-u(u为所有样本平均值)
- 计算 协方差矩阵,利用奇异值分解 svd
- 降维
matlab实现:
Sigma = 1/m * X'* X;
[U, S, V] = svd(Sigma);
U_reduce = U(:, 1:K);
Z =X * U_reduce;
[U, S, V] = svd(Sigma);
U_reduce = U(:, 1:K);
Z =X * U_reduce;
2)降维之后的还原
U_reduce = U(:, 1:K);
X_rec = Z * U_reduce';
3)选择维数k
降低纬度,保持差异性
U_reduce = U(:, 1:K);
X_rec = Z * U_reduce';
3)选择维数k
降低纬度,保持差异性
简便些:
错题:
