![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 95
予以初始
机器学习、深度学习、NLP、CV、推荐算法都略知一二的小白
展开
-
多模态情感分析模型VistaNet代码实践
目录1 介绍2 原理简述3 层的定义4 模型定义写在最后1 介绍关于模型 VistaNet 的原理,我已在之前的文章 基于多模态数据的情感分析 中进行了详细介绍。本文是其姊妹篇,主要以搭建模型的代码为主,对算法原理不清楚的小伙伴建议先熟悉一下原理。鉴于有很多小伙伴评论和私信问我有没有此模型的代码,最近两天我对 VistaNet 进行了复现,本文会结合算法的原理进行代码的讲解,代码中加入充分注释以易理解。Tips: 文本代码使用 TF2.x 实现。下面进入正题…2 原理简述上图为 VistaNe原创 2021-01-20 15:28:42 · 4496 阅读 · 14 评论 -
对于类别不平衡的数据集,应该如何处理?
目录1 问题定义2 解决方法2.1 采样2.2 SMOTE方法2.3 阈值调整2.4 模型融合1 问题定义这是典型的数据类型不平衡问题。比如对于一个二分类任务,训练集中类别为0的负样本占样本总数的90%,而正样本只占10%。那么这样的训练集有什么弊端呢?如果类别不平衡的样本直接丢给模型学习,那么很显然模型会在负样本上的学习效果更好,因为模型‘看到’的负样本更多。举个栗子,就像你如果花9天时间去学习数学,花一天时间去学习语文,不出意外你会在数学考试中表现更好。那么对于类别不平衡的训练集,该如何处理呢?原创 2020-12-13 15:10:19 · 2496 阅读 · 0 评论 -
基于多模态数据的情感分析
目录前言1 介绍2 原理3 总结前言信息的来源与形态具有多样性,每种形态的数据都称为一种模态。就像人可以通过听觉、视觉、触觉来感知语音、图像、文本等多模态信息。深度学习针对这几种模态的信息产生了几个分支:自然语言处理、计算机视觉、语音识别等,采用不同特点的模型处理不同模态的信息。多模态机器学习旨在让机器能够处理和理解多模态信息的能力,也就是同时利用文本、图像、语音等信息以及它们之间的交互,而不是只利用一种信息去做下游任务。只要能够转换成数字形式并且保留语义信息的数据,都能被机器加以利用。1 介绍本原创 2020-10-23 17:09:40 · 7446 阅读 · 2 评论 -
支持向量机——SVM细节解读
SVMSupport Vector Machine前言在深度学习变得火热之前,SVM是最受欢迎的模型,因为SVM有充分的数学原理支撑,并且可得到全局最优解 (使用梯度下降的线性模型只能得到局部最优解) ,一般用于处理二分类任务,SVM是定义在特征空间上的间隔最大的线性分类器,学习策略就是使间隔最大化。1 导读本文是博主看过大量资料之后对SVM做的总结,从初学者的角度、以易理解的方式进行全面介绍,跟着文章手动推导一遍,打通你的任督二脉。SVM涉及的知识比较多,混起来讲不易理解。本文将解耦开来进原创 2020-09-27 17:37:28 · 1288 阅读 · 3 评论 -
优化算法之梯度下降算法整理
目录1 介绍2 优化方法2.1 GD2.2 SGD2.3 mini-batch GD2.4 Momentum2.5 AdaGrad2.6 RMSProp2.7 Adam3 总结1 介绍梯度下降 (Gradient Descent) 是一种经典的求极小值的算法,它的主要目的是通过迭代,使得模型参数沿负梯度不断的更新,目标函数逐渐收敛至局部极小值。梯度下降是机器学习领域用途最广的优化算法,其分类也有多种,了解每种算法的原理是深度学习调参师的必备技能,也是面试中的高频问题,下面将根据算法的发展一一进行介绍。原创 2020-08-22 11:43:08 · 887 阅读 · 0 评论 -
《机器学习》之 朴素贝叶斯原理及代码解析
目录1 介绍2 原理2.1 贝叶斯定理2.2 朴素贝叶斯算法3 总结4 代码实践1 介绍朴素贝叶斯 (Naive Bayes) 是贝叶斯分类算法中最简单的一个,一般用于处理二分类或多分类任务。该算法围绕着一个核心进行展开:贝叶斯定理。本文会从易于理解的角度对朴素贝叶斯的原理进行介绍,然后是代码实现,以加深对算法的理解。2 原理2.1 贝叶斯定理首先看一下算法的核心,贝叶斯定理。定理由来:对于事件A与事件B, 有条件概率公式:因为 P(AB) = P(BA) , 所以:将 P(A) 除到左原创 2020-07-30 10:56:48 · 1068 阅读 · 0 评论 -
《机器学习》之 Kmeans聚类原理及代码
目录1 介绍2 原理3 代码实现1 介绍聚类算法是机器学习中经典的无监督学习算法,聚类算法有多种:Kmeans、Kmedians、Mean-shift、DBSCAN、层次聚类、EM等。本文只介绍Kmeans原理及代码,之后会陆续更新其他聚类算法的文章。2 原理Kmeans聚类原理比较简单,在一些简单的聚类任务中也能达到不错的效果。算法步骤:1 随机初始化几个聚类质心点,聚类中心的个数需自己估计;2 计算每个数据点到每个质心的距离,跟哪个聚类的质心更近,就分类到该聚类;3 计算每个聚类中样本原创 2020-07-27 10:16:24 · 534 阅读 · 0 评论 -
《机器学习》之 一文读懂神经网络的原理及实现
目录1 介绍2 原理及代码2.1 正向传播2.2 误差反传3 完整代码1 介绍本文内容主要包含神经网络(NN)的原理以及代码实现。我看了很多神经网络的实现方法,但全部都是结构固定,扩展性差。本文将实现一种可以热拔插的代码来实现神经网络,无需修改代码,只需修改参数即可搭建不同结构的神经网络。2 原理及代码看了很多文章,博主觉得讲原理时配上代码,食用更佳。2.1 正向传播正向传播很简单,不在详细介绍,正向传播的公式如下:上式是三层结构的一个前向传播公式,相信大家都能看懂,σ\sigmaσ 为激活原创 2020-07-24 11:48:32 · 426 阅读 · 1 评论 -
《机器学习》之深入浅出决策树(原理+代码)
目录1 介绍2 原理2.1 ID32.2 C4.52.3 C5.0 (CART)3 总结4 代码实现1 介绍决策树(Decision Tree)是机器学习中比较经典的算法之一,也属于有监督学习中的一员。与线性模型(逻辑回归、神经网络等)不同的是,它的学习过程不是为每个特征学习一个权重,而是根据某种决策不断的对数据集进行分裂,使得到的子数据集上的标签越来越纯净,最终得到的模型就是一个树形结构,故其名曰决策树。2 原理决策树算法的效果好,可用于分类,也可用于回归 (比如CART树) 。决策树有多种,这里原创 2020-07-22 18:33:25 · 242 阅读 · 0 评论 -
《机器学习》之 KNN近邻算法原理及代码
1 介绍KNN (K Nearest Neighbors) 是经典的机器学习算法之一,可用于分类及回归任务。跟逻辑回归一样,属于有监督学习。不同点是,KNN不是学习相应的权重,而是通过一些统计方法得到预测结果,原理简单,接下来看一下详细介绍。2 原理先看个栗子如果有一群人,身高及性别已知,让你根据身高来预测另一批人的性别。你会怎么做?KNN的做法是,选出与预测目标身高最相似的k个人,然后把这k个人中出现次数最多的性别当做预测值。原理就是一句话KNN就是当预测一个新的值x的时候,根据它距离最近的原创 2020-07-16 10:15:29 · 393 阅读 · 0 评论 -
《机器学习》之逻辑回归原理及代码
1 介绍线性回归与逻辑回归是机器学习中必须要掌握的算法,接下来我会用简洁的语言介绍一下算法的原理。然后是逻辑回归的代码实现,代码中加入了充分的注释以易理解。2 原理2.1 线性回归线性回归的损失函数如上所示,是预测值与真实值的均方误差,越小越好。(为什么用该式作为损失函数?直观理解,该式子表达的是预测值与真实值总体的差异。也可从概率的角度解释,从极大似然估计的最大化目标,推导得到最小化该目标,这里不作解释)简洁起见,下面的公式使用矩阵形式进行介绍。(X,Y表示的是整体的样本与标签,所以矩阵形式的原创 2020-07-14 11:24:38 · 503 阅读 · 0 评论 -
《机器学习》之激活函数家族
本文目录介绍常用激活函数SigmoidTanhReLU系列总结介绍激活函数是机器学习与深度学习模型必不可少的一部分,用于将输入的值,通过非线性转换映射到另一个值,这也是线性模型具有强大学习能力的关键所在。常用激活函数Sigmoidsigmoid是最常见的一个激活函数,但是是我最不常用的一个,为什么呢?因为sigmoid在激活函数家族中就像一个熊孩子,缺点很多! 听我慢慢道来…先来看一下sigmoid长得如何:性质:1 sigmoid将所有的输入z都压缩到了区间 [0, 1] 之间;2原创 2020-07-10 17:44:59 · 141 阅读 · 0 评论