坐标下降求解人脸表示(机器学习作业04)

简介: 这是机器学习第四次作业的解答,包含两道题目。第一题涉及数学推导,给出了详细的求解过程。第二题则通过 Python 代码实现图像处理,包括读取单张图片和批量读取文件夹中的图片,并将图像数据转换为矩阵形式。

机器学习第四次作业

第一题

image-20201219230355797

求解过程如下:

1

2

第二题

image-20210319205229772

image-20210319205239761

f-1616158471171)]

image-20210319205250570

import cv2
import numpy as np
import random
import os


# 读取一张图片
def load_date_single(file_name):
    im = cv2.imread(file_name, -1)
    im = im.reshape(im.shape[0] * im.shape[1],)
    # im = im / np.max(im)
    im = np.mat(im)
    return im


# 读取一个文件下下的所有图片并用矩阵返回
def load_data(file_path):
    fileList = os.listdir(file_path)
    X = np.empty((10, 10304))
    for i in range(len(fileList)):
        file = file_path + "/{}.pgm".format(i+1)
        im = load_date_single(file)
        X[i] = im
    X = np.mat(X)
    return X


if __name__ == "__main__":
    name = "data/s1/2.pgm"
    img = load_date_single(name)
    print(type(img))
    print(img.shape)

    B = np.mat(np.zeros((10304, 40)))
    for k in range(40):
        ran = random.randint(1, 10)
        path = "data/s{}/{}.pgm".format(k+1, ran)
        img = load_date_single(path)
        B[:, k] = img.T
    print("B:")
    print(B)
    print(B.shape)

    inp = load_data("data/s1")
    print("input:")
    print(inp)
    print(inp.shape)
目录
相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
机器学习第五次作业
机器学习第五次作业包含三个题目。第一题实现高斯贝叶斯分类和高斯朴素贝叶斯分类,分别用于判断瓜的好坏。第二题使用EM算法对数据进行聚类,输出两个类别的均值、方差和先验概率。第三题内容未完整展示。
64 0
机器学习第五次作业
|
2月前
|
机器学习/深度学习 算法 数据处理
EM算法对人脸数据降维(机器学习作业06)
本文介绍了使用EM算法对人脸数据进行降维的机器学习作业。首先通过加载ORL人脸数据库,然后分别应用SVD_PCA、MLE_PCA及EM_PCA三种方法实现数据降维,并输出降维后的数据形状。此作业展示了不同PCA变种在人脸数据处理中的应用效果。
42 0
|
机器学习/深度学习 人工智能 并行计算
机器学习/人工智能 大作业:手写数字识别系统
机器学习/人工智能 大作业:手写数字识别系统
1129 0
机器学习/人工智能 大作业:手写数字识别系统
|
机器学习/深度学习 存储 关系型数据库
【吴恩达课后编程作业】第三周作业 (附答案、代码)隐藏层神经网络 神经网络、深度学习、机器学习
【吴恩达课后编程作业】第三周作业 (附答案、代码)隐藏层神经网络 神经网络、深度学习、机器学习
447 0
【吴恩达课后编程作业】第三周作业 (附答案、代码)隐藏层神经网络 神经网络、深度学习、机器学习
|
机器学习/深度学习 存储 移动开发
【吴恩达课后编程作业】第二周作业 (附答案、代码) Logistic回归 神经网络、深度学习、机器学习
【吴恩达课后编程作业】第二周作业 (附答案、代码) Logistic回归 神经网络、深度学习、机器学习
407 0
【吴恩达课后编程作业】第二周作业 (附答案、代码) Logistic回归 神经网络、深度学习、机器学习
|
机器学习/深度学习 数据挖掘 Python
模式识别与机器学习(作业6)基于聚类的图片分割
流程: 读图片(512, 512, 3)–>下采样,降低维度(256, 256, 3)–>将通道展平,data = (65536, 3)–>归一化
107 0
模式识别与机器学习(作业6)基于聚类的图片分割
|
机器学习/深度学习 编解码 计算机视觉
模式识别与机器学习(作业5)基于PCA–LDA的人脸识别
本次的实验是在模式识别与机器学习(作业4),PCA降维的基础上加入了线性判别分析,对维度进行了进一步的降低。
200 0
|
机器学习/深度学习 编解码 计算机视觉
模式识别与机器学习(作业4)
基于PCA降维的人脸识别
169 0
|
28天前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
95 4
|
7天前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
22 2