十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
随着智能时代慢慢的到来,有一些基本概念都不知道真的是要落伍了,作为正在积极学习向上的青年,我想总结一份笔记,此份笔记会记录众多AI领域的术语和概念,当然,学一部分记录一部分,并且可能会夹杂着自己的一些理解,由于能力有限,有问题希望大家多多赐教。当然,由于内容太多,仅仅只是记录了中英名对照,有的加上了简单的解释,没加的后续大家有需求,我会慢慢完善~~。目录暂定以首字母的字典序排序。可以当作目录方便以后查阅~~建议收藏加点赞哈哈哈
十年的汉台网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整汉台建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“汉台网站设计”,“汉台网站推广”以来,每个客户项目都认真落实执行。
------------------------------------------------这里是分割线--------------------------------------------------
A
准确率(accuracy)
分类模型预测准确的比例。
二分类问题中,准确率定义为:accuracy = (true positives +true negatives)/all samples
多分类问题中,准确率定义为:accuracy = correctpredictions/all samples
激活函数(activation function)
一种函数,将前一层所有神经元激活值的加权和 输入到一个非线性函数中,然后作为下一层神经元的输入,例如 ReLU 或 Sigmoid
AdaGrad
一种复杂的梯度下降算法,重新调节每个参数的梯度,高效地给每个参数一个单独的学习率。
AUC(曲线下面积)
一种考虑到所有可能的分类阈值的评估标准。ROC 曲线下面积代表分类器随机预测真正类(Ture Positives)要比假正类(False Positives)概率大的确信度。
Adversarial example(对抗样本)
Adversarial Networks(对抗网络)
Artificial General Intelligence/AGI(通用人工智能)
Attention mechanism(注意力机制)
Autoencoder(自编码器)
Automatic summarization(自动摘要)
Average gradient(平均梯度)
Average-Pooling(平均池化)
B
反向传播(Backpropagation/BP)
神经网络中完成梯度下降的重要算法。首先,在前向传播的过程中计算每个节点的输出值。然后,在反向传播的过程中计算与每个参数对应的误差的偏导数。
基线(Baseline)
被用为对比模型表现参考的简单模型。
批量(Batch)
模型训练中一个迭代(指一次梯度更新)使用的样本集。
批量大小(Batch size)
一个批量中样本的数量。例如,SGD 的批量大小为 1,而 mini-batch 的批量大小通常在 10-1000 之间。
偏置(Bias)
与原点的截距或偏移量。
二元分类器(Binary classification)
一类分类任务,输出两个互斥类别中的一个。比如垃圾邮件检测。
词袋(Bag of words/Bow)
基学习器(Base learner)
基学习算法(Base learning algorithm)
贝叶斯网络(Bayesian network)
基准(Bechmark)
信念网络(Belief network)
二项分布(Binomial distribution)
玻尔兹曼机(Boltzmann machine)
自助采样法/可重复采样/有放回采样(Bootstrap sampling)
广播(Broadcasting)
C
类别(Class)
所有同类属性的目标值作为一个标签。
分类模型(classification)
机器学习模型的一种,将数据分离为两个或多个离散类别。
收敛(convergence)
训练过程达到的某种状态,其中训练损失和验证损失在经过了确定的迭代次数后,在每一次迭代中,改变很小或完全不变。
凸函数(concex function)
一种形状大致呈字母 U 形或碗形的函数。然而,在退化情形中,凸函数的形状就像一条线。
成本(cost)
loss 的同义词。深度学习模型一般都会定义自己的loss函数。
交叉熵(cross-entropy)
多类别分类问题中对 Log 损失函数的推广。交叉熵量化两个概率分布之间的区别。
条件熵(Conditional entropy)
条件随机场(Conditional random field/CRF)
置信度(Confidence)
共轭方向(Conjugate directions)
共轭分布(Conjugate distribution)
共轭梯度(Conjugate gradient)
卷积神经网络(Convolutional neural network/CNN)
余弦相似度(Cosine similarity)
成本函数(Cost Function)
曲线拟合(Curve-fitting)
D
数据集(data set)
样本的集合
深度模型(deep model)
一种包含多个隐藏层的神经网络。深度模型依赖于其可训练的非线性性质。和宽度模型对照(widemodel)。
dropout 正则化(dropoutregularization)
训练神经网络时一种有用的正则化方法。dropout 正则化的过程是在单次梯度计算中删去一层网络中随机选取的固定数量的单元。删去的单元越多,正则化越强。
数据挖掘(Data mining)
决策树/判定树(Decisiontree)
深度神经网络(Deep neural network/DNN)
狄利克雷分布(Dirichlet distribution)
判别模型(Discriminative model)
下采样(Down sampling)
动态规划(Dynamic programming)
E
早期停止法(early stopping)
一种正则化方法,在训练损失完成下降之前停止模型训练过程。当验证数据集(validationdata set)的损失开始上升的时候,即泛化表现变差的时候,就该使用早期停止法了。
嵌入(embeddings)
一类表示为连续值特征的明确的特征。嵌入通常指将高维向量转换到低维空间中。
经验风险最小化(empirical risk minimization,ERM)
选择能使得训练数据的损失函数最小化的模型的过程。和结构风险最小化(structualrisk minimization)对照。
集成(ensemble)
多个模型预测的综合考虑。可以通过以下一种或几种方法创建一个集成方法:
设置不同的初始化;
设置不同的超参量;
设置不同的总体结构。
深度和广度模型是一种集成。
样本(example)
一个数据集的一行内容。一个样本包含了一个或多个特征,也可能是一个标签。参见标注样本(labeledexample)和无标注样本(unlabeled example)。
F
假负类(false negative,FN)
被模型错误的预测为负类的样本。例如,模型推断一封邮件为非垃圾邮件(负类),但实际上这封邮件是垃圾邮件。
假正类(false positive,FP)
被模型错误的预测为正类的样本。例如,模型推断一封邮件为垃圾邮件(正类),但实际上这封邮件是非垃圾邮件。
假正类率(false positive rate,FP rate)
ROC 曲线(ROC curve)中的 x 轴。FP 率的定义是:假正率=假正类数/(假正类数+真负类数)
特征工程(feature engineering)
在训练模型的时候,挖掘对模型效果有利的特征。
前馈神经网络(Feedforward Neural Networks/FNN )
G
泛化(generalization)
指模型利用新的没见过的数据而不是用于训练的数据作出正确的预测的能力。
广义线性模型(generalized linear model)
最小二乘回归模型的推广/泛化,基于高斯噪声,相对于其它类型的模型(基于其它类型的噪声,比如泊松噪声,或类别噪声)。广义线性模型的例子包括:
logistic 回归
多分类回归
最小二乘回归
梯度(gradient)
所有变量的偏导数的向量。在机器学习中,梯度是模型函数的偏导数向量。梯度指向最陡峭的上升路线。
梯度截断(gradient clipping)
在应用梯度之前先修饰数值,梯度截断有助于确保数值稳定性,防止梯度爆炸出现。
梯度下降(gradient descent)
通过计算模型的相关参量和损失函数的梯度最小化损失函数,值取决于训练数据。梯度下降迭代地调整参量,逐渐靠近权重和偏置的最佳组合,从而最小化损失函数。
图(graph)
在 TensorFlow 中的一种计算过程展示。图中的节点表示操作。节点的连线是有指向性的,表示传递一个操作(一个张量)的结果(作为一个操作数)给另一个操作。使用 TensorBoard 能可视化计算图。
高斯核函数(Gaussian kernel function)
高斯混合模型(Gaussian Mixture Model)
高斯过程(Gaussian Process)
泛化误差(Generalization error)
生成模型(Generative Model)
遗传算法(Genetic Algorithm/GA)
吉布斯采样(Gibbs sampling)
基尼指数(Gini index)
梯度下降(Gradient Descent)
H
启发式(heuristic)
一个问题的实际的和非最优的解,但能从学习经验中获得足够多的进步。
隐藏层(hidden layer)
神经网络中位于输入层(即特征)和输出层(即预测)之间的合成层。一个神经网络包含一个或多个隐藏层。
超参数(hyperparameter)
连续训练模型的过程中可以拧动的「旋钮」。例如,相对于模型自动更新的参数,学习率(learningrate)是一个超参数。和参量对照。
硬间隔(Hard margin)
隐马尔可夫模型(Hidden Markov Model/HMM)
层次聚类(Hierarchical clustering)
假设检验(Hypothesis test)
I
独立同分布(independently and identicallydistributed,i.i.d)
从不会改变的分布中获取的数据,且获取的每个值不依赖于之前获取的值。i.i.d. 是机器学习的理想情况——一种有用但在现实世界中几乎找不到的数学构建。
推断(inference)
在机器学习中,通常指将训练模型应用到无标注样本来进行预测的过程。在统计学中,推断指在观察到的数据的基础上拟合分布参数的过程。
输入层(input layer)
神经网络的第一层(接收输入数据)。
评分者间一致性(inter-rater agreement)
用来衡量一项任务中人类评分者意见一致的指标。如果意见不一致,则任务说明可能需要改进。有时也叫标注者间信度(inter-annotator agreement)或评分者间信度(inter-raterreliability)。
增量学习(Incremental learning)
独立成分分析(Independent Component Analysis/ICA)
独立子空间分析(Independent subspace analysis)
信息熵(Information entropy)
信息增益(Information gain)
J
JS 散度(Jensen-ShannonDivergence/JSD)
K
Kernel 支持向量机(KernelSupport Vector Machines/KSVM)
一种分类算法,旨在通过将输入数据向量映射到更高维度的空间使正类和负类之间的边际最大化。例如,考虑一个输入数据集包含一百个特征的分类问题。为了使正类和负类之间的间隔最大化,KSVM 从内部将特征映射到百万维度的空间。KSVM 使用的损失函数叫作 hinge 损失。
核方法(Kernel method)
核技巧(Kernel trick)
k 折交叉验证/k 倍交叉验证(K-fold cross validation)
K - 均值聚类(K-MeansClustering)
K近邻算法(K-Nearest NeighboursAlgorithm/KNN)
知识图谱(Knowledge graph)
知识库(Knowledge base)
知识表征(Knowledge Representation)
L
L1 损失函数(L1 loss)
损失函数基于模型对标签的预测值和真实值的差的绝对值而定义。L1 损失函数比起 L2 损失函数对异常值的敏感度更小。
L1 正则化(L1regularization)
一种正则化,按照权重绝对值总和的比例进行惩罚。在依赖稀疏特征的模型中,L1 正则化帮助促使(几乎)不相关的特征的权重趋近于 0,从而从模型中移除这些特征。
L2 损失(L2 loss)
参见平方损失。
L2 正则化(L2regularization)
一种正则化,按照权重平方的总和的比例进行惩罚。L2 正则化帮助促使异常值权重更接近 0 而不趋近于 0。(可与 L1 正则化对照阅读。)L2 正则化通常改善线性模型的泛化效果。
标签(label)
在监督式学习中,样本的「答案」或「结果」。标注数据集中的每个样本包含一或多个特征和一个标签。在垃圾邮件检测数据集中,特征可能包括主题、发出者何邮件本身,而标签可能是「垃圾邮件」或「非垃圾邮件」。
标注样本(labeled example)
包含特征和标签的样本。在监督式训练中,模型从标注样本中进行学习。
学习率(learning rate)
通过梯度下降训练模型时使用的一个标量。每次迭代中,梯度下降算法使学习率乘以梯度,乘积叫作 gradient step。学习率是一个重要的超参数。
最小二乘回归(least squares regression)
通过 L2 损失最小化进行训练的线性回归模型。
线性回归(linear regression)
对输入特征的线性连接输出连续值的一种回归模型。
logistic 回归(logisticregression)
将 sigmoid 函数应用于线性预测,在分类问题中为每个可能的离散标签值生成概率的模型。尽管 logistic 回归常用于二元分类问题,但它也用于多类别分类问题(这种情况下,logistic回归叫作「多类别 logistic 回归」或「多项式 回归」。
对数损失函数(Log Loss)
二元 logistic 回归模型中使用的损失函数。
损失(Loss)
度量模型预测与标签距离的指标,它是度量一个模型有多糟糕的指标。为了确定损失值,模型必须定义损失函数。例如,线性回归模型通常使用均方差作为损失函数,而 logistic 回归模型使用对数损失函数。
隐狄利克雷分布(Latent Dirichlet Allocation/LDA)
潜在语义分析(Latent semantic analysis)
线性判别(Linear Discriminant Analysis/LDA)
长短期记忆(Long-Short Term Memory/LSTM)
M
机器学习(machine learning)
利用输入数据构建(训练)预测模型的项目或系统。该系统使用学习的模型对与训练数据相同分布的新数据进行有用的预测。机器学习还指与这些项目或系统相关的研究领域。
均方误差(Mean Squared Error/MSE)
每个样本的平均平方损失。MSE 可以通过平方损失除以样本数量来计算。
小批量(mini-batch)
在训练或推断的一个迭代中运行的整批样本的一个小的随机选择的子集。小批量的大小通常在10 到 1000 之间。在小批量数据上计算损失比在全部训练数据上计算损失要高效的多。
机器翻译(Machine translation/MT)
马尔可夫链蒙特卡罗方法(Markov Chain Monte Carlo/MCMC)
马尔可夫随机场(Markov Random Field)
多文档摘要(Multi-document summarization)
多层感知器(Multilayer Perceptron/MLP)
多层前馈神经网络(Multi-layer feedforward neuralnetworks)
N
NaN trap
训练过程中,如果模型中的一个数字变成了 NaN,则模型中的很多或所有其他数字最终都变成 NaN。NaN 是「Not aNumber」的缩写。
神经网络(neural network)
该模型从大脑中获取灵感,由多个层组成(其中至少有一个是隐藏层),每个层包含简单的连接单元或神经元,其后是非线性。
神经元(neuron)
神经网络中的节点,通常输入多个值,生成一个输出值。神经元通过将激活函数(非线性转换)应用到输入值的加权和来计算输出值。
归一化(normalization)
将值的实际区间转化为标准区间的过程,标准区间通常是-1 到+1 或 0 到 1。例如,假设某个特征的自然区间是 800 到 6000。通过减法和分割,你可以把那些值标准化到区间-1 到+1。参见缩放。
Numpy
Python 中提供高效数组运算的开源数学库。pandas 基于 numpy 构建。
Naive bayes(朴素贝叶斯)
Naive Bayes Classifier(朴素贝叶斯分类器)
Named entity recognition(命名实体识别)
Natural language generation/NLG(自然语言生成)
Natural language processing(自然语言处理)
Norm(范数)
O
目标(objective)
算法尝试优化的目标函数。
one-hot 编码(独热编码)(one-hotencoding)
一个稀疏向量,其中:一个元素设置为 1,所有其他的元素设置为 0。。
一对多(one-vs.-all)
给出一个有 N 个可能解决方案的分类问题,一对多解决方案包括 N 个独立的二元分类器——每个可能的结果都有一个二元分类器。例如,一个模型将样本分为动物、蔬菜或矿物,则一对多的解决方案将提供以下三种独立的二元分类器:
动物和非动物
蔬菜和非蔬菜
矿物和非矿物
过拟合(overfitting)
创建的模型与训练数据非常匹配,以至于模型无法对新数据进行正确的预测
Oversampling(过采样)
P
pandas
一种基于列的数据分析 API。很多机器学习框架,包括 TensorFlow,支持 pandas 数据结构作为输入。参见 pandas 文档。
参数(parameter)
机器学习系统自行训练的模型的变量。例如,权重是参数,它的值是机器学习系统通过连续的训练迭代逐渐学习到的。注意与超参数的区别。
性能(performance)
在软件工程中的传统含义:软件运行速度有多快/高效?
在机器学习中的含义:模型的准确率如何?即,模型的预测结果有多好?
困惑度(perplexity)
对模型完成任务的程度的一种度量指标。例如,假设你的任务是阅读用户在智能手机上输入的单词的头几个字母,并提供可能的完整单词列表。该任务的困惑度(perplexity,P)是为了列出包含用户实际想输入单词的列表你需要进行的猜测数量。
流程(pipeline)
机器学习算法的基础架构。管道包括收集数据、将数据放入训练数据文件中、训练一或多个模型,以及最终输出模型。
Principal component analysis/PCA(主成分分析)
Precision(查准率/准确率)
Prior knowledge(先验知识)
Q
Quasi Newton method(拟牛顿法)
R
召回率(recall)
回归模型(regression model)
一种输出持续值(通常是浮点数)的模型。而分类模型输出的是离散值。
正则化(regularization)
对模型复杂度的惩罚。正则化帮助防止过拟合。正则化包括不同种类:
L1 正则化
L2 正则化
dropout 正则化
early stopping(这不是正式的正则化方法,但可以高效限制过拟合)
正则化率(regularization rate)
一种标量级,用 lambda 来表示,指正则函数的相对重要性。从下面这个简化的损失公式可以看出正则化率的作用:
minimize(loss function + λ(regularization function))
提高正则化率能够降低过拟合,但可能会使模型准确率降低。
表征(represention)
将数据映射到有用特征的过程。
受试者工作特征曲线(receiver operatingcharacteristic/ROC Curve)
反映在不同的分类阈值上,真正类率和假正类率的比值的曲线。参见 AUC。
Recurrent Neural Network(循环神经网络)
Recursive neural network(递归神经网络)
Reinforcement learning/RL(强化学习)
Re-sampling(重采样法)
Representation learning(表征学习)
Random Forest Algorithm(随机森林算法)
S
缩放(scaling)
特征工程中常用的操作,用于控制特征值区间,使之与数据集中其他特征的区间匹配。例如,假设你想使数据集中所有的浮点特征的区间为 0 到 1。给定一个特征区间是 0 到 500,那么你可以通过将每个值除以 500,缩放特征值区间。还可参见正则化。
scikit-learn
一种流行的开源机器学习平台。网址:。
序列模型(sequence model)
输入具有序列依赖性的模型。例如,根据之前观看过的视频序列对下一个视频进行预测。
Sigmoid 函数(sigmoid function)
softmax
为多类别分类模型中每个可能的类提供概率的函数。概率加起来的总和是 1.0。例如,softmax 可能检测到某个图像是一只狗的概率为 0.9,是一只猫的概率为 0.08,是一匹马的概率为 0.02。(也叫作 full softmax)。
结构风险最小化(structural risk minimization/SRM)
这种算法平衡两个目标:
构建预测性最强的模型(如最低损失)。
使模型尽量保持简单(如强正则化)。
比如,在训练集上的损失最小化 + 正则化的模型函数就是结构风险最小化算法。更多信息,参见 。可与经验风险最小化对照阅读。
监督式机器学习(supervised machine learning)
利用输入数据及其对应标签来训练模型。监督式机器学习类似学生通过研究问题和对应答案进行学习。在掌握问题和答案之间的映射之后,学生就可以提供同样主题的新问题的答案了。可与非监督机器学习对照阅读。
Similarity measure(相似度度量)
Singular Value Decomposition(奇异值分解)
Soft margin(软间隔)
Soft margin maximization(软间隔最大化)
Support Vector Machine/SVM(支持向量机)
T
张量(tensor)
TensorFlow 项目的主要数据结构。张量是 N 维数据结构(N 的值很大),经常是标量、向量或矩阵。张量可以包括整数、浮点或字符串值。
Transfer learning(迁移学习)
U
无标签样本(unlabeled example)
包含特征但没有标签的样本。无标签样本是推断的输入。在半监督学习和无监督学习的训练过程中,通常使用无标签样本。
无监督机器学习(unsupervised machine learning)
训练一个模型寻找数据集(通常是无标签数据集)中的模式。无监督机器学习最常用于将数据分成几组类似的样本。无监督机器学习的另一个例子是主成分分析(principal componentanalysis,PCA)
W
Word embedding(词嵌入)
Word sense disambiguation(词义消歧)
自哥本哈根气候会议之后,全球日益关注气候变化和温室效应等问题,并于会后建立了全球碳交易市场,分阶段分批次减碳。本实验获取了美国 1979 - 2011 年间 NASA 等机构对美国各地日均最高气温、降雨量等数据,研究及可视化了气候相关指标的变化规律及相互关系。
输入并执行魔法命令 %matplotlib inline, 并去除图例边框。
数据集介绍:
本数据集特征包括美国 49 个州(State),各州所在的地区(Region),统计年(Year),统计月(Month),平均光照(Avg Daily Sunlight),日均最大空气温度(Avg Daily Max Air Temperature ),日均最大热指数(Avg Daily Max Heat Index ),日均降雨量(Avg Daily Precipitation ),日均地表温度(Avg Day Land Surface Temperature)。
各特征的年度区间为:
导入数据并查看前 5 行。
筛选美国各大区域的主要气候指数,通过 sns.distplot 接口绘制指数的分布图。
从运行结果可知:
光照能量密度(Sunlight),美国全境各地区分布趋势大致相同,均存在较为明显的两个峰(强光照和弱光照)。这是因为非赤道国家受地球公转影响,四季光照强度会呈现出一定的周期变化规律;
从地理区位能看出,东北部光照低谷明显低于其他三个区域;
日均最高空气温度(Max Air Temperature),美国全境各地区表现出较大差异,东北部和中西部趋势大致相同,气温平缓期较长,且包含一个显著的尖峰;西部地区平缓期最长,全年最高温均相对稳定;南部分布则相对更为集中;
日均地表温度(Land Surface Temperature),与最高空气温度类似,不同之处在于其低温区分布更少;
最大热指数(Max Heat Index),西部与中西部分布较为一致,偏温和性温度,东北部热指数偏高,南部偏低;
降雨量(Precipitation),西部明显偏小,南部与东北部大致相同,中西部相对较多。
结合地理知识做一个总结:
东北部及大多数中西部地区,属于温带大陆性气候,四季分明,夏季闷热,降雨较多。
西部属于温带地中海气候,全年气候温和,并且干燥少雨,夏季气候温和,最高温度相对稳定。
南部沿海一带,终年气候温暖,夏季炎热,雨水充沛。
按月计算美国各地区降雨量均值及标准偏差,以均值 ± 一倍标准偏差绘制各地区降雨量误差线图。
从运行结果可知:
在大多数夏季月份,西部地区降雨量远小于其他地区;
西部地区冬季月降雨量高于夏季月;
中西部地区是较为典型的温带大陆性气候,秋冬降雨逐渐减少,春夏降雨逐渐升高;
南部地区偏向海洋性气候,全年降雨量相对平均。
需要安装joypy包。
日均最高气温变化趋势
通过 joypy 包的 joyplot 接口,可以绘制带堆积效应的直方分布曲线,将 1980 年 - 2008 年的日均最高温度按每隔 4 年的方式绘制其分布图,并标注 25%、75% 分位数。
从运行结果可知:
1980 - 2008 年区间,美国全境日均最高温度分布的低温区正逐渐升高,同时高温区正逐渐降低,分布更趋向于集中;
1980 - 2008 年区间,美国全境日均最高温度的 25% 分位数和 75% 分位数有少量偏离但并不明显。
日均降雨量变化趋势
同样的方式对降雨量数据进行处理并查看输出结果。
筛选出加州和纽约州的日均降雨量数据,通过 plt.hist 接口绘制降雨量各月的分布图。
从运行结果可知:
加州地区降雨量多集中在 0 - 1 mm 区间,很少出现大雨,相比而言,纽约州则显得雨量充沛,日均降雨量分布在 2 - 4 mm 区间。
直方图在堆积效应下会被覆盖大多数细节,同时表达聚合、离散效应的箱线图在此类问题上或许是更好的选择。
通过 sns.boxplot 接口绘制加州和纽约州全年各月降雨量分布箱线图.
从箱线图上,我们可以清晰地对比每个月两个州的降雨量分布,既可以看到集中程度,例如七月的加州降雨量集中在 0.1 - 0.5 mm 的窄区间,说明此时很少会有大雨;又可以看到离散情况,例如一月的加州,箱线图箱子(box)部分分布较宽,且上方 10 mm 左右存在一个离散点,说明此时的加州可能偶尔地会出现大到暴雨。
视觉上更为美观且简约的是摆动的误差线图,实验 「美国全境降雨量月度分布」 将所有类别标签的 x 位置均放于同一处,导致误差线高度重合。可通过调节 x 坐标位置将需要对比的序列紧凑排布。
从输出结果可以看出,加州冬季的降雨量不确定更强,每年的的十一月至次年的三月,存在降雨量大,且降雨量存在忽多忽少的现象(误差线长)。
上面的实验均在研究单变量的分布,但经常性地,我们希望知道任意两个变量的联合分布有怎样的特征。
核密度估计 , 是研究此类问题的主要方式之一, sns.kdeplot 接口通过高斯核函数计算两变量的核密度函数并以等高线的形式绘制核密度。
从运行结果可知:
加州在高温区和低降雨期存在一个较为明显的高密度分布区(高温少雨的夏季);
纽约州在高温及低温区均存在一个高密度的分布区,且在不同温区降雨量分布都较为均匀。
将美国全境的降雨量与空气温度通过 plt.hist2d 接口可视化。
从运行结果可知:
美国全境最高密度的日均高温温度区域和降雨量区间分别为,78 F (约等于 25 C)和 2.2 mm 左右,属于相对舒适的生活气候区间。
美国全境降雨量与空气温度的关系-核密度估计
在上面实验基础上,在 x, y 轴上分别通过 sns.rugplot 接口绘制核密度估计的一维分布图,可在一张绘图平面上同时获取联合分布和单变量分布的特征。
美国全境降雨量与空气温度的关系-散点分布和直方分布
sns.jointplot 接口通过栅格的形式,将单变量分布用子图的形式进行分别绘制,同时通过散点图进行双变量关系的展示,也是一种较好的展现数据分布的方式。
上面两个实验研究了双变量分布的可视化,以下研究 3 变量聚合结果的可视化。
通过 sns.heatmap 接口可实现对透视数据的可视化,其原理是对透视结果的值赋予不同的颜色块,以可视化其值的大小,并通过颜色条工具量化其值大小。
上面的两个实验可视化了各州随年份日均最高温度的中位数变化趋势,从图中并未看出有较为显著地变化。
以下通过 t 检验的方式查看统计量是否有显著性差异。stats.ttest_ind 接口可以输出 1980 年 与 2010 年主要气候指数的显著性检验统计量及 p 值。
从运行结果可以看出:
检验结果拒绝了降雨量相等的原假设,即 1980 年 与 2010 年两年间,美国降雨量是不同的,同时没有拒绝日均日照、日均最大气温两个变量相等的原假设,说明气温未发生显著性变化。
SVM 是 Support Vector Machine 的简称,它的中文名为支持向量机,属于一种有监督的机器学习算法,可用于离散因变量的分类和连续因变量的预测。通常情况下,该算法相对于其他单一的分类算法(如 Logistic 回归、决策树、朴素贝叶斯、 KNN 等)会有更好的预测准确率,主要是因为它可以将低维线性不可分的空间转换为高维的线性可分空间。
“分割带”代表了模型划分样本点的能力或可信度,“分割带”越宽,说明模型能够将样本点划分得越清晰,进而保证模型泛化能力越强,分类的可信度越高;反之,“分割带”越窄,说明模型的准确率越容易受到异常点的影响,进而理解为模型的预测能力越弱,分类的可信度越低。
线性可分的 所对应的函数间隔满足 的条件,故 就等于 。所以,可以将目标函数 等价为如下的表达式:
假设存在一个需要最小化的目标函数 ,并且该目标函数同时受到 的约束。如需得到最优化的解,则需要利用拉格朗日对偶性将原始的最优化问题转换为对偶问题,即:
分割面的求解
分割面的表达式
对于非线性SVM模型而言,需要经过两个步骤,一个是将原始空间中的样本点映射到高维的新空间中,另一个是在新空间中寻找一个用于识别各类别样本点线性“超平面”。
假设原始空间中的样本点为 ,将样本通过某种转换 映射到高维空间中,则非线性SVM模型的目标函数可以表示为:
其中,内积 可以利用核函数替换,即 。对于上式而言,同样需要计算最优的拉格朗日乘积 ,进而可以得到线性“超平面” 与 的值:
假设原始空间中的两个样本点为 ,在其扩展到高维空间后,它们的内积 如果等于样本点 在原始空间中某个函数的输出,那么该函数就称为核函数。
线性核函数的表达式为 ,故对应的分割“超平面”为:
多项式核函数的表达式为 ,故对应的分割“超平面”为:
高斯核函数的表达式为 ,故对应的分割“超平面”为:
Sigmoid 核函数的表达式为 ,故对应的分割“超平面”为:
在实际应用中, SVM 模型对核函数的选择是非常敏感的,所以需要通过先验的领域知识或者交叉验证的方法选出合理的核函数。大多数情况下,选择高斯核函数是一种相对偷懒而有效的方法,因为高斯核是一种指数函数,它的泰勒展开式可以是无穷维的,即相当于把原始样本点映射到高维空间中。
output_13_0.png
kde(kernel density estimation)是核密度估计。核的作用是根据离散采样,估计连续密度分布。
如果原始采样是《阴阳师》里的式神,那么kernel(核函数)就相当于御魂。
假设现在有一系列离散变量X = [4, 5, 5, 6, 12, 14, 15, 15, 16, 17],可见5和15的概率密度应该要高一些,但具体有多高呢?有没有三四层楼那么高,有没有华莱士高?如果要估计的是没有出现过的3呢?这就要自己判断了。
核函数就是给空间的每个离散点都套上一个连续分布。最简单的核函数是Parzen窗,类似一个方波:
这时候单个离散点就可以变成区间,空间或者高维空间下的超立方,实质上是进行了升维。
设h=4,则3的概率密度为:
(只有4对应的核函数为1,其他皆为0)
kernel是非负实值对称可积函数,表示为K,且一本满足:
这样才能保证cdf仍为1。
实际上应用最多的是高斯核函数(Gaussian Kernel),也就是标准正态分布。所谓核密度估计就是把所有离散点的核函数加起来,得到整体的概率密度分布。核密度估计在很多机器学习算法中都有应用,比如K近邻、K平均等。
在支持向量机里,也有“核”的概念,同样也是给数据升维,最常用的还是高斯核函数,也叫径向基函数(Radial Basis Funtion)。
seaborn.kdeplot内置了多种kerne,总有一款适合你。
这个和用不用python没啥关系,是数据来源的问题。 调用淘宝API,使用 api相关接口获得你想要的内容,我 记得api中有相关的接口,你可以看一下接口的说明。 用python做爬虫来进行页面数据的获龋。