- 博客(31)
- 收藏
- 关注
原创 【java基础】JVM小结
JVM类加载类的生命周期JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化 ,如下图:加载加载是类加载过程中的一个阶段, 这个阶段会在内存中生成一个代表这个类的 java.lang.Class 对象, 作为方法区这个类的各种数据的入口。注意这里不一定非得要从一个 Class 文件获取,这里既可以从 ZIP 包中读取(比如从 jar 包和 war 包中读取),也可以在运行时计算生成(动态代理),也可以由其它文件生成(比如将 JSP 文件转换成对应的 Class 类)连接
2022-03-22 16:33:49 943
原创 Redis核心知识点
Redis总体概述“两大维度”就是指系统维度和应用维度,“三大主线”也就是指高性能、高可靠和高可扩展(可以简称为“三高”)。问题画像图:基础概念Redis本质上是一个 Key-Value 类型的内存数据库,支持String、List、Set、Sorted Set、hashes。Redis 的通信协议是 Redis 序列化协议,简称 RESP。它具有如下特征:1.在 TCP 层;2.二进制安全;3.基于请求 - 响应模式。Redis 会将事务中的多个命令一次性、按顺序一次执行,在执行期间可以
2020-12-02 21:57:05 349
原创 架构笔记二:高性能架构模式
高性能架构模式一.高性能数据库集群1.1读写分离读写分离的基本原理是将数据库读写操作分散到不同的节点上,下面是其基本架构图。读写分离的基本实现是:数据库服务器搭建主从集群,一主一从、一主多从都可以。数据库主机负责读写操作,从机只负责读操作。数据库主机通过复制将数据同步到从机,每台数据库服务器都存储了所有的业务数据。业务服务器将写操作发给数据库主机,将读操作发给数据库从机。读写分离的实现逻辑并不复杂,但有两个细节点将引入设计复杂度:主从复制延迟和分配机制。解决主从复制延迟有几种常见的
2020-10-22 19:07:23 594 1
原创 架构笔记一:基础架构
一.架构的基础定义1.1 宏观定义架构定义:软件架构指软件系统的顶层结构。架构是顶层设计;框架是面向编程或配置的半成品;组件是从技术维度上的复用;模块是从业务维度上职责的划分;系统是相互协同可运行的实体。不存在"银弹"软件设计过程中,模块、对象、组件本质上是对一定规模软件在不同粒度和层次上的“拆分”方法论,软件架构是一种对软件的“组织”方法论。一分一合,其目的是为了软件研发过程中的成本、进度、质量得到有效控制。但是,一个成功的软件设计是要适应并满足业务需求,同时不断“演化”的。设计需要根据业务的变
2020-10-21 09:43:30 785
原创 概率图模型(一):综述
概率图模型本文参考:b站白板推导:https://www.bilibili.com/video/av70839977大佬的笔记:https://github.com/tsyw/MachineLearningNotes《PRML》《PROBABILISTIC GRAPHICAL MODELS PRINCIPLES AND TECHNIQUES》概率图模型使用图的方式表示概率分布。为了在图中添加各种概率,首先总结一下随机变量分布的一些规则:Sum Rule:p(x1)=∫p(x1,x2)
2020-05-22 11:22:20 785
原创 JAVA基础之数据库
数据库数据库基础事务的概念和特性?会出现哪些并发一致性问题?数据库的四种隔离级别?什么是乐观锁和悲观锁?常见的封锁类型?什么是三级封锁协议?什么是两段锁协议?什么是 MVCC?数据库的范式?列举几种表连接方式?什么是存储过程?有哪些优缺点?Drop/Delete/Truncate的区别?什么是视图?什么是游标?MySQLSQL执行步骤数据库索引的实现原理...
2020-04-24 15:44:35 273
原创 Task08: 文本分类;数据增强;模型微调
说实话,课程里这一节分的乱七八糟的,凑合着先写上吧。1.文本情感分类文本分类是自然语言处理的一个常见任务,它把一段不定长的文本序列变换为文本的类别。本节关注它的一个子问题:使用文本情感分类来分析文本作者的情绪。这个问题也叫情感分析,并有着广泛的应用。同搜索近义词和类比词一样,文本分类也属于词嵌入的下游应用。可以应用预训练的词向量和含多个隐藏层的双向循环神经网络与卷积神经网络,来判断一段不定长...
2020-02-25 15:42:01 296
原创 Task07:优化算法进阶;word2vec;词嵌入进阶
1.优化算法进阶针对随机梯度下降优化的种种问题,研究者提出了各种算法来解决。1.1 Momentum目标函数有关自变量的梯度代表了目标函数在自变量当前位置下降最快的方向。因此,梯度下降也叫作最陡下降(steepest descent)。在每次迭代中,梯度下降根据自变量当前位置,沿着当前位置的梯度更新自变量。然而,如果自变量的迭代方向仅仅取决于自变量当前位置,这可能会带来一些问题。对于nois...
2020-02-25 15:28:44 169
原创 Task06:批量归一化和残差网络/凸优化/梯度下降
1.批量归一化和残差网络批量归一化背景: 随机梯度下降(SGD)是简单而有效的,但是对超参数(例如学习率)调节以及网络权值初始化的要求比较高。网络训练变得复杂,因为每个层的输入都受到所有前层参数的影响,因此随着网络越来越深,网络参数的微小变化会放大。网络层输入分布的改变,使得网络每个层要不断去适应新的输入分布。学习系统的输入分布发生变化就会产生Convariate Shift。批标准化(Bac...
2020-02-25 08:52:33 363
原创 Task05:卷积神经网络基础;leNet;卷积神经网络进阶
5 卷积神经网络(CNN) 卷积神经网络是一种用来处理局部和整体相关性的计算网络结构,被应用在图像识别、自然语言处理甚至是语音识别领域,因为图像数据具有显著的局部与整体关系,其在图像识别领域的应用获得了巨大的成功。5.1 卷积神经网络的组成层 以图像分类任务为例,在表5.1所示卷积神经网络中,一般包含5种类型的网络层次结构: ...
2020-02-19 20:17:09 1807
原创 Task04:机器翻译及相关技术/注意力机制与Seq2seq模型/Transformer
1.机器翻译机器翻译(MT)是将一个句子 x 从一种语言( 源语言 )转换为另一种语言( 目标语言 )的句子 y 的任务。机器翻译的大致流程就是根据输入的文本,神经网络开始学习和记忆,这个就是所谓的Encoder编码过程;然后根据自己的记忆,把文本一一翻译出来,这个就是所谓的Decoder解码过程。机器翻译的基本流程如下:文本处理,这里我是以eng_fra的文本为例,每行是engli...
2020-02-18 15:29:44 423
原创 Task03:过拟合、欠拟合及其解决方案/梯度消失、梯度爆炸/循环神经网络进阶
1 过拟合、欠拟合及其解决方案训练误差和泛化误差在解释上述现象之前,我们需要区分训练误差(training error)和泛化误差(generalization error)。通俗来讲,前者指模型在训练数据集上表现出的误差,后者指模型在任意一个测试数据样本上表现出的误差的期望,并常常通过测试数据集上的误差来近似。计算训练误差和泛化误差可以使用之前介绍过的损失函数,例如线性回归用到的平方损失函数...
2020-02-17 14:14:47 1092
原创 Task02:文本预处理/语言模型/循环神经网络基础
1.文本预处理文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤:1.读入文本2.分词3.建立字典,将每个词映射到一个唯一的索引(index)4.将文本从词的序列转换为索引的序列,方便输入模型细节搬运自:https://blog.csdn.net/lt326030434/article/details/85240591...
2020-02-14 16:18:18 341
原创 Task01:线性回归/softmax与分类模型/多层感知机
Task01:线性回归/softmax与分类模型/多层感知机1. 线性回归线性回归是最基础的一类回归模型。线性回归问题就是试图学到一个线性模型y=wTx+by = w^Tx+by=wTx+b尽可能准确地预测新样本的输出值。也就是说,我们希望学习到一个 f(.) 的关系,使得 f(x) 的值尽可能地逼近真实的y值。那么确定 w 和 b 的值就是我们最终学习的目标。而这二者值的确定,关键在于衡量...
2020-02-13 22:21:10 487
原创 机器学习笔记[十四]:强化学习
强化学习不同于有监督学习。监督学习是目前机器学习领域中研究最多的一种学习方式,它从教练提供的有标记的训练集中学习。每一个例子由一个情景和系统应采取的正确行动(标签给出)组成,它通常能标识该情况所属类别。这种学习的目的是让系统推断或概括它应有的反馈机制,使它可以对未知样本作出正确回应。这是一种重要的学习方式,但它还不足以从交互中学习。在交互问题中,找到期待的既正确又典型的例子通常都是不切实际的。在一...
2019-08-22 23:09:33 319
原创 机器学习笔记[十三]:规则学习
13.规则学习13.1基本概念机器学习中的规则(rule)通常是指语义明确、能描述数据分布所隐含的客观规律或领域概念、可写成若…则…形式的逻辑规则。规则学习(rulelearning)是从训练数据中学习出一组能用于对未见示例进行判别的规则。显然,规则集合中的每天规则都可看作一个子模型,规则集合是这些子模型的一个集成。当同一个示例被判别结果不同的多条规则覆盖时,称发生了冲突(conflict...
2019-08-22 22:43:38 1112
原创 机器学习笔记[十二]:概率图模型
本篇将讨论一种基于图的学习算法–概率图模型。有两个我觉得特别好的视频资源,都在B站上有。一个是悉尼大学徐亦达教授的EM算法讲解,讲的真的十分基础透彻。还有一个是白板推导系列的相关课程,UP主感觉也是位大神。12、概率图模型现在再来谈谈机器学习的核心价值观,可以更通俗地理解为:根据一些已观察到的证据来推断未知,更具哲学性地可以阐述为:未来的发展总是遵循着历史的规律。其中基于概率的模型将学习任务...
2019-08-08 22:18:37 449 1
原创 机器学习笔记[十一]:半监督学习
本篇将讨论一种介于监督与非监督学习之间的学习算法–半监督学习。半监督学习前面我们一直围绕的都是监督学习与无监督学习,监督学习指的是训练样本包含标记信息的学习任务,例如:常见的分类与回归算法;无监督学习则是训练样本不包含标记信息的学习任务,例如:聚类算法。在实际生活中,常常会出现一部分样本有标记和较多样本无标记的情形,例如:做网页推荐时需要让用户标记出感兴趣的网页,但是少有用户愿意花时间来提供标...
2019-08-01 22:16:57 248
原创 机器学习笔记[十]:计算学习原理
上篇主要介绍了常用的特征选择方法及稀疏学习。首先从相关/无关特征出发引出了特征选择的基本概念,接着分别介绍了子集搜索与评价、过滤式、包裹式以及嵌入式四种类型的特征选择方法。子集搜索与评价使用的是一种优中生优的贪婪算法,即每次从候选特征子集中选出最优子集;过滤式方法计算一个相关统计量来评判特征的重要程度;包裹式方法将学习器作为特征选择的评价准则;嵌入式方法则是通过L1正则项将特征选择融入到学习器参数...
2019-07-25 22:20:37 200
原创 机器学习笔记[九]:特征学习
在机器学习中特征选择是一个重要的“数据预处理”(data preprocessing)过程,即试图从数据集的所有特征中挑选出与当前学习任务相关的特征子集,接着再利用数据子集来训练学习器;稀疏学习则是围绕着稀疏矩阵的优良性质,来完成相应的学习任务。1.1 子集搜索与评价一般地,我们可以用很多属性/特征来描述一个示例,例如对于一个人可以用性别、身高、体重、年龄、学历、专业、是否吃货等属性来描述,那...
2019-07-18 21:06:13 493
原创 机器学习笔记[八]:降维
1.综述在许多领域的研究与应用中,通常需要对含有多个变量的数据进行观测,收集大量数据后进行分析寻找规律。多变量大数据集无疑会为研究和应用提供丰富的信息,但是也在一定程度上增加了数据采集的工作量。更重要的是在很多情形下,许多变量之间可能存在相关性,从而增加了问题分析的复杂性。如果分别对每个指标进行分析,分析往往是孤立的,不能完全利用数据中的信息,因此盲目减少指标会损失很多有用的信息,从而产生错误的...
2019-07-11 19:14:04 660
原创 机器学习笔记[七]:聚类
本篇将讨论无监督学习中应用最为广泛的学习算法–聚类。#1、聚类算法聚类是一种经典的无监督学习方法,无监督学习的目标是通过对无标记训练样本的学习,发掘和揭示数据集本身潜在的结构与规律,即不依赖于训练数据集的类标记信息。聚类则是试图将数据集的样本划分为若干个互不相交的类簇,从而每个簇对应一个潜在的类别。聚类直观上来说是将相似的样本聚在一起,从而形成一个类簇(cluster)。那首先的问题是如何来...
2019-07-04 16:40:13 428
原创 机器学习笔记[六]:集成学习
集成学习(ensemble learning)可以说是现在非常火爆的机器学习方法了。它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成,特征选取集成,异常点检测集成等等,可以说所有的机器学习领域都可以看到集成学习的身影。在kaggle竞赛中经常被用到的XGBoost、Light GBM和CatB...
2019-07-02 16:29:10 530
原创 机器学习笔记[零]:模型性能度量与优化
本篇主要是对第二章剩余知识的理解,包括:性能度量、比较检验和偏差与方差。在上一篇中,我们解决了评估学习器泛化性能的方法,即用测试集的“测试误差”作为“泛化误差”的近似,当我们划分好训练/测试集后,那如何计算“测试误差”呢?这就是性能度量,例如:均方差,错误率等,即“测试误差”的一个评价标准。有了评估方法和性能度量,就可以计算出学习器的“测试误差”,但由于“测试误差”受到很多因素的影响,例如:算法随...
2019-06-20 16:55:32 258
原创 机器学习笔记[五]:贝叶斯分类器
贝叶斯分类器其实就是基于贝叶斯决策理论的分类器。贝叶斯决策是在某个先验分布下,使得平均风险最小的决策。1、贝叶斯分类器贝叶斯分类器是一种概率框架下的统计学习分类器,对分类任务而言,假设在相关概率都已知的情况下,贝叶斯分类器考虑如何基于这些概率为样本判定最优的类标。1.1 贝叶斯决策论若将上述定义中样本空间的划分Bi看做为类标,A看做为一个新的样本,则很容易将条件概率理解为样本A是类别Bi的...
2019-06-20 11:01:38 306
原创 机器学习笔记[四]:神经网络
本篇将讨论现阶段十分热门的另一个经典监督学习算法–神经网络(neural network)。神经网络模型更像是一个黑箱模型,投入输入进去,然后得到目标的输出。1、神经网络在机器学习中,神经网络一般指的是“神经网络学习”,是机器学习与神经网络两个学科的交叉部分。所谓神经网络,目前用得最广泛的一个定义是“神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世...
2019-06-06 13:42:11 673
原创 机器学习笔记[三]:支持向量机(SVM)
支持向量机是一种二类分类模型。基本模型是定义在特征空间上的间隔最大的线性分类器。支持向量机还包括核技巧, 这使它称为实质上的非线性分类器。支持向量机学习策略是间隔最大化,可形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题。支持向量机的学习算法是求解凸二次规划的最优化算法。支持向量机包括:线性可分支持向量机,线性支持向量机,非线性支持向量机。输入空间:欧式空间或离散集...
2019-06-04 19:16:19 340
原创 机器学习笔记[二]:决策树
决策树是一种基本的回归和分类的方法。决策树学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型;预测时,对于新的数据,利用决策树模型进行分类。决策树的学习通常包括三个步骤:特征选择,决策树的生成和决策树的修剪。决策树的生成对应于模型的局部最优,决策树的剪枝对应于模型的全局最优。决策树的类型一般包括ID3、C4.5、CART算法。...
2019-05-25 10:22:35 235
原创 机器学习笔记[一]:线性模型
线性模型形式比较简单,但是却是很多非线性模型的基础形式。深度神经网络的模型其实也是由若干层基础的感知机构成。线性模型的整个思维导图如下图。1. 线性模型的基本形式给定目标数据(x,y),x为n维输入向量,y为输出值(一般为一维)。线性模型试图构造一个针对输入的线性组合的函数,来预测其对应输出值。一般向量形式如下:w和b分别为模型中的权值和偏置量,通过学习后确定,从而确定线性模型的结构...
2019-05-14 21:48:20 733
原创 多线程编程学习(1)对象及变量的并发访问
进程:计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。线程:在进程中独立运行的子任务。在java中以下3种方法可以终止正在运行的线程:1) 使用退出标志,使线程正常退出,也就是当run方法完成后线程终止;[ 抛出异常,return都可以]2) 使用stop方法强行终止线程,与suspend/resume(有独占,不同步的问题)...
2018-11-08 19:10:15 112
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人