Numpy实现深度学习
不能成为高质量人类,但我努力写高质量文章,欢迎大家多多关注
AI浩
2022年博客之星Top8,2021年博客之星Top6,博客专家,华为云云享专家,十佳博主,阿里云专家博主,拥有多项发明专利并参与过国家重大专项,拥有丰富的开发经验。注重理论与实践的结合,让AI学起来不再枯燥。如果大家在看文章的时候,发现了文章的错误,烦请指出,我会及时纠正。
展开
-
Numpy实现KMeans
本专栏是讲解如何改进Yolov8的专栏。改进方法采用了最新的论文提到的方法。改进的方法包括:增加注意力机制、更换卷积、更换block、更换backbone、更换head、更换优化器等;每篇文章提供了一种到N种改进方法。评测用的数据集是我自己标注的数据集,里面包含32种飞机。每种改进方法我都做了测评,并与官方的模型做对比。代码和PDF版本的文章,我在验证无误后会上传到百度网盘中,方便大家下载使用。这个专栏,求质不求量,争取尽心尽力打造精品专栏!!!!!原创 2021-11-26 14:00:54 · 3339 阅读 · 0 评论 -
Numpy实现NaiveBayes(朴素贝叶斯)
from __future__ import division, print_functionimport numpy as npimport mathfrom mlfromscratch.utils import train_test_split, normalizefrom mlfromscratch.utils import Plot, accuracy_scoreclass NaiveBayes(): """The Gaussian Naive Bayes classifier.原创 2021-11-26 13:59:34 · 3577 阅读 · 0 评论 -
Numpy实现Neuroevolution(神经网络进化)
from __future__ import print_function, divisionimport numpy as npimport copyclass Neuroevolution(): """ Evolutionary optimization of Neural Networks. Parameters: ----------- n_individuals: int The number of neural networks that原创 2021-11-26 13:58:31 · 3075 阅读 · 0 评论 -
Numpy实现ParticleSwarmOptimizedNN(粒子群优化算法)
本专栏是讲解如何改进Yolov8的专栏。改进方法采用了最新的论文提到的方法。改进的方法包括:增加注意力机制、更换卷积、更换block、更换backbone、更换head、更换优化器等;每篇文章提供了一种到N种改进方法。评测用的数据集是我自己标注的数据集,里面包含32种飞机。每种改进方法我都做了测评,并与官方的模型做对比。代码和PDF版本的文章,我在验证无误后会上传到百度网盘中,方便大家下载使用。这个专栏,求质不求量,争取尽心尽力打造精品专栏!!!!!原创 2021-11-26 13:57:08 · 3071 阅读 · 0 评论 -
Numpy实现Perceptron(感知机)
from __future__ import print_function, divisionimport mathimport numpy as np# Import helper functionsfrom mlfromscratch.utils import train_test_split, to_categorical, normalize, accuracy_scorefrom mlfromscratch.deep_learning.activation_functions impo原创 2021-11-26 13:55:07 · 3071 阅读 · 0 评论 -
Numpy实现RandomForest
from __future__ import division, print_functionimport numpy as npimport mathimport progressbar# Import helper functionsfrom mlfromscratch.utils import divide_on_feature, train_test_split, get_random_subsets, normalizefrom mlfromscratch.utils import原创 2021-11-26 13:53:58 · 3011 阅读 · 0 评论 -
Numpy实现Regression
from __future__ import print_function, divisionimport numpy as npimport mathfrom mlfromscratch.utils import normalize, polynomial_featuresclass l1_regularization(): """ Regularization for Lasso Regression """ def __init__(self, alpha):原创 2021-11-26 13:52:28 · 3209 阅读 · 0 评论 -
Numpy实现SVM
from __future__ import division, print_functionimport numpy as npimport cvxoptfrom mlfromscratch.utils import train_test_split, normalize, accuracy_scorefrom mlfromscratch.utils.kernels import *from mlfromscratch.utils import Plot# Hide cvxopt outp.原创 2021-11-26 13:51:51 · 3785 阅读 · 0 评论 -
Numpy实现XGBoost
from __future__ import division, print_functionimport numpy as npimport progressbarfrom mlfromscratch.utils import train_test_split, standardize, to_categorical, normalizefrom mlfromscratch.utils import mean_squared_error, accuracy_scorefrom mlfromsc原创 2021-11-26 13:50:51 · 3097 阅读 · 0 评论 -
Numpy实现MultilayerPerceptron
from __future__ import print_function, divisionimport numpy as npimport mathfrom sklearn import datasetsfrom mlfromscratch.utils import train_test_split, to_categorical, normalize, accuracy_score, Plotfrom mlfromscratch.deep_learning.activation_funct原创 2021-11-26 13:49:29 · 3333 阅读 · 0 评论 -
Numpy实现MultiClassLDA
from __future__ import print_function, divisionimport matplotlib.pyplot as pltimport numpy as npfrom mlfromscratch.utils import calculate_covariance_matrix, normalize, standardizeclass MultiClassLDA(): """Enables dimensionality reduction for mult原创 2021-11-26 13:48:40 · 2942 阅读 · 0 评论 -
Numpy实现LogisticRegression
from __future__ import print_function, divisionimport numpy as npimport mathfrom mlfromscratch.utils import make_diagonal, Plotfrom mlfromscratch.deep_learning.activation_functions import Sigmoidclass LogisticRegression(): """ Logistic Regressio原创 2021-11-26 13:47:37 · 3235 阅读 · 0 评论 -
Numpy实现LDA
from __future__ import print_function, divisionimport numpy as npfrom mlfromscratch.utils import calculate_covariance_matrix, normalize, standardizeclass LDA(): """The Linear Discriminant Analysis classifier, also known as Fisher's linear discrimin原创 2021-11-26 13:47:03 · 3000 阅读 · 0 评论 -
Numpy实现KNN
from __future__ import print_function, divisionimport numpy as npfrom mlfromscratch.utils import euclidean_distanceclass KNN(): """ K Nearest Neighbors classifier. Parameters: ----------- k: int The number of closest neighbors原创 2021-11-26 13:46:32 · 3148 阅读 · 0 评论 -
Numpy实现GradientBoosting
from __future__ import division, print_functionimport numpy as npimport progressbar# Import helper functionsfrom mlfromscratch.utils import train_test_split, standardize, to_categoricalfrom mlfromscratch.utils import mean_squared_error, accuracy_scor原创 2021-11-26 13:45:50 · 2958 阅读 · 0 评论 -
Numpy实现DecisionTree
from __future__ import division, print_functionimport numpy as npfrom mlfromscratch.utils import divide_on_feature, train_test_split, standardize, mean_squared_errorfrom mlfromscratch.utils import calculate_entropy, accuracy_score, calculate_variance原创 2021-11-26 13:44:48 · 3038 阅读 · 0 评论 -
Numpy实现BayesianRegression
from __future__ import print_function, divisionimport numpy as npfrom scipy.stats import chi2, multivariate_normalfrom mlfromscratch.utils import mean_squared_error, train_test_split, polynomial_featuresclass BayesianRegression(object): """Bayes原创 2021-11-26 13:43:29 · 2972 阅读 · 0 评论 -
Numpy实现Adaboost
from __future__ import division, print_functionimport numpy as npimport mathfrom sklearn import datasetsimport matplotlib.pyplot as pltimport pandas as pd# Import helper functionsfrom mlfromscratch.utils import train_test_split, accuracy_score, Plo原创 2021-10-09 09:47:18 · 3343 阅读 · 0 评论 -
Numpy实现accuracy
def accuracy_score(y_true, y_pred): """ Compare y_true to y_pred and return the accuracy """ accuracy = np.sum(y_true == y_pred, axis=0) / len(y_true) return accuracy原创 2021-10-09 09:40:57 · 3297 阅读 · 0 评论 -
Numpy实现batch_iterator
def batch_iterator(X, y=None, batch_size=64): """ Simple batch generator """ n_samples = X.shape[0] for i in np.arange(0, n_samples, batch_size): begin, end = i, min(i+batch_size, n_samples) if y is not None: yield X原创 2021-10-08 09:26:06 · 3170 阅读 · 0 评论 -
Numpy实现train_test_split
from __future__ import divisionfrom itertools import combinations_with_replacementimport numpy as npimport mathimport sysdef shuffle_data(X, y, seed=None): """ Random shuffle of the samples in X and y """ if seed: np.random.seed(seed)原创 2021-10-08 09:23:24 · 3294 阅读 · 0 评论 -
Numpy实现深度学习Model
from __future__ import print_function, divisionfrom terminaltables import AsciiTableimport numpy as npimport progressbarfrom mlfromscratch.utils import batch_iteratorfrom mlfromscratch.utils.misc import bar_widgetsclass NeuralNetwork(): """Neur原创 2021-10-08 09:19:53 · 3066 阅读 · 0 评论 -
Numpy实现优化器
import numpy as npfrom mlfromscratch.utils import make_diagonal, normalize# Optimizers for models that use gradient based methods for finding the # weights that minimizes the loss.# A great resource for understanding these methods: # http://sebastian原创 2021-10-08 09:18:44 · 3015 阅读 · 0 评论 -
Numpy实现Activation
activation_functions = { 'relu': ReLU, 'sigmoid': Sigmoid, 'selu': SELU, 'elu': ELU, 'softmax': Softmax, 'leaky_relu': LeakyReLU, 'tanh': TanH, 'softplus': SoftPlus}class Activation(Layer): """A layer that applies an原创 2021-09-16 09:44:11 · 2977 阅读 · 0 评论 -
Numpy实现Dropout
class Dropout(Layer): """A layer that randomly sets a fraction p of the output units of the previous layer to zero. Parameters: ----------- p: float The probability that unit x is set to zero. """ def __init__(self, p=0原创 2021-09-16 09:39:35 · 3553 阅读 · 0 评论 -
Numpy实现UpSampling2D(上采样)
class UpSampling2D(Layer): """ Nearest neighbor up sampling of the input. Repeats the rows and columns of the data by size[0] and size[1] respectively. Parameters: ----------- size: tuple (size_y, size_x) - The number of times原创 2021-09-16 09:38:44 · 4885 阅读 · 0 评论 -
Numpy实现Flatten
class Flatten(Layer): """ Turns a multidimensional matrix into two-dimensional """ def __init__(self, input_shape=None): self.prev_shape = None self.trainable = True self.input_shape = input_shape def forward_pass(self,原创 2021-09-16 09:37:57 · 3029 阅读 · 0 评论 -
Numpy实现ZeroPadding2D
class ConstantPadding2D(Layer): """Adds rows and columns of constant values to the input. Expects the input to be of shape (batch_size, channels, height, width) Parameters: ----------- padding: tuple The amount of padding along原创 2021-09-16 09:32:38 · 3316 阅读 · 0 评论 -
Numpy实现MaxPooling2D(最大池化)和AveragePooling2D(平均池化)
class PoolingLayer(Layer): """A parent class of MaxPooling2D and AveragePooling2D """ def __init__(self, pool_shape=(2, 2), stride=1, padding=0): self.pool_shape = pool_shape self.stride = stride self.padding = padding原创 2021-09-16 09:30:30 · 5232 阅读 · 1 评论 -
Numpy实现BatchNormalization
class BatchNormalization(Layer): """Batch normalization. """ def __init__(self, momentum=0.99): self.momentum = momentum self.trainable = True self.eps = 0.01 self.running_mean = None self.running_var = N原创 2021-09-16 09:28:35 · 3449 阅读 · 1 评论 -
Numpy实现Conv2D
class Conv2D(Layer): """A 2D Convolution Layer. Parameters: ----------- n_filters: int The number of filters that will convolve over the input matrix. The number of channels of the output shape. filter_shape: tuple原创 2021-09-16 09:26:38 · 3931 阅读 · 0 评论 -
Numpy实现RNN
class RNN(Layer): """A Vanilla Fully-Connected Recurrent Neural Network layer. Parameters: ----------- n_units: int The number of hidden states in the layer. activation: string The name of the activation function which原创 2021-09-16 09:22:56 · 3070 阅读 · 0 评论 -
Numpy实现全连接
class Layer(object): def set_input_shape(self, shape): """ Sets the shape that the layer expects of the input in the forward pass method """ self.input_shape = shape def layer_name(self): """ The name of the layer.原创 2021-09-16 09:22:03 · 2952 阅读 · 0 评论 -
Numpy实现Loss函数
from __future__ import divisionimport numpy as npfrom mlfromscratch.utils import accuracy_scorefrom mlfromscratch.deep_learning.activation_functions import Sigmoidclass Loss(object): def loss(self, y_true, y_pred): return NotImplementedErr原创 2021-09-16 09:20:31 · 3669 阅读 · 0 评论 -
Numpy实现激活函数
import numpy as np# Collection of activation functions# Reference: https://en.wikipedia.org/wiki/Activation_functionclass Sigmoid(): def __call__(self, x): return 1 / (1 + np.exp(-x)) def gradient(self, x): return self.__call原创 2021-09-16 09:17:47 · 3425 阅读 · 0 评论