机器学习
文章平均质量分 76
小夭。
这个作者很懒,什么都没留下…
展开
-
深度学习基础学习-深度可分离卷积
深度可分离卷积原创 2023-07-26 15:46:15 · 357 阅读 · 0 评论 -
深度学习基础学习-1x1卷积核的作用(CNN中)
1x1卷积核作用原创 2022-11-09 15:16:32 · 20911 阅读 · 13 评论 -
深度学习基础学习-RNN与LTSM、GRU
最近看文献看到了LTSM(Long Short Term Memory)相关的文献,所以把了解到的内容做一个记录RNN循环神经网络(Recurrent Neural Network, RNN),以序列(sequence)数据为输入,在序列的演进方向进行递归(recursion)且所有节点(循环单元)按链式连接的递归神经网络(recursive neural network)。因为与时间序列相关,所以多用于自然语言处理、语音识别、机器翻译等领域1、RNN的结构RNN之所以称为循环神经网路,即一个序列原创 2022-04-20 20:42:09 · 2413 阅读 · 3 评论 -
深度学习基础学习-残差
在看过一些基本资料之后进行的小总结大佬绕道1、残差的数学概念是指估计值与实际值直接的差,如果存在一个映射f(x)=b,x=x0时,则b-f(x0)则为残差,x-x0为误差2、残差网络对于传统的CNN网络,简单的增加网络的深度,容易导致梯度消失和爆炸。针对梯度消失和爆炸的解决方法一般是正则初始化(normalized initialization)和中间的正则化层(intermediate normalization layers),但是这会导致另一个问题,退化问题,随着网络层数的增加,在训练集上的原创 2022-04-20 16:11:42 · 5979 阅读 · 3 评论 -
tensorflow基础学习-anaconda方式安装tensorflow(gpu-2.5版本)
基于tensorflow1.0+太混乱了,博主转战2.5tensorflow1.0+相应的安装过程可以见tensorflow1.15.0安装1、安装前确定版本信息2、创建虚拟环境打开Anaconda中的 Anaconda Prompt输入命令创建新的虚拟环境conda create -n TF25GPU python=3.7.0注意安装的版本,这里的版本和上面的表格是对应的3、激活虚拟环境输入命令conda activate TF25GPU 在服务器上输入必须加入conda原创 2022-03-23 19:41:59 · 4172 阅读 · 0 评论 -
机器学习基础学习-关于反向传播算法的一些记录
梯度下降与随机梯度下降我们期望代价函数尽可能的小,但实际情况下我们不能直接通过数学解解除对应的最小值,于是产生了我们的梯度下降法求代价函数的最小值,相关概念可以看前面的博客将代价函数看做两个维度上的更改,那么代价函数引起的变化,是由v1、v2引起的将两个维度上的变化写成向量的形式我们希望代价函数尽可能小,所以这里代价函数的变化我们期望为负值,我们取因此可以得到代价函数的变化恒为负数。进而进行梯度下降的过程随机梯度下降我们期望以部分样本代价函数的平均来估计所有样本代价函数的平均原创 2022-03-21 10:03:01 · 1047 阅读 · 0 评论 -
神经网络与深度学习代码修改
关于《神经⽹络与深度学习》代码部分进行了部分修改,针对python3.0进行相关更改记录如下''' 代码修改说明''''''1、xrangexrange是python2.0的用法python3.0+改成了range''''''2、printprint"Epoch {0}: {1} / {2}".format(j, self.evaluate(test_data), n_test)是python2.0的用法python3.0+改成了print("Epoch {0}: {1} /原创 2022-02-22 16:38:22 · 1311 阅读 · 0 评论 -
机器学习基础学习-聚类
一、聚类基本概念在之前学习当中,我们遇到的大多数分类问题,对于数据集中的样本我们已经有了对应的分类标签,我们通过训练数据集可以绘制出一条最合适的决策边界,明确了具体的样本属于哪一类,当在测试集上测试时,我们的分类误差尽可能的小,对于未知的数据,我们也能对其进行准确率尽可能大的分类。而本次学习的聚类,对于很多样本而言,他们没有分类标签,我们可以通过某个特定标准,使同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性尽可能地大,我们不关心数据具体属于哪一类,而是把相似性大的数据归为一类原创 2022-01-07 21:46:14 · 1317 阅读 · 0 评论 -
机器学习基础学习-sklearn中的SVM
前言理论部分参考支持向量机SVM(理论部分)写代码之前,我们要把数据做标准化处理,因为SVM寻找的是使margin最大的中间的那根线,而我们衡量margin的方式是数据点之间的距离,这里涉及到距离,如果我们的数据点在不同的维度上,量纲不同,那我们对数据的估计是有问题的。举个例子,下图有四个样本点,两个属于红色类别,两个属于蓝色类别。如果数据在这两个维度上数据尺度相差过大,例如横轴上范围在(0,1),纵轴的范围是(0,10000)此时使用SVM,得到的决策边界如下图所示,此时标记的两个点是我们的原创 2021-12-14 21:07:16 · 6328 阅读 · 4 评论 -
机器学习基础学习-支持向量机SVM(理论部分)
1、什么是支持向量机支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线性分类器(generalized linear classifier)支持向量机(Support Vector Machine)。支持向量机既可以解决分类问题,也可以解决回归问题。在之前的逻辑回归中,对于数据的分类,我们可以找到一条决策边界对数据进行分类但其实这个决策边界并不唯一,可以看到下面两条线都可以作为决策边界,这种问原创 2021-12-14 16:07:49 · 3289 阅读 · 2 评论 -
机器学习基础学习-决策树(信息熵以及基尼系数进行划分)
1、什么是决策树这里上一个最简单的例子这样的一个过程形成了一个树的结构,这棵树所有叶子节点的位置就是最终做出的决策,这个决策可以看成对应聘者的信息的输入进行分类(录用或者考察)的过程。这样的一个过程就是决策树。对于决策树来说,他有树结构相应所有的性质(包括节点、深度等)这里的决策树的深度就是3,因为最多通过3次判断就能将数据进行相应的分类。这里每一个节点进行决策的属性都可以通过是或者否来回答问题,实际上真实的数据的内容都是具体的数值。2、通过sklearn了解决策树(1)生成样本# 决策树原创 2021-11-18 10:05:11 · 7841 阅读 · 0 评论 -
《动手学深度学习》 pytorch版-创建Tensor操作
这里简单记录学习《动手学深度学习》 pytorch版的一些学习过程1、创建Tensor操作# Tensor的最基本功能,即Tensor的创建import torch# 创建一个5x3的未初始化的Tensorx = torch.empty(5, 3)print(x, '5x3的未初始化的Tensor')# 创建一个5x3的随机初始化的Tensorx1 = torch.rand(5, 3)print(x1, '5x3的随机初始化的Tensor')# 创建一个5x3的long型全0的Te原创 2021-11-09 20:48:53 · 391 阅读 · 0 评论 -
机器学习基础学习-在逻辑回归中使用多项式特征
前言在之前的博客中讲到的逻辑回归,其实本质是在平面上找一条直线,用这条直线来分割所有样本对应的分类。所以之前说逻辑回归在绝大多数情况下,只能解决二分类问题,因为这个直线只能将我们的平面分成两个部分。但即使如此,我们会发现直线这种分类方式太过于简单了,有很多其他情况不能单纯通过直线来分类,比如下图,在我们的特征平面中分布着一些样本点,红色属于一类,蓝色属于另一类,对于这些样本点来说,我们不能通过直线将他们分成两部分,因为这些样本点的分布是非线性的分布。一、在逻辑回归中使用多项式特征基本思路其实通过观察原创 2021-11-09 18:12:44 · 1266 阅读 · 0 评论 -
机器学习基础学习-过拟合和欠拟合
前言上一篇博客有说到,通过多项式回归,我们可以对非线性的数据进行拟合,进而求解回归问题,但是过度使用多项式回归的方式,会牵扯到过拟合和欠拟合。1、准备工作还是先准备我们的数据集# 过拟合与欠拟合import numpy as npimport matplotlib.pyplot as plt# 生成随机数据# random.uniform(x, y)方法将随机生成一个实数,它在 [x,y] 范围内。x = np.random.uniform(-3, 3, size = 100)X =原创 2021-11-08 20:49:37 · 892 阅读 · 0 评论 -
机器学习基础学习-scikit-learn中的多项式回归和pipeline
前言在上一篇博客机器学习基础学习-多项式回归当中,主要在调用线性回归前,改造了X,添加了X2 的特征,这个整个多项式回归的过程在sklearn当中封装在了preprocessing的包中,主要作用是对数据的预处理(就是为我们的数据添加新的特征),这里import一个PolynomialFeatures类1、scikit-learn中的多项式回归(一个特征)(1)生成样本数据和上一篇博客一样,首先生成我们的样本数据# scikit-learn中的多项式回归于pipelineimport numpy原创 2021-11-05 16:54:23 · 462 阅读 · 0 评论 -
机器学习基础学习-多项式回归
前言之前的线性回归法有一个很大的局限性,要求假设数据背后是存在线性关系的,但是对于实际应用场景当中,具有线性关系比较强的数据集太少了,更多的是具有非线性关系的数据集。这里引入使用多项式回归,改进线性回归法,可以对非线性的数据进行处理,进而进行预测(进而其实可以引出模型泛化这个概念)1、多项式回归概念我们学习线性回归时,对于这些数据,我们想要找一条直线,让这条直线尽可能的拟合这些数据,如果这些数据只有一个特征的话,相应的直线就是y=ax+b,x是样本特征,a和b就是我们需要求的模型参数。但是对于有原创 2021-11-04 17:30:57 · 3304 阅读 · 2 评论 -
机器学习基础学习-在逻辑回归中使用多项式特征
前言在之前的博客中讲到的逻辑回归,其实本质是在平面上找一条直线,用这条直线来分割所有样本对应的分类。所以之前说逻辑回归在绝大多数情况下,只能解决二分类问题,因为这个直线只能将我们的平面分成两个部分。但即使如此,我们会发现直线这种分类方式太过于简单了,有很多其他情况不能单纯通过直线来分类,比如下图,在我们的特征平面中分布着一些样本点,红色属于一类,蓝色属于另一类,对于这些样本点来说,我们不能通过直线将他们分成两部分,因为这些样本点的分布是非线性的分布。一、在逻辑回归中使用多项式特征基本思路其实通过观察原创 2021-11-03 21:04:07 · 151 阅读 · 0 评论 -
机器学习基础学习-多元线性回归问题(梯度下降法实现)
1、基本概念在之前的博客当中描述了怎样模拟出了梯度下降的过程如果是多维情况,theta其实是一个向量,那么对其求导的损失函数也是向量,梯度就是损失函数对每个方向的theta求偏导。和之前的一维线性回归相比,我们对只是对w这个数字进行求导,而现在针对多系数theta,对theta整个向量进行求导。有两个参数的梯度下降法进行可视化,一圈一圈代表等高线,圈上的值就是梯度。越外层J的取值越大,越里层J的取值越小,在图的中心位置达到损失函数的最小值对每一个维度的theta进行求导(这里的Xb注意依原创 2021-10-26 09:40:16 · 3199 阅读 · 4 评论 -
机器学习基础学习-多元线性回归问题(数学解实现)
1、基本概念之前的简单线性回归针对的是样本只有一个特征值的情况,当我们的样本中包含了多个特征值的时候,我们就引入了多元线性回归的问题。我们数据有多个特征、有多少个维度,相应的每一个特征前都有一个系数,这里用theta0、1、2来表示,与此同时,整个直线有个截距,我们先用theta0来表示,这里的theta0相当于之前简单线性回归的b,theta1表示之前的系数a(或者w),在多元线性回归中,相应我们要求n+1个参数,这里就用theta0-n来表示(上面第一张图片的w)这里其实和简单线性回归很类原创 2021-10-25 17:26:07 · 1348 阅读 · 0 评论 -
机器学习基础学习-逻辑回归
1、什么是逻辑回归原创 2021-10-25 16:07:45 · 1014 阅读 · 0 评论 -
python基础学习-继承
自学的小记录,大佬绕道1、一个子类可以继承它的父类的所有属性和方法先看一个具体的例子# 继承class Parent: def hello(self): print('调用父类的hello方法')# class DerivedClassName(BaseClassName):class Child(Parent): pass # 直接向下执行p = Parent()c = Child()p.hello()# c.hello()我们发现直接调用c.hel原创 2021-10-14 11:23:17 · 412 阅读 · 0 评论 -
机器学习基础学习-梯度下降法实现一维线性回归
在前面有一篇博客中模拟实现梯度下降法。现在用代码实现以下简单线性回归这里的主要思想其实还是不断对损失函数进行对b、w求偏导,再带入上图中所给我式子求出b和w的梯度。最后找的最优解的点进行预测(这里在代码中也是设置了训练次数每80次进行一次绘图)采用的数据和解析法实现简单线性回归一致# 实现一元线性回归:梯度下降法import numpy as npimport matplotlib.pyplot as plt# x轴数据x_data = np.arange(20)# y轴数据y_dat原创 2021-10-12 19:39:48 · 284 阅读 · 0 评论 -
机器学习基础学习-多元线性回归问题(梯度下降法实现)
在上一篇博客当中描述了怎样模拟出了梯度下降的过程如果是多维情况,theta其实是一个向量,那么对其求导的损失函数也是向量,梯度就是损失函数对每个方向的theta求偏导有两个参数的梯度下降法进行可视化,越外层J的取值越大,越里层J的取值越小,在图的中心位置达到损失函数的最小值改变目标函数...原创 2021-10-12 19:13:42 · 47 阅读 · 0 评论 -
机器学习基础学习-模拟实现梯度下降法
同样,记录这个的起因是源于老师的作业,所以多有不成熟的地方,大佬绕路概念说明引用其他博客的一段说明梯度下降首先来看看梯度下降的一个直观的解释。比如我们在一座大山上的某处位置,由于我们不知道怎么下山,于是决定走一步算一步,也就是在每走到一个位置的时候,求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。这样一步步的走下去,一直走到觉得我们已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的原创 2021-10-11 20:58:42 · 145 阅读 · 0 评论 -
机器学习基础学习-解析解实现简单线性回归
这里主要是因为博主作业要求,所以记录一下。关于一元线性回归问题的理论部分其实网上已经有很多解析了,这里记录一下简单的代码实现大佬绕路首先其实解析解实现一元线性回归在我的理解就是我们在取得了方差后,要满足所有数据和我们最后的曲线基本吻合,那么就是求极小值点,为了求极小值,我们求导使其等于零,这样可以取得对应的a,b的值,而我们代码实现其实主要的部分也是求a、b的值接下来上来代码# 实现一维线性回归:解析解import numpy as npimport matplotlib.pyplo原创 2021-10-11 11:29:05 · 548 阅读 · 0 评论