数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
二、支持向量机
SVM
的通用参数:tol
:浮点数,指定终止迭代的阈值。fit_intercept
:一个布尔值,指定是否需要计算截距项。如果为False
,那么不会计算截距项。当 $ MathJax-Element-47 $ , $ MathJax-Element-48 $ 时, 可以设置
fit_intercept=False
。intercept_scaling
:一个浮点数,用于缩放截距项的正则化项的影响。当采用
fit_intercept
时,相当于人造一个特征出来,该特征恒为1
,其权重为 $ MathJax-Element-49 $ 。在计算正则化项的时候,该人造特征也被考虑了。为了降低这个人造特征的影响,需要提供
intercept_scaling
。class_weight
:一个字典或者字符串'balanced'
,指定每个类别的权重。- 如果为字典:则字典给出了每个分类的权重。如
{class_label: weight}
。 - 如果为字符串
'balanced'
:则每个分类的权重与该分类在样本集中出现的频率成反比。 - 如果未指定,则每个分类的权重都为
1
。
- 如果为字典:则字典给出了每个分类的权重。如
2.1 LinearSVC
LinearSVC
是根据liblinear
实现的,它可以用于二类分类,也可以用于多类分类问题(此时是根据one-vs-rest
原则来分类)。线性支持向量机
LinearSVC
:xxxxxxxxxx
sklearn.svm.LinearSVC(penalty='l2', loss='squared_hinge', dual=True, tol=0.0001, C=1.0, multi_class='ovr', fit_intercept=True, intercept_scaling=1, class_weight=None, verbose=0, random_state=None, max_iter=1000)penalty
:字符串,指定'l1'
或者'l2'
,罚项的范数。默认为'l2'
(它是标准SVC采用的)。loss
:一个字符串,表示损失函数。可以为:'hinge'
:此时为合页损失函数(它是标准 SVM 的损失函数)。'squared_hinge'
:合页损失函数的平方。
dual
:一个布尔值。如果为True
,则解决对偶问题;如果是False
,则解决原始问题。当n_samples > n_features
时,倾向于采用False
。tol
:一个浮点数,指定终止迭代的阈值。C
:一个浮点数,罚项系数。multi_class
:一个字符串,指定多类分类问题的策略。'ovr'
:采用one-vs-rest
分类策略。'crammer_singer'
:多类联合分类,很少用。因为它计算量大,而且精度不会更佳。此时忽略loss,penalty,dual
项。
fit_intercept
:一个布尔值,指定是否需要计算截距项。intercept_scaling
:一个浮点数,用于缩放截距项的正则化项的影响。class_weight
: 一个字典或者字符串'balanced'
,指定每个类别的权重。verbose
:一个正数。用于开启/关闭迭代中间输出日志功能。random_state
: 指定随机数种子。max_iter
: 一个整数,指定最大迭代次数。
模型属性:
coef_
:权重向量。intercept_
:截距值。
模型方法:
fit(X, y)
:训练模型。predict(X)
:用模型进行预测,返回预测值。score(X,y[,sample_weight])
:返回模型的预测性能得分。
下面的示例给出了不同的
C
值对模型预测能力的影响。C
衡量了误分类点的重要性,C
越大则误分类点越重要。为了便于观察将
x
轴以对数表示。可以看到当C
较小时,误分类点重要性较低,此时误分类点较多,分类器性能较差。
2.2 SVC
SVC
是根据libsvm
实现的,其训练的时间复杂度是采样点数量的平方。它可以用于二类分类,也可以用于多类分类问题(此时默认是根据
one-vs-rest
原则来分类)。支持向量机
SVC
:xxxxxxxxxx
sklearn.svm.SVC(C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False, max_iter=-1, decision_function_shape=None, random_state=None)C
:一个浮点数,罚项系数。kernel
:一个字符串,指定核函数。'linear'
:线性核: $ MathJax-Element-50 $ 。'poly'
:多项式核: $ MathJax-Element-51 $ 。其中:- $ MathJax-Element-52 $ 由
degree
参数决定。 - $ MathJax-Element-58 $ 由
gamma
参数决定。 - $ MathJax-Element-54 $ 由
coef0
参数决定。
- $ MathJax-Element-52 $ 由
'rbf'
(默认值):高斯核函数: $ MathJax-Element-55 $ 。其中 $ MathJax-Element-58 $ 由
gamma
参数决定。'sigmoid'
: $ MathJax-Element-57 $ 。其中:- $ MathJax-Element-58 $ 由
gamma
参数决定。 r
由coef0
参数指定。
- $ MathJax-Element-58 $ 由
'precomputed'
:表示提供了kernel matrix
。或者提供一个可调用对象,该对象用于计算
kernel matrix
。
degree
:一个整数。指定当核函数是多项式核函数时,多项式的系数。对于其他核函数,该参数无效。gamma
:一个浮点数。当核函数是'rbf'
,'poly'
,'sigmoid'
时,核函数的系数。如果'auto'
,则表示系数为1/n_features
。coef0
:浮点数,用于指定核函数中的自由项。只有当核函数是'poly'
和'sigmoid'
是有效。probability
:布尔值。如果为True
则会进行概率估计。它必须在训练之前设置好,且概率估计会拖慢训练速度。shrinking
:布尔值。如果为True
,则使用启发式(shrinking heuristic
) 。tol
:浮点数,指定终止迭代的阈值。cache_size
:浮点值,指定了kernel cache
的大小,单位为 MB 。class_weight
:指定各类别的权重。decision_function_shape
:为字符串或者None
,指定决策函数的形状。'ovr'
:则使用one-vs-rest
准则。那么决策函数形状是(n_samples,n_classes)
。此时对每个分类定义了一个二类
SVM
,一共n_classes
个二类SVM
。'ovo'
:则使用one-vs-one
准测。那么决策函数形状是(n_samples, n_classes * (n_classes - 1) / 2)
此时对每一对分类直接定义了一个二类
SVM
,一共n_classes * (n_classes - 1) / 2)
个二类SVM
。None
:默认值。采用该值时,目前会使用'ovo'
,但是在scikit v0.18
之后切换成'ovr'
。
其它参数参考
LinearSVC
。
模型属性:
support_
:一个数组, 形状为[n_SV]
,给出了支持向量的下标。support_vectors_
: 一个数组, 形状为[n_SV, n_features]
,给出了支持向量。n_support_
: 一个数组, 形状为[n_class]
,给出了每一个分类的支持向量的个数。dual_coef_
: 一个数组,形状为[n_class-1, n_SV]
。给出了对偶问题中,每个支持向量的系数。coef_
: 一个数组,形状为[n_class-1, n_features]
。给出了原始问题中,每个特征的系数。- 它只有在
linear kernel
中有效。 - 它是个只读的属性。它是从
dual_coef_
和support_vectors_
计算而来。
- 它只有在
intercept_
: 一个数组,形状为[n_class * (n_class-1) / 2]
,给出了决策函数中的常数项。
模型方法:
fit(X, y[, sample_weight])
:训练模型。predict(X)
:用模型进行预测,返回预测值。score(X,y[,sample_weight])
:返回模型的预测性能得分。predict_log_proba(X)
:返回一个数组,数组的元素依次是X
预测为各个类别的概率的对数值。predict_proba(X)
:返回一个数组,数组的元素依次是X
预测为各个类别的概率值 。
2.3 NuSVC
NuSVC: Nu-Support Vector Classificatio
与SVC
相似,但是用一个参数来控制了支持向量的个数。它是基于libsvm
来实现的。NuSVC
支持向量机:xxxxxxxxxx
sklearn.svm.NuSVC(nu=0.5, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True,probability=False, tol=0.001, cache_size=200, class_weight=None, verbose=False,max_iter=-1, decision_function_shape=None, random_state=None)nu
: 一个浮点数,取值范围为(0,1]
, 默认为0.5。它控制训练误差与支持向量的比值,间接控制了支持向量的个数。- 其它参数参考
SVC
。
模型属性:参考
SVC
。模型方法:参考
SVC
。
2.4 LinearSVR
LinearSVR
是根据liblinear
实现的。线性支持向量回归
LinearSVR
:xxxxxxxxxx
class sklearn.svm.LinearSVR(epsilon=0.0, tol=0.0001, C=1.0, loss='epsilon_insensitive', fit_intercept=True, intercept_scaling=1.0, dual=True, verbose=0, random_state=None, max_iter=1000)epsilon
:一个浮点数,表示 $ MathJax-Element-63 $ 值。loss
:字符串。表示损失函数。可以为:'epsilon_insensitive'
:此时损失函数为 $ MathJax-Element-60 $ (标准的SVR
)'squared_epsilon_insensitive'
:此时损失函数为 $ MathJax-Element-61 $
其它参数参考
LinearSVC
。
模型属性:参考
LinearSVC
。模型方法:参考
LinearSVC
。下面的示例给出了不同的 $ MathJax-Element-63 $ 值对模型预测能力的影响。
为了方便观看将
x
轴转换成对数坐标。可以看到预测准确率随着 $ MathJax-Element-63 $ 下降。下面的示例给出了不同的
C
值对模型预测能力的影响。为了方便观看将
x
轴转换成对数坐标。可以看到预测准确率随着 $ MathJax-Element-64 $ 增大而上升。说明越看重误分类点,则预测的越准确。
2.5 SVR
SVR
是根据libsvm
实现的。支持向量回归
SVR
:xxxxxxxxxx
class sklearn.svm.SVR(kernel='rbf', degree=3, gamma='auto', coef0=0.0, tol=0.001, C=1.0, epsilon=0.1, shrinking=True, cache_size=200, verbose=False, max_iter=-1)参数:参考
SVC
。模型属性:参考
SVC
。模型方法:参考
SVC
。
2.6 NuSVR
NuSVR
是根据libsvm
实现的。支持向量回归
NuSVR
:xxxxxxxxxx
class sklearn.svm.NuSVR(nu=0.5, C=1.0, kernel='rbf', degree=3, gamma='auto', coef0=0.0, shrinking=True, tol=0.001, cache_size=200, verbose=False, max_iter=-1)C
:一个浮点数,罚项系数。- 其它参数参考
NuSVC
。
模型属性:参考
NuSVC
。模型方法:参考
NuSVC
。
2.7 OneClassSVM
OneClassSVM
是根据libsvm
实现的。支持向量描述
OneClassSVM
:xxxxxxxxxx
class sklearn.svm.OneClassSVM(kernel='rbf', degree=3, gamma='auto', coef0=0.0, tol=0.001, nu=0.5, shrinking=True, cache_size=200, verbose=False, max_iter=-1, random_state=None)参数:参考
NuSVC
。模型属性:参考
NuSVC
。模型方法:
fit(X[, y, sample_weight])
:训练模型。predict(X)
:用模型进行预测,返回预测值。每个预测值要么是+1
要么是-1
。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论