【机器学习】机器学习基本概念术语
序言
记录机器学习基本概念,不做详细解释,常识积累。长期更新…
# 监督学习
- 监督学习:数据有label,主要是分类和回归两种方法
- 监督学习的任务是学习一个模型,对输入做一个好的预测
# 无监督学习
- 无监督学习:数据无label,主要是降维和聚类
- 无监督学习对数据直接进行建模,事先不知道输入数据的输出结果是什么
# 迁移学习
- 将某个领域或任务上学到的知识或模式应用到不同但相关领域的问题中
- 问题来源:监督学习要求数据同分布且完成数据标注,数据分布的差异和数据标注过期问题(主要是数据分布差异),如何更好的利用之前标注好的数据,保证新任务的模型精度,由此引入迁移学习的研究
# 分类
- 根据样本特征判断其属于有限类别中的哪一个;二分类问题,多分类问题
# 回归
- 根据样本特征预测一个连续值的结果;房价,票房,股票预测等
# 聚类
- 根据样本取出的特征让样本抱团、划分成不同的簇;新闻分类,用户群体划分等
# 过拟合
- overfitting. 对训练集性能很好,对测试集性能很差。即对训练集过拟合,泛化能力差
- 解决方法:正则化;增加训练数据集等
# 欠拟合
- underfitting. 学到的模型过于简单
- 解决方法:引入多项式;使用复杂模型等
# 权重weight
- 表示神经元之间的连接强度,权重的大小表示可能性的大小
# 偏置bias
- 偏置项,二维:直线斜截式方程y=kx++b;三维:一个决策面。偏置的设置是为了正确分类样本
# CNN
- Convolutional Neural Network,卷积神经网络
# DNN
- Deep Neural Network,深度神经网络
- 可以理解为有多个隐藏层的神经网络,至于多少隐藏层没有定论
# RNN
- Recurrent Neural Network,循环神经网络
- 是递归神经网络Recursive Neural Network的特例
- 递归神经网络:包括结构递归神经网络和时间递归神经网络,狭义上讲递归神经网络指结构递归神经网络,时间递归神经网络则称为循环神经网络
# LSTM
- Long-short Term Memory Network,长短时记忆网络
- 循环神经网络RNN演化而来
# GNN
- Graph Neural Network,图像神经网络
# GAN
- Generative Adversarial Network,生成式对抗网络
# SVM
- Support Vector Machine,支持向量机
- 优点:求得的解一定是全局最优而不是局部最优
- 缺点:只适用于二分类问题
# MLP
- Multi-Layer Perceptron,多层感知机
- 最经典的神经网络
- 典型的MLP包含三层:输入层+隐藏层+输出层
- MLP是一种全连接神经网络,上一层的任何一个神经元都与下一层的所有神经元连接。
- MLP最典型的例子就是数字识别
# epoch
- 所有训练样本都已输入到模型中,称为一个epoch
# iteration
- 一批训练样本输入到模型中,称为一个iteration
# batchsize
- batch: 逐个样本训练,误差会很大;所有样本一起训练,训练太慢
- batchsize: 一批训练采用的样本数。批大小,决定一个epoch有多少个iteration
# learning rate
- lr,学习率。最优化理论中步长的概念
# 参数
- parameters
- 模型根据数据自动学出的变量,比如权重weight、偏差bias等
# 超参
- hyperparameters
- 用来确定模型的一些参数。比如batchsize/epoch/lr、迭代次数、层数、每层神经元个数等
- 超参是可调整的参数,用于控制模型优化的过程,不同的超参影响模型训练和收敛速率
- 通常说的模型参数是指模型超参数
# 归一化
- normalization,将数据变换到某个固定范围内,通常是[0, 1],图像可能是[0, 255],其他可能是[-1, 1]
- [0, 1]归一化值 = (属性值 - min) / (max - min)
- [-1, 1]归一化值 = (属性值 - mean) / (max - min)
# 标准化
- 将数值变换为均值为0方差为1的分布,并不一定是标准正太分布,即原始数据可能不是正太分布,因为变换后分布种类没有变
- 标准化值 = (属性值 - μ) / σ
- 归一化和标准化的差异:归一化后数据在一定范围比如[0,1],标准化后数据没有固定范围,只是均值为0标准差为1
# 正则化
- 正则化regularization,指为解决适定性问题(存在唯一解)或过拟合而加入额外信息的过程
- 正则化有 L1正则化 和 L2正则化
- L1和L2正则化可以看作损失函数的惩罚项
- L1正则化:指权值矩阵w中各个元素的绝对值之和,通常表示为||w||1
- L2正则化:指权值矩阵w中各个元素的平方和再求平方根,通常表示为||w||2
- 待细化
# PCA
- PCA = primary component analysis,主成分分析法,数据降维方法
- 如 样本分布在二维,画一条线,取各个点到直线的距离,就能得到一个一维数据
# k-means
- 俗称老大法。无监督学习聚类算法
- k个分组->k个初始老大(质心)->计算集合中每个小弟到老大的距离(离哪个老大近就跟哪个老大)->每个老大聚集的一票小弟再选新老大->新老大和老老大距离小于一定阈值终止迭代
# Keras
- Keras就是一个包含各种各样深度学习模型并且方便调用的模型库
- 高级操作:通过接口构造想要的模型,不需要关心内部实现
- 低级操作:乘积、卷积等,使用后端引擎来实现:tensorFlow/Theano/CNTK
- 其他: 纯python编写 + 支持GPU和CPU + 使用Python2.7及以上版本
# pooling
- 池化就是仿照人的视觉系统进行采样,用更高层抽象来表示图像特征
- 池化可以减小空间大小,减少网络参数,防止过拟合
- 最常见的池化操作包括:最大池化 和 平均池化
- 最大池化:
前向传播:选图像区域的最大值作为该区域池化后的值
反向传播:梯度通过最大值的位置传播,其它位置梯度为0 - 平均池化:
前向传播:计算图像区域的平均值作为该区域池化后的值
后向传播:梯度取均值后分给每个位置
# 偏差和方差
- 偏差bias:瞄的准不准,期望/均值,描述的是偏离真值的程度
- 方差variance:瞄的稳不稳(围绕某个值),描述的是数据的稳定程度
- 两者共同描述数据的误差情况
# fine-tuning
- 微调,也是实现迁移学习的一种手段
- 换一个与目标更接近的数据集或者只更新一部分参数等
# SGD
- Stochastic Gradient Descent,随机梯度下降法
- 为什么没有用牛顿法:牛顿法要求Hessian矩阵,二次微分,计算量很大,带来的是update的更准确
# SGDM
- SGD with momentum,SGD加入动量机制,加入动量机制后参数更新可以保持之前的更新趋势,而不会卡在当前梯度较小的点
- SGDM没有考虑对学习率做自适应更新
# AdaGrad
- Adaptive Gradient,自适应梯度下降
- 利用迭代次数和累积梯度,对学习率进行自动衰减
- 对学习率加以调整的优化方法
- 在SGD的基础上增加了二阶动量
- Adagrad有个致命问题,就是没有考虑迭代衰减
# RMSProb
- Root Mean Square Prob
- 与AdaGrad相似,加入了迭代衰减因子(学习率除以前t-1次迭代的梯度的加权平方和)
- 与当前迭代越近的梯度,对当前影响应该越大
# ADAM
- Adaptive Momentum
- Adam是SGDM和RMSProp的结合,它基本解决了之前提到的梯度下降的一系列问题,比如随机小样本、自适应学习率、容易卡在梯度较小点等问题,2015年提出
- 对学习率加以调整的优化方法
- 把一阶动量和二阶动量全部都用起来
# Optimizer
- 优化器/算法
- 五大优化器其实分为两类,SGD、SGDM 和 Adagrad、RMSProp、Adam。使用比较多的是SGDM和Adam
- SGDM多用于计算机视觉:图像分类,图像分割,目标检测等
- Adam多用于NLP、语音合成、GAN、强化学习等
# feature scaling
- 特征缩放,更新参数更容易,更有效率
- 示意图
# Meta Learning
- 元学习。学习如何学习,学习到比人类设计更为有效的模型
# 激活函数
- 激活函数即非线性映射,引入激活函数的目的是为了增加神经网络的非线性。如果没有激活函数,每层都相当于矩阵相乘,叠加若干层后仍然只起到线性映射的作用,无法应用到非线性模型当中
- 常见的三个激活函数
- sigmoid函数:值域(0, 1)。输出0~1,符合门控的物理定义
σ ( x ) = 1 ( 1 + e x ) σ(x) = rac{1}{(1 + e^{-x})} σ(x)=(1+ex)1
- tanh函数:双曲正切函数,值域(-1, 1)。tanh函数是sigmoid函数向下平移和收缩后的结果,tanh函数在输入为0附近相比sigmoid有更大的梯度,通常使模型收敛更快
t a n h ( x ) = 2 σ ( 2 x ) 1 = ( 1 e 2 x ) ( 1 + e 2 x ) tanh(x) = 2σ(2x) - 1 = rac{(1 - e^{-2x})} {(1 + e^{-2x})} tanh(x)=2σ(2x)1=(1+e2x)(1e2x)
- ReLU函数:值域[0, +无穷),由于sigmoid和tanh存在上述的缺点,relu激活函数成为了大多数神经网络的默认选择
f ( x ) = m a x ( 0 , x ) f(x) = max(0, x) f(x)=max(0,x)
# softmax
归一化指数函数,它是二分类sigmoid函数在多分类问题上的推广
softmax首先将模型预测结果转换到指数函数上,这样保证了概率的非负性
然后将转换后的结果进行归一化处理输入为向量,输出为值为0-1之间的向量,和为1
s o f t m a x ( x ) = e x i ∑ j = 1 k e x j softmax(x) = rac {e^{x_i}} {sum_{j=1}{k}e{x_j}} softmax(x)=∑j=1kexjexi
其中k表示多个输出或类别数,x表示输出向量,xj表示输出向量中第j个输出或类别的值import numpy as npdata=np.array([0.1, 0.3, 0.6, 2.1 ,0.55]) np.exp(data)/np.sum(np.exp(data))
array([ 0.07795756, 0.09521758, 0.12853029, 0.57603278, 0.12226179])
# …
参考文章:
激活函数图像和优缺点比较
softmax/argmax/softargmax比较
created by , 2022.05.02
【机器学习】机器学习基本概念术语相关推荐
- 【机器学习】机器学习的基本概念/术语2
上一篇:机器学习的基本概念/术语1 序言 记录机器学习基本概念,不做详细解释,常识积累.长期更新- # KNN k-Nearest Neighbor K最近邻算法,每个样本都可以用它最接近的k个邻居来 ...
- 【机器学习】机器学习基本概念/术语
序言 记录机器学习基本概念,不做详细解释,常识积累.长期更新- # 监督学习 监督学习:数据有label,主要是分类和回归两种方法 监督学习的任务是学习一个模型,对输入做一个好的预测 # 无监督学习 ...
- 机器学习的基本概念和相关术语
文章目录 一.什么是机器学习 二.机器学习的相关术语 三.机器学习的典型任务 四.假设与假设空间 五.假设的选择原则 六.机器学习的三要素 推荐文章 一.什么是机器学习 人工智能标准化白皮书(2018 ...
- AI:人工智能领域之AI基础概念术语之机器学习、深度学习、数据挖掘中常见关键词、参数等5000多个单词中英文对照(绝对干货)
AI:人工智能领域之AI基础概念术语之机器学习.深度学习.数据挖掘中常见关键词.参数等5000多个单词中英文对照(绝对干货) 导读 本博主基本收集了网上所有有关于ML.DL的中文解释词汇,机 ...
- 谷歌开发者机器学习词汇表:纵览机器学习基本词汇与概念
选自Google Developers 机器之心编译 机器之心曾开放过人工智能术语集 ,该术语库项目目前收集了人工智能领域 700 多个专业术语,但仍需要与各位读者共同完善与修正.本文编译自谷歌开发者 ...
- 统计机器学习(机器学习) 概念
统计机器学习(机器学习) 概念 该文章是作者阅读相关书籍和资料后,总结和归纳的一些个人认为有必要整理和了解的知识点介绍.与大家一起分享,如有不妥之处,还望指正. 统计(机器)学习 1.统计学习概念 统 ...
- 机器学习PAL基本概念
机器学习PAL基本概念 本文介绍PAI-Studio.PAI-DSW及PAI-EAS的基本概念. PAI-Studio PAI-DSW PAI-EAS
- 三张图读懂机器学习 :基本概念、五大流派与九种常见算法
机器学习正在进步,我们似乎正在不断接近我们心中的人工智能目标.语音识别.图像检测.机器翻译.风格迁移等技术已经在我们的实际生活中开始得到了应用,但机器学习的发展仍还在继续,甚至被认为有可能彻底改变人类 ...
- 十张图解释机器学习的基本概念
在解释机器学习的基本概念的时候,我发现自己总是回到有限的几幅图中.以下是我认为最有启发性的条目列表. 1. Test and training error: 为什么低训练误差并不总是一件好的事情呢:E ...
- [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
本文转自:https://blog.csdn.net/walilk/article/details/50978864 引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记, ...
最新文章
- python 求组合数最快方法_Python-生成符合条件的大集合组合的最有效方法?
- 关于perl和shell的参数传递
- TensorFlow第六步: 继续挖坑 用tf重写BP并增加SGD
- 使⽤用 Spring Boot Actuator 监控应⽤
- 中波形过于密集_论高速公路波形护栏板外观设计的重要性
- Python 科学计算库 Numpy 准备放弃 Python 2 了
- 超分辨率技术如何发展?这6篇ECCV 18论文带你一次尽览
- 因特网人群信息的应用-通过人群性格特点投放定制广告
- linux内核虚拟内存之高端物理内存与非连续内存分配
- 谷歌被墙,如何给谷歌浏览器添加迅雷下载插件
- 急速微信开通过滤方法
- 基于微信小程序的校园第二课堂活动报名系统+后台管理系统(Springboot+mysql)-JAVA.VUE【毕业设计、论文、源码、开题报告】
- 成功解决微信跳转到手机默认浏览器下载
- ASPX一句话及一句话客户端
- 公司“内部管理混乱,工作很难开展”!
- 【CTR预估】The Wide and Deep Learning Model(译文+Tensorlfow源码解析)
- addEventlistener()方法,事件监听
- 面试官经常问的性能测试面试题有哪些?该怎么回答?
- matlab生成特定矩阵
- 计算机怎么画简单的动物,动物简笔画大全_80种动物简笔画图片教程,儿童学画动物 - 聚巧网...