- 博客(41)
- 资源 (1)
- 收藏
- 关注
原创 【链表及其经典问题】
假设head节点距离环的起点为a,当慢指针走到环的起点时,快指针距离环的起点也为a,假设此时快指针正向距离环的起点为x,那么当快指针向前走2x步,慢指针走x步时,他们两个相遇。顺序遍历链表,将其中的节点依次存入哈希表中,如果要存入的节点已经存在于哈希表中,则说明有环,遍历结束。因为环的总长度为a+x,因此此时他们距离环的起点距离为a,与起始点到环起点的距离相同。如果链表有环,那么快慢指针一定会相遇,指向同一个节点,当向同一个节点时,遍历结束。链表中的每个节点,通过指针域的值,形成一个线性结构。...
2022-07-20 10:01:19
348
原创 【故事证明和概率公理】
首先因为2月29日出现的概率相对要低一些,因此我们排除2月29日,假设一年有365天,并且我们假设生日是每一天的概率是相同的。显然结果是出乎我们的“直觉的”
2022-07-19 20:58:28
346
原创 【模型评估】
二值分类器是最常见也是应用最广泛的分类器。它的评价指标有很多,前面有介绍,但这些指标或多或少只能反应模型在某一方面的性能。相比而言,ROC曲线则有很多优点,是二分类器最重要的指标之一。ROC曲线是ReceiverOperatingCharacteristicCurve的简称,直译为“受试者工作特征曲线”。ROC曲线的横坐标为假阳性率(FPR);FPR=FPN,TPR=TPPFPR=NFP,TPR=PTP其中PPP是真实正样本的数量di。...
2022-07-19 17:05:03
671
原创 【概率和计数】
如果我们熟悉了乘法规则,上述表格中的三种情况我们都可以轻松的填上,但对于。例如假设我们投掷2枚硬币,那么其可能的结果有{HH,HT,TH,TT}假设我们从52张扑克牌中任取5张,选出来的牌打出三代二的可能性是多少?再来看分子,我们具体看其中的一种可能(三张7,两张10)还是比较费力,我们来看一下这种情况应该如何去分析。同时这个定义有两个前提假设。(这是高中二项分布的知识)首先我们看分母的概率是。...
2022-07-19 11:39:01
285
原创 【求解AX=b】
此时每行都有主元,因此方程的个数小于等于未知数的个数,有解的条件,下面再来看一下应该如何进行求解。下面我们进行消元,由于这里。那么我们应该如何求得所有的解呢?因此我们经过回代就可以得到。不一定等于0,因此我们看。我们还是以上一节的矩阵。上面已经证明了。......
2022-07-19 10:31:14
496
原创 【求解AX=0】
由于消元所用到的初等变换均不会使方程的右侧(0)发生改变,因此我们只需要考虑方程的左侧即可。如果我们将主列放在前面,自由列放在后面,我们就可以得到一个由主列构成的单位矩阵。对应的这个矩阵有两个主列,即列1和列3,其他两列我们称为自由列(那么我们有没有办法一次性求出所有特解呢,我们假设特解矩阵为。前面有提到自由列对应的未知数可以任意取值,我们不妨取。也是该方程的解,我们称他为方程组的一组特解。同样我们可以通过取不同的自由值得到不同的解。可以看到这个矩阵的主元只有两个,因此。,我们可以按照一定的原则继续化简。.
2022-07-18 15:05:15
1490
原创 【向量空间】
先来看一下向量有哪些基本运算?a、ba+ba−b3a所谓向量空间,我们以二维实向量空间为例,我们将其记作R2[28]下面举一个反例,例如我们取R2的第一象限−1虽然Rn是一个向量空间,但我们往往更关注其子空间,那么我们能否在R2中寻找一个子空间呢?如图所示,下面我们再来看如何通过矩阵构造向量空间A=⎣⎡132341⎦⎤R3⎣⎡124⎦⎤和⎣⎡331⎦⎤C(A)P∈R。...
2022-07-18 10:24:06
825
原创 【特征工程】
俗话说,巧妇难为无米之炊。在机器学习中,,而。对于一个机器学习的问题,数据和特征往往决定了结果的上限,而模型、算法的选择则是在逐步接近这个上限。特征工程,顾名思义,就是对原始数据进行一系列工程处理,将其提炼为特征,作为输入供算法和模型使用。从本质上来讲,特征工程是一个表示和展现数据的过程。...
2022-07-16 23:17:20
472
原创 【转置与置换】
我们以3×33\times33×3的单位矩阵III来举例:I=[100010001]I=\left[ {\begin{array}{cc}1\quad 0\quad0\\ 0\quad 1\quad0\\ 0\quad0\quad1 \end{array} } \right]I=⎣⎡100010001⎦⎤其满足置换一次即能得到原矩阵的变形有:[010100001][001010100][100001010]\left[ {\begin{array}{cc}0\quad 1\quad0\\
2022-07-09 16:17:40
313
原创 【矩阵的LU分解】
首先我们假设AAA可逆,BBB也可逆,那么我们应该如何求得ABABAB的逆,我们先给出结论:(AB)−1=B−1A−1(AB)^{-1}=B^{-1}A^{-1}(AB)−1=B−1A−1下面再看转置的矩阵(虽然还没讲,但是大部分人应该知道那是什么)AA−=IAA^{-}=IAA−=I我们对这个公式的两侧同时进行转置可得:(A−1)TAT=I(A^{-1})^TA^T=I(A−1)TAT=I因此我们可以得到(AT)−1=(A−1)T(A^T)^{-1}=(A^{-1})^T(AT)−1=(A−1)T也就是
2022-07-09 00:28:24
356
原创 【乘法和逆矩阵】
首先我们来看常规的矩阵乘法现在我们再来看整列的情况同理如果我们看整行的情况我们再进一步发散思维,前面常规该方法有提到矩阵CCC中的某个元素是由矩阵AAA的行乘矩阵BBB的列所得到的,那么矩阵AAA的列乘矩阵BBB的行我们又能得到什么呢?最后我们再来看一下矩阵的分块乘法 首先我们假设有矩阵AAA,那么讨论有没有逆的大前提就是矩阵AAA是个方阵,然后再进行下一步的讨论下面我们来看奇异矩阵,举例说明:...
2022-07-07 09:58:41
367
原创 【02矩阵消元】
首先给出我们要求解的方程组:{x+2y+z=23x+8y+z=124y+z=2\left\{\begin{array}{rcl}x+2y+z&=2 \\3x+8y+z&=12 \\4y+z&=2 \end{array} \right. ⎩⎨⎧x+2y+z3x+8y+z4y+z=2=12=2那么我们可以得到其系数矩阵AAA:A=[121381041]A=\left[ {\begin{array}{cc}1\quad2\quad1\\3\quad8\
2022-07-01 01:11:47
132
原创 【01方程组的几何解释】
定义一个线性方程组如下:{2x−y=0−x+2y=3\left\{\begin{array}{rcl}2x-y=0 & \\-x+2y=3 & \end{array} \right. {2x−y=0−x+2y=3我们用矩阵形式表达可以得到:[ 2−1−1 2][xy]=[03]\left[ {\begin{array}{cc}~~2\quad-1\\ -1\quad~~~2 \end{array} } \right]\left[ {\begin
2022-06-30 22:38:22
178
原创 【文本预处理】
文本预处理的核心思想是如何将文本中转化成能够训练的样本,而且通常情况下是转化成序列数据。通常有以下几个步骤:通常英文和中文的处理会有些差别,我们分别举例讲解
2022-06-29 16:46:39
622
3
原创 【序列模型】
序列数据统计工具马尔科夫假设潜变量模型总结使用马尔科夫假设预测简单实现使用正弦函数和一些可加性噪声来生成序列数据,时间步为1,2,…,10001, 2, \ldots, 10001,2,…,1000将数据映射为数据对yt=xty_t = x_tyt=xt和xt=[xt−τ,…,xt−1]\mathbf{x}_t = [x_{t-\tau}, \ldots, x_{t-1}]xt=[xt−τ,…,xt−1]使用一个相当简单的架构训练模型:一个拥有两个全连接层的多层感知机训练模型
2022-06-28 23:12:02
205
原创 【物体检测和锚框】
目标检测算是计算机视觉中应用最为广泛的一个方向。图片分类:目标检测: 目标检测相对于图片分类来讲所做的工作更多,它需要找出所有感兴趣的物体,当图片中只有一个物体时,可以将目标检测看成是图像分类,把图像中最主要的物体当作是图片的类别,但是当图片中有多个物体的时候,目标检测不仅能将所有的物体都检测出来,还能将他们所在的位置标注出来,所以目标检测的应用场景相对来讲更多总结单张图片锚框代码 定义在这两种表示法之间进行转换的函数定义图像中狗和猫的边界框将边界框在图中画出 CoCo数
2022-06-26 18:49:34
928
原创 【数据增广与微调】
什么是数据增强如何使用数据增广进行训练常见的数据增广方法① 翻转② 切割 切割一般是在图片中切割一块出来,然后将它变成固定的形状(之所以是固定的形状,是因为卷积神经网络的输入通常是固定的,一般是224*224)通过对图像进行随机裁剪,使物体以不同的比例出现在图像的不同位置,从而降低模型对目标位置的敏感性如何进行切割(随机性原理)③ 颜色改变颜色中四个比较重要的指标 某一种数据增强的方法有用,很多时候是因为测试集中某些图片和原始图片通过这种数据增强的方式处理之后的效果类似总结标注一个数据集很贵适合
2022-06-22 22:20:33
605
原创 【批量归一化】
几乎所有的主流神经网络都会使用批量归一化,虽然这个思想早已出现,但是这个层的出现没多久。同事想要做很深的神经网络时,这更是一个不可避免的层。现存问题核心思想 之所以后面的参数会随着前面的参数不停变得原因是方差和均值在不同的层之间在不停地变化,我们可以通过固定住分布来增加数值的稳定性批量归一化层批量归一化在做什么总结...
2022-06-22 09:01:15
152
原创 【网络中的网络NiN与GoogleNet】
全连接层的问题大量的参数会带来很多问题NiN块总结 从LeNet到NiN,每个模型都有着各自的特点 但是有这么多选择,我们到底应该如何选择?4个路径从不同层面抽取信息,然后在输出通道维合并以上四种方式都没有改变输入的高和宽,因此对于Concatention操作我们只需要将其在通道数上做合并,因此输出只改变了输入的通道数为什么要用Inception块一共分为5各阶段,使用了9个Inception块最后使用了全局AvgPooling代替了全连接层Stage1&2(更小的宽口。可以支撑模型走得更深)
2022-06-21 22:56:28
638
原创 【LeNet、AlexNet、VGG】
LeNet是最早用于图像处理的神经网络,主要是为了解决手写数字识别的问题,著名的数据集Minist就是伴随着LeNet的诞生而出现的。下面是其基本架构:代码实现
2022-06-21 12:22:18
889
1
原创 【线性回归及基础优化算法】
简单问题引出线性模型 从一个房价预测的问题 引出线性回归问题,如果我们做出以下假设:一般的线性模型线性模型可以看作是单层的神经网络
2022-06-15 13:48:15
424
原创 KMean算法精讲
KMeas算法是一种聚类算法,同时也是一种无监督的算法,即在训练模型时并不需要标签,其主要目的是通过循环迭代,将样本数据分成K类。
2022-06-12 21:11:28
5388
原创 XGBoost目标函数构建个人理解
XGBoost全称 “Extreme Gradient Boosting“,被称为极端梯度提升法。它利用一连串的决策树,通过学习前一个决策树残差的方式,来不断逼近最终的预测结果,这里着重讲目标函数是如何构建的以及如何生成一棵新的树。...
2022-06-10 15:53:33
275
原创 比较三种梯度下降方式
梯度下降是我们在机器学习中进行模型更新的一种常用方式,我们模型更新的目的往往是寻找最优解(对于凸函数而言)或者次优解,而对于高维的特征而言其过程往往是曲折的。 我们可以将寻找最优解的过程类比为下山。如果下山时雾气很大,我们无法选择最短路径,但可以通过周围的环境来进行判断当前位置相对最陡峭的地方往下走,一步步达成目的。...
2022-06-01 09:14:05
1437
3
原创 逻辑回归算法理解(包含损失函数求导过程详细推导)
本文目录一、Sigmoid函数基本信息特点二、逻辑回归函数基本函数极大似然估计目标函数参数优化 逻辑回归模型是应用较为广泛的一个模型,其可以看做是在线性回归的基础上,对结果又加了SigmoidSigmoidSigmoid函数,然后通过设定的分类阈值,来解决二分类问题(即如果结果大于或小于分类阈值)。一、Sigmoid函数基本信息其函数表达式为:y(x)=11+e−xy(x)=\frac{1}{1+e^{-x}}y(x)=1+e−x1其图像如下:特点通过图像我们可以看出,Sigmoid函数
2022-05-31 17:36:10
1484
1
原创 最全面的SVM介绍(从拉格朗日对偶到SMO算法)
SVM主要用来处理二分类问题,其也可用以用来解决多分类问题与回归问题,只不过不常用。其目标是找到一个最优的分隔平面,来使得不同类别之间的距离最大化。核心思想是将问题转化成凸二次规划求解的问题。一、拉格朗日对偶变换 想要搞清楚SVM问题是如何进行转化的,首先就要搞清楚什么是拉格朗日对偶变换,我们这里简要的叙述一下。其核心思想是将求解最优问题转化成为相对容易求解的问题。原始问题假设我们研究的优化问题如下: Minimizef0(x)Minimizef_0(x)Minimizef0(x
2022-05-30 21:09:40
1011
10
原创 线性回归深度理解
线性回归模型是一种确定变量之间的相关关系的一种数学回归模型。一般用来处理如下图所示,变量之间满足一定线性关系的问题一、经典的线性回归其基本公式为Yi=β0+β1Xi1+β2Xi2+...+βpXip+εi,i=1,...,nY_i=\beta_0+\beta_1X_{i1}+\beta_2X_{i2}+...+\beta_pX_{ip}+\varepsilon_i,\quad\quad i=1,...,nYi=β0+β1Xi1+β2Xi2+...+βpXip+εi,i=1,...
2022-05-30 16:37:58
490
1
原创 线性规划简单理解(LP问题)
在数学中,线性规划(Linear Programming)特指目标函数和约束条件皆为线性的最优化问题。基本概念线性约束条件:由多个不等式形成的约束条件(在线性规划中,其约束条件一定为非严格不等式,即≤\le≤或≥\ge≥,不允许出现<<<和>>>)线性目标函数:由多个变量x形成的函数线性规划问题:在线性约束条件下,线性目标函数求极值的问题可行解:满足线性约束条件下的解可行域:由所有可行解组成的集合最优解:使目标函数取得极值的可行解标准型maxc
2022-05-27 10:34:44
4030
原创 推荐算法之SlopeOne算法
1.基本思想 SlopOne算法也属于协同过滤算法的范畴,它是一种Rating-based算法,即基于评分的协同过滤算法,利用物品间的流行度差异来预测用户对新物品的评分,一共有三种形式,下面将一一介绍。 在这里我们规定了下面将用得到的符号,以及他的含义。符号含义uuu对于一个给定用户的不完整的评分数组,称为evaluationevaluationevaluation,即用户对所有物品的评分数组,包括用户未评价的物品uiu_iui用户对物品iii的评分S(u)S
2022-05-18 23:44:37
831
1
原创 推荐算法之BaseLineOnly算法
一、基本思想BaseLineOnly算法被称为基准预测。其是建立在一定的假设上:每个用户的评分基准都是不同的,比如有的用户喜欢给高分,就算对于不喜欢的物品他也会给出6分的及格分(10分满分),而有的用户比较苛刻,对于很喜欢的物品也只给出7分,而不喜欢的物品直接给出2分。每个物品的好坏也是不同的,有些物品很受欢迎,可能大部分人都给出7分左右,而有的物品很差,每次都得到3分左右。我们的算法就利用了这种偏差,我们称这种偏差为偏置(bias)二、求解目标 我们假设整体的平均评分为μ\muμ,用户u
2022-05-17 23:28:41
252
1
原创 协同过滤算法理解
一、协同过滤思想介绍 顾名思义,协同过滤算法的核心思想就是“物以类聚,人以群分”,通过用户对物品的评价和意见,将物品和人聚成几类,从各自的类中挑选出用户可能感兴趣的的物品进行推荐,而代替从直接从海量物品中筛选,缩小目标范围,简化计算。二、协同过滤基本原理 协同过滤最关键的一步是怎么将人或者是物品进行聚类,此时我们的一般做法是获取用户-物品的共现矩阵,其中用户跟物品发生的交互有可能是显示行为(比如有具体评分等),但大部分情况下我们拿到的都是隐式行为(比如是否浏览、点击等)用户/物品i1
2022-05-17 17:15:17
2761
2
头歌计组实验存储器和运算器设计实验文件(可直接提交)
2022-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人