机器学习
文章平均质量分 65
机器学习之路
hello2mao
https://github.com/hello2mao
展开
-
常见的优化器(Optimizer)原理
记录下常见的优化算法。一、概述优化算法是训练过程中寻求最优解的方法,分类如下:性能对比如下:二、梯度下降法2.1 梯度下降(GD)梯度下降是通过 Loss 对的一阶导数来找下降方向,并且以迭代的方式来更新参数,更新方式为 :其中,为学习率。2.2随机梯度下降(SGD)随机梯度下降法(Stochastic Gradient Descent,SGD):均匀地、随机选取其中一个样本,用它代表整体样本,即把它的值乘以N,就相当于获得了梯度的无偏估计值。...原创 2021-04-22 19:51:31 · 5309 阅读 · 1 评论 -
交叉熵(Cross-Entropy)
目录一、信息量二、熵三、相对熵(KL散度)四、交叉熵五、Ref记录下交叉熵的知识点。一、信息量事件的信息量为:二、熵熵用来表示所有信息量的期望:三、相对熵(KL散度)KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。机器学习中,P往往用来表示样本的真实分布,Q用来表示模型所预测的分布。KL散度的计算公式:的值越小,表示q分布和p分布越接近四、交叉熵对KL散度进行变形...原创 2021-04-20 13:02:29 · 827 阅读 · 0 评论 -
LeNet GPU对比CPU
目录一、概述二、代码三、测试结果记录下LeNet在GPU和CPU下的一次测试。一、概述LeNet是卷积神经网络的祖师爷LeCun在1998年提出,用于解决手写数字识别的视觉任务。二、代码import torchimport torch.nn as nnimport torch.utils.data as Dataimport torchvisionimport timeUSE_GPU = TrueEPOCH = 10BATCH_SIZE ..原创 2021-04-09 12:14:35 · 589 阅读 · 0 评论 -
逻辑回归 Logistic Regression
记录下逻辑回归的知识点。一、模型其中:二、损失函数通常情况下,损失函数为平方损失函数:但如果使用平方损失函数,那么就会使得我们的损失函数变成一个非凸函数,一个非凸函数包括很多个最低点,也就是包括很多个局部的最优解,这样就无法确定全局最优解,这不利于我们处理这个问题。这里损失函数使用交叉熵:即:其中:y为label,y'为预测值,N为y的长度。Q&A逻辑回归损失函数为什么不使用MSE...原创 2021-04-06 20:09:14 · 819 阅读 · 0 评论 -
特征归一化/标准化(Feature scaling)
目录一、概念和公式二、代码示例记录下归一化和标准化的概念一、概念和公式归一化和标准化都是对数据做变换的方式,将原始的数据转换到某个范围,或者某种形态。min-max 归一化:mean 归一化:标准化:其中和分别是样本数据的均值(mean)和标准差(std)。二、代码示例def normalization(data): _range = np.max(data) - np.min(data) return (data - np.原创 2021-04-06 11:28:45 · 2547 阅读 · 0 评论 -
自动微分 Automatic Differentiation
记录下深度学习中的自动求导。一、概述深度学习框架一般是通过自动求导(automatic differentiation)来完成导数的计算。二、原理系统会构建一个计算图(computational graph)Ref【Autograd】深入理解BP与自动求导...原创 2021-03-27 22:45:40 · 301 阅读 · 0 评论 -
线性回归 Linear Regression
目录一、模型二、损失函数三、解析解四、梯度下降五、小批量随机梯度下降记录下线性回归的知识点。一、模型即:矩阵-向量乘法表示:二、损失函数损失函数能够量化目标的实际值与预测值之间的差距。通常我们会选择非负数作为损失,且数值越小表示损失越小,完美预测时的损失为0。回归问题中最常用的损失函数是平方误差函数。三、解析解四、梯度下降梯度下降是一个用来求函数最小值的算法。五、小批量随机梯度下降在每次迭代中,...原创 2021-03-27 16:09:36 · 505 阅读 · 0 评论 -
标量、向量、矩阵的求导
目录一、标量二、向量三、矩阵四、举例记录下标量、向量、矩阵的求导。一、标量二、向量三、矩阵四、举例原创 2021-03-27 10:46:55 · 276 阅读 · 0 评论 -
线性代数知识点
目录一、线性变换二、标量三、向量四、矩阵五、代码示例一、线性变换线性代数的本质:https://www.bilibili.com/video/BV1ys411472E可以将线性变换看做对空间的挤压伸展,它保持网络线平行且等距分布,并且保持原点不变。例如:二维矩阵的复合变换:二、标量三、向量四、矩阵五、代码示例import torch# 向量x = torch.ones(4, dtype=to原创 2021-03-21 12:17:47 · 279 阅读 · 0 评论 -
决策树(DecisionTree)
记录下决策树的原理和简单Demo;文章目录一、决策树原理二、决策树优缺点三、决策树算法种类四、信息增益五、Demo一、决策树原理决策树能够生成清晰的基于特征选择不同预测结果的树状结构;希望更好的理解手上的数据的时候,往往可以使用决策树。在实际应用中,受限于它的简单性,决策树更大的用处是作为一些更有用的算法的基石,例如随机森林。二、决策树优缺点优点:计算复杂度不高,输出结果易于理解;对中间值的缺失不敏感;可以处理不相关的特征数据;缺点:可能会产生过度匹配问题;适用数据类型:数值型、标称型.原创 2020-10-08 16:47:08 · 573 阅读 · 0 评论 -
k-近邻算法(KNN)
记录下kNN的原理和简单demo;文章目录一、算法原理二、kNN分类算法三、DemoRef一、算法原理存在一个样本数据集(训练样本),且样本数据集中的每个数据都有标签。输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应特征进行比较,然后算法提取样本集中特征最相似数据(最近邻)的分类标签,一般选取前k(k<=20)个最相似,作为新数据的分类。二、kNN分类算法计算已知类别数据集中的每个点与当前点之间的距离(欧式距离);按照距离进行递增排序;选取与当前点距离最小的k个点;确.原创 2020-10-06 10:55:07 · 254 阅读 · 0 评论