我的机器学习

思维图和脑图在Processon的微信账号

辅助图像

我的机器学习_第1张图片

方向导数的图像直观理解及公式推导

https://www.bilibili.com/video/BV1uZ4y1L7bB/?spm_id_from=333.999.0.0&vd_source=e8c4fa6e99b7896ec2ef4f1bb7bed7ce

我的机器学习_第2张图片

证明方向导数

https://zhuanlan.zhihu.com/p/38525412

我的机器学习_第3张图片

为什么梯度是最快的方向

https://zhuanlan.zhihu.com/p/38525412

我的机器学习_第4张图片

矩阵的梯度求解

矩阵 - 梯度下降 - 代码解法

def loss_grad(o1,o2,label):
    # loss = (o1 - 14)**2 + (o2 - 11)**2
    # loss对o1的偏导和loss对o2的偏导
    grad = [2 * (o1-label[0]),2 * (o2-label[1])]
    return np.array(grad)


def matrix_grad_demo():
    """
    4x + 5y = o1
    7x + 2y = o2
    label = [14,11] 期望值
    loss = (o1 - 14)**2 + (o2 - 11)**2 损失函数
    """
    A = np.array([[4,5],[7,2]])
    X = np.array([2,6.2])

    Label = np.array([14,11])
    lr = 0.001

    for i in range(1000):
        O = A @ X
        grad = A.T @ loss_grad(O[0],O[1],Label)
        X[0] = X[0] - lr * grad[0]
        X[1] = X[1] - lr * grad[1]
        print("x[0]:{},x[1]:{}".format(X[0],X[1]))
matrix_grad_demo()
# 我按我的理解自己写了一次
def LtoC(Q,C): # 返回期望值对输出值的导数矩阵
    '''
    L = (Q[0] - C[0])**2 + (Q[1] - C[1])**2
    '''
    return np.array([2 * (C[0] - Q[0]),2 * (C[1] - Q[1])])


def myGrad():
    '''
    5x + 6y = o1
    2x + 9y = o2
    '''
    Q = [28, 31]
    Q = [64, 85]
    A = np.array([[5,6],[2,9]])
    X = np.array([2.5,6.7])

    C = A @ X
    lr = 0.005

    for i in range(10000):
        C = A @ X
        X[0] = X[0] - lr * LtoC(Q,C)[0]
        X[1] = X[1] - lr * LtoC(Q,C)[1]
    print(X)
myGrad()

线性回归问题的解析解推导(假定误差满足高斯分布)

我的机器学习_第5张图片

我的机器学习_第6张图片

Logistic回归算法损失函数求导(主要分析红框的内容)

我的机器学习_第7张图片

我的机器学习_第8张图片

关于梯度和拉格朗日通过可视化讲得很好的YouTube视频

https://www.youtube.com/watch?v=fYe0tU1Yimo
相关的可视化资料:梯度https://www.geogebra.org/m/RGZNtfu3 拉格朗日https://www.geogebra.org/m/cqmCmg7V

关于支持向量机一个很好的YouTube视频

https://www.youtube.com/watch?v=1IB2jDiZf74

双竖线(范数)

我的机器学习_第9张图片
我的机器学习_第10张图片

GBDT的学习

CART决策树(二叉树)->回归树和分类树https://www.bilibili.com/video/BV1mN411Z7j1/?p=5&spm_id_from=pageDriver&vd_source=e8c4fa6e99b7896ec2ef4f1bb7bed7ce
关于GBDT的概述https://www.bilibili.com/video/BV1tF411n7cS?p=1
关于GBDT的基础和公式推导(包括泰勒一阶展开->为了在没有确定损失函数的情况下对目标函数进行优化求解推导)非常重要!!https://www.bilibili.com/video/BV1K5411g7nB?p=4&vd_source=e8c4fa6e99b7896ec2ef4f1bb7bed7ce
关于XBboost的基础和公式推导https://www.bilibili.com/video/BV1nP4y177rw/?p=5&vd_source=e8c4fa6e99b7896ec2ef4f1bb7bed7ce(非常重要!)

K-Means++

一个可视化很好的视频https://www.youtube.com/watch?v=4qJWhvFQb9g

损失函数

最小二乘法和极大似然估计(可以应用在不连续数据上)https://www.youtube.com/watch?v=pjfnMgAnnIk

SVM算法推导

关于街宽

我的机器学习_第11张图片

adaboost

我的机器学习_第12张图片

分类下的交叉熵损失函数的导数

https://www.bilibili.com/video/BV1NU4y1w7C9/

我的机器学习_第13张图片

我的机器学习_第14张图片

安装torch和tensorflow-gpu
# 安装torch,在官网搞下载命令(下面是GPU款的)官网
pip3 install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121
# 怎么查看cuda版本
nvidia-smi

# 安装tensorflow-gpu
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow-gpu==2.4.1 --user
# 运行后会报错版本的不匹配的一些问题,但似乎没什么关系,因为会发现tensorboard能用
# 然而这个时候torch就不能用了,会报错from typing_extensions import ParamSpecImportError: cannot import name 'ParamSpec' from 'typing_extensions
# 这个时候更新pip install typing-extensions==4.2.0
# 然后还会报错Could not load dynamic library 'cudart64_110.dll'; dlerror: cudart64_110.dll not found,这个时候需要按照课程pdf实训指导书里的将cudart64_101.dll拷贝到c:\windows\system32目录下,然后就居然成功了!
# 然后就能用tensorboard --logdir C:\Users\Administrator\AppData\Roaming\JetBrains\PyCharmCE2023.2\scratches\log\mock_accuracy打开了

你可能感兴趣的:(机器学习,人工智能)