![](https://img-blog.csdnimg.cn/158ff591d75441318b9d0ac1ef1a2cc9.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
机器学习算法+代码
文章平均质量分 73
机器学习、深度学习中的算法运用与介绍。
LiBiGo
工学博士在读,主要从事智能制造、工业精密检测、智能化设备研发等方向研究,已发表二区Top文章一篇、国家级竞赛二等奖一项、已授权软件著作权两项、已发表中文期刊两篇,先后参与国家自然科学基金面上项目、省重点研发计划等课题。
展开
-
logistic模型原理与推导过程分析(1)
从线性分类器谈起给定一些数据集合,他们分别属于两个不同的类别。例如对于广告数据来说,是典型的二分类问题,一般将被点击的数据称为正样本,没被点击的数据称为负样本。现在我们要找到一个线性分类器,将这些数据分为两类。用X表示样本数据,Y表示样本类别(例如1与-1,或者1与0)。我们线性分类器的目的,就是找到一个超平面将两类样本分开。对于这个超平面,可以用以下式子描述:对于logistic回归,有:其中x为样本,x=[x1,x2,⋯,xn]为n维向量,函g为我们常说的lo......原创 2021-10-29 11:47:16 · 5287 阅读 · 0 评论 -
logistic模型原理与推导过程分析(2)
二项逻辑回归模型既然logistic回归把结果压缩到连续的区间(0,1),而不是离散的0或者1,然后我们可以取定一个阈值,通常以0.5为阈值,如果计算出来的概率大于0.5,则将结果归为一类(1),如果计算出来的概率小于0.5,则将结果归为另一类(0),用分段函数写出来便是这样逻辑回归就可以用来进行2分类了,假设数据结构如下其中m表示样本个数,n表示影响因数的个数,yi(i=0,1,⋯ ,m)取0或者1。现在我们结合数据,利用条件概率分布模型给出基于概率的二项logistic模型如下.原创 2021-10-29 12:04:53 · 4837 阅读 · 0 评论 -
logistic模型原理与推导过程分析(3)
附录:迭代公式向量化θ相关的迭代公式为:如果按照此公式操作的话,每计算一个θ需要循环m次。为此,我们需要将迭代公式进行向量化。首先我们将样本矩阵表示如下:将要求的θ也表示成矩阵的形式:将x·θ的乘积记为A,有:将hθ(x)−y记为E:由上面的式子可以看出,g(A)的参数是一个m*1的矩阵,或者说是一个列向量。如果我们设计函数g的时候,支持传入一个列向量,并返回一个列向量,则hθ(x)−y可以一次计算得到结果。附录2:批量梯度下降BG...原创 2021-10-29 12:11:53 · 2205 阅读 · 0 评论 -
监督学习与无监督学习
监督学习用一个例子介绍什么是监督学习把正式的定义放在后面介绍。假如说你想预测房价。前阵子,一个学生从波特兰俄勒冈州的研究所收集了一些房价的数据。你把这些数据画出来,看起来是这个样子:横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。那基于这组数据,假如你有一个朋友,他有一套750平方英尺房子,现在他希望把房子卖掉,他想知道这房子能卖多少钱。那么关于这个问题,机器学习算法将会怎么帮助你呢?我们应用学习算法,可以在这组数据中拟合一条直线,根据这条线我们可以推测出,这套房子可原创 2021-10-30 16:59:08 · 2817 阅读 · 0 评论 -
单变量与多变量线性回归(Linear Regression with One Variable)
2.1 线性回归算法模型表示让我们通过一个例子来开始:这个例子是预测住房价格的,我们要使用一个数据集,数据集包含俄勒冈州波特兰市的住房价格。在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集。比方说,如果你朋友的房子是1250平方尺大小,你要告诉他们这房子能卖多少钱。那么,你可以做的一件事就是构建一个模型,也许是条直线,从这个数据模型上来看,也许你可以告诉你的朋友,他能以大约220000(美元)左右的价格卖掉这个房子。这就是监督学习算法的一个例子。它被称作监督学习是因为对于每个数据来说,我原创 2021-10-30 21:01:23 · 5037 阅读 · 0 评论 -
单变量批量梯度下降算法与单变量随机梯度下降算法
2.3 代价函数的直观理解I让我们通过一些例子来获取一些直观的感受,看看代价函数到底是在干什么。2.4 代价函数的直观理解II代价函数的样子类似于等高线图,则可以看出在三维空间中存在一个J(θ0,θ1)使得最小的点。通过这些图形,我希望你能更好地理解这些代价函数J所表达的值是什么样的,它们对应的假设是什么样的,以及什么样的假设对应的点,更接近于代价函数的最小值。我们将介绍梯度,能够自动地找出能使代价函数最小化的参数和的值。2.5 梯度下降梯度下降是一个用来求函数最原创 2021-10-31 11:34:50 · 1720 阅读 · 0 评论 -
反向传播+代码实现
y=wx的反向传播代码实现import torchx_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]#w是Tensor(张量类型),Tensor中包含data和grad,data和grad也是Tensor。# grad初始为None,调用l.backward()方法后w.grad为Tensor,# 故更新w.data时需使用w.grad.data。# 如果w需要计算梯度,那构建的计算图中,跟w相关的tensor都默认需要计算梯度。w=...原创 2021-10-31 16:17:17 · 3215 阅读 · 0 评论 -
使用Pytorch处理多维特征的输入
下图这个预测一个人在一年之后得糖尿病的概率的例子,这个时候我们的输入将会有很多的指标。你可以把它看成是我们体检的各种值。最后一排的外代表了他是否会得糖尿病。那么多维的特征输入应该怎么办呢?我们就需要把每一个特征x付以相应的权重。在进行逻辑回归时,把每一个维度的x乘相应的权值的和加上一个偏置量,送入sigema函数进行二分类,就像这样:当然在真正编程的时候是以矩阵乘法的形式进行运算的,也就是一次能算多个样本的值,具体的推导过程大家可以看刘老师的教学视频,这里就不写了。根据数据集,我们需要构造.原创 2021-11-02 10:50:06 · 1905 阅读 · 0 评论 -
使用Pytorch完成多分类问题
多分类问题在最后的输出层采用的Softmax Layer,其具有两个特点:1.每个输出的值都是在(0,1);2.所有值加起来和为1.假设是最后线性层的输出,则对应的Softmax function为: 输出经过sigmoid运算即可是西安输出的分类概率都大于0且总和为1。上图的交叉熵损失就包含了softmax计算和右边的标签输入计算(即框起来的部分)所以在使用交叉熵损失的时候,神经网络的最后一层是不要做激活的,因为把它做成分布的激活是包含在交叉熵损失里面的,最后一...原创 2021-11-06 17:04:54 · 15359 阅读 · 1 评论 -
卷积神经网络(基础篇)
说明 0、前一部分叫做Feature Extraction,后一部分叫做classification 1、每一个卷积核它的通道数量要求和输入通道是一样的。这种卷积核的总数有多少个和你输出通道的数量是一样的。 2、卷积(convolution)后,C(Channels)变,W(width)和H(Height)可变可不变,取决于是否padding。subsampling(或pooling)后,C不变,W和H变。 3、卷积层:保留图像的空间信息。 ...原创 2021-11-06 19:34:40 · 2746 阅读 · 0 评论 -
PyTorch的nn.Linear()详解
1. nn.Linear() nn.Linear():用于设置网络中的全连接层,需要注意的是全连接层的输入与输出都是二维张量 一般形状为[batch_size, size],不同于卷积层要求输入输出是四维张量。其用法与形参说明如下: in_features指的是输入的二维张量的大小,即输入的[batch_size, size]中的size。 out_features指的是输出的二维张量的大小,即输出的二维张量的形状为[batch_size,output_size],当然原创 2021-11-06 19:34:06 · 6664 阅读 · 0 评论 -
卷积神经网络(高级篇) Inception Moudel
Inception Moudel1、卷积核超参数选择困难,自动找到卷积的最佳组合。2、1x1卷积核,不同通道的信息融合。使用1x1卷积核虽然参数量增加了,但是能够显著的降低计算量(operations)3、Inception Moudel由4个分支组成,要分清哪些是在Init里定义,哪些是在forward里调用。4个分支在dim=1(channels)上进行concatenate。24+16+24+24 = 884、GoogleNet的Inception(Pytorch实现)代码原创 2021-11-07 16:36:52 · 3064 阅读 · 0 评论