人工智能第2课

本文概述了矩阵运算的基础概念,包括加减法、乘法、单位矩阵、转置、欧式变换以及齐次坐标。还介绍了导数、偏导数、梯度、梯度下降法等数学工具在计算和优化中的应用。同时讨论了数学期望、方差和标准差在统计学中的角色,以及数字图像处理中的插值方法,如最临近插值和上采样技术。
摘要由CSDN通过智能技术生成

向量

矩阵

1. 矩阵的加减法 A+B = B+A

2. 矩阵的乘法

A*B=矩阵A每一行的列 * 矩阵B每一列的行(需要满足A的列=B的行数 )

3. 单位矩阵

  1. 单位矩阵n*n,且对角线全是1,其余都为0
  2. 单位矩阵在矩阵乘法中相当于数字1,记作I
  3. 逆矩阵
    矩阵A的逆矩阵记作A-1,A * A-1 = I
    在这里插入图片描述
  4. 奇异矩阵,当ad-bc=0时,|A|没有定义,A-1不存在,A是奇异矩阵

4.矩阵的转置

  1. 矩阵的转置就是行列互换,用AT表示A的转置矩阵
    在这里插入图片描述
  2. 对称矩阵:一个矩阵的转置等于原矩阵
    一个矩阵转置和这个矩阵的乘积就是一个对称矩阵

欧式变换

a = Ra + t
a:坐标
R:旋转
t:平移

齐次坐标

齐次坐标就是用N+1维来代表N维坐标
(1,2)的齐次坐标可以表示为(1,2,1)。

导数 偏导数

  1. y = kx + b 直线只有1个斜率,曲线有无数个斜率
  2. 切线(几何概念)== 斜率(代数概念)
  3. 求导的过程?x^n’= n x^n-1在这里插入图片描述4. 偏导数,多元求导

梯度

梯度和导数是一个意思,梯度是算法里的概念。

梯度下降法

给定区间求极限最小值。
该方法最普通的做法是:在已知参数当前值的情况下,按当前点对应的梯度向量的反方向,并按事先给定好的步长大小,对参数进行调整
梯度下降法存在的问题:

  1. 参数调整缓慢
  2. 收敛于局部最小值

数学期望、方差、标准差

  1. 数学期望(均值):表示一件事平均发生的概率。
  2. 方差:用来刻画随机变量x和数学期望E(x)之间的偏离程度,记做D(x)。每一个值与总体均值之差平方的平均值。
  3. 标准差(均方差):标准差是方差的算术平方根。标准差能反映一个数据集的离散程度。
  4. 正态分布(高斯分布):若随机变量X服从一个数学期望为μ、方差为σ2的正态分布,记为N(μ,σ2)。
    μ决定了其位置(中心线),其标准差σ决定了分布的幅度(胖瘦)。
    标准正态分布:当μ = 0,σ = 1时的正态分布是标准正态分布
  5. 熵 entropy : 混乱程度的量度。越有序,熵值越低;越混乱越分散,熵值越高。
    不确定性越大,则信息量越大,熵越大
    不确定越小,信息量越小,熵越小
    图像识别-用梯度下降法找熵值最小的,模型越好。

数字图像

  1. 像素
    (x,y,z)->(r,g,b) (128,0,0)(255,0,0)(128,0,52)(128,89,52)
  2. 通道。
    2.1 单通道:只要是单通道的,就是灰度图二值图里像素在这里插入代码片只有2种,二值图是特殊的灰度图。
    2.2 三通道:RGB模式
    2.3 四通道:RGBA模式,RGB+透明度a
  3. 作业1:代码:RGB值转化为浮点数&二值化
import numpy as np
import cv2

#方法1:用cv2

image = cv2.imread("../lenna.png")
# print(f'image:{image}')
h,w = image.shape[:2]
GreyImage = np.zeros([h,w],image.dtype)
for i in range(h):
    for j in range(w):
        B,G,R = image[i,j][0],image[i,j][1],image[i,j][2]
        GreyImage[i,j] = int(R*0.3+G*0.59+B*0.11)
    # print(GreyImage)

print(GreyImage)
cv2.imshow("rgb",image)
cv2.imshow("grey",GreyImage)
cv2.waitKey(0)
TwoImage = GreyImage
h2, w2 = TwoImage.shape
for i in range(h2):
    for j in range(w2):
        if TwoImage[i, j] /255 <= 0.5:
            TwoImage[i, j] = 0
        else:
            TwoImage[i, j] = 255 #cv2.imshow只能显示0-255数值
print(TwoImage)
cv2.imshow("two",TwoImage)
cv2.waitKey(0)
  1. 上采样。放大图像。上采样原理:内插值。主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上。可以用最临近插值方法

  2. 下采样:缩小图像

常用的插值方法

作业2:

  1. 最临近插值

```python
import cv2
import numpy as np

def function(img): #把原来的图像放大到800*800图像
    height,width,channels = img.shape
    emptyImage = np.zeros((800,800,channels),np.uint8)
    sh = 800/height
    sw = 800/width
    for i in range(800):
        for j in range(800):
            x = int(i/sh + 0.5)
            y = int(j/sw + 0.5)
            emptyImage[i,j] = img[x,y]
    return emptyImage

img = cv2.imread("lemon.png")
print(img.shape)
zoom = function(img)
print(zoom)
print(zoom.shape)

cv2.imshow("nearest intert",zoom)
cv2.imshow("image",img)
cv2.waitKey(0)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值