我的机器学习

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

辅助图像

在这里插入图片描述

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

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

在这里插入图片描述

证明方向导数

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

在这里插入图片描述

为什么梯度是最快的方向

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

在这里插入图片描述

矩阵的梯度求解

在这里插入图片描述

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

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 = o17x + 2y = o2label = [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.001for i in range(1000):O = A @ Xgrad = 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 = o12x + 9y = o2'''Q = [28, 31]Q = [64, 85]A = np.array([[5,6],[2,9]])X = np.array([2.5,6.7])C = A @ Xlr = 0.005for i in range(10000):C = A @ XX[0] = X[0] - lr * LtoC(Q,C)[0]X[1] = X[1] - lr * LtoC(Q,C)[1]print(X)
myGrad()

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

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

关于梯度和拉格朗日通过可视化讲得很好的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

双竖线(范数)

在这里插入图片描述
在这里插入图片描述

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算法推导

关于街宽

在这里插入图片描述

adaboost

在这里插入图片描述

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

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

在这里插入图片描述

在这里插入图片描述

安装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打开了


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部