线性模型-分类模型
线性模型也可用于分类问题。我们首先来看二分类。我们可以利用下面的公式预测:
y^=w[0]x[0]+w[1]x[1]+...+w[p]*x[p]+b>0
这个公式与线性回归的公式非常相似,但我们没有返回特征的加权求和,而是为预测设置了阈值(0)。如果函数值小于0,我们就预测类别-1,如果函数值大于0,我们就预测类别+1。对于所有用于分类的线性模型,这个预测规则都是通用的。同样,有很多不同的方法来找出系数(w)和截距(b)。
对于用于回归的线性模型,输出y^是特征的线性函数,是直线、平面或超平面(对于更高维的数据集)。对于用于分类的线性模型, 决策边界 是输入的线性函数。换句话说,(二元)线性分类器是利用直线、平面或超平面来分开两个类别的分类器。
学习线性模型有很多种算法。这些算法的区别在于以下两点:
1.系数和截距的特定组合对训练数据拟合好坏的度量方法;
2.是否使用正则化,以及使用哪种正则化方法。
不同的算法使用不同的方法来度量“对训练集拟合好坏”。由于数学上的技术原因,不可能调节w和b使得算法产生的误分类数量最少。对于我们的目的,以及对于许多有用而言,上面第一点(称为 损失函数 )的选择并不重要。
最常见的两种线性分类算法是 Logistic回归(logistic regression) 和 线性支持向量机(linear support vector machine,线性SVM) 。
Python version:3.7.1 (default, Dec 10 2018, 22:54:23) [MSC v.1915 64 bit (AMD64)]
pandas version:0.23.4
matplotlib version:3.0.2
Numpy version:1.15.4
Scipy version:1.1.0
IPython version:7.2.0
scikit-learn version:0.20.1
对于LogisticRegression和LinearSVC,决定正则化强度的权衡参数叫作C。C值越大,对应的正则化越弱。换句话说,如果参数C值较大,那么LogisticRegression和LinearSVC将尽可能将训练集拟合到最好,而如果C值较小,那么模型更强调使系数向量(w)接近于0。
参数C的作用还有另一个有趣之处。较小的C值可以让算法尽量适应“大多数”数据点,而较大的C值强调每个数据点都分类正确的重要性。
mglearn.plots.plot_linear_svc_regularization()
Training set score:0.953
Test set score:0.958
C=1的默认值给出了相当好的性能,在训练集和测试集上都达到95%的精度。但由于训练集和测试集的性能非常接近,所以模型很可能是欠拟合的。我们尝试增大C来拟合一个更灵活的模型:
Training set score:0.972
Test set score:0.965
使用C=100可以得到更高的训练集精度,也得到了稍高的测试集精度,这也证实了我们的直觉,即更复杂的模型应该性能更好。
Training set score:0.934
Test set score:0.930
最后,看一下正则化参数C取三个不同的值模型学到的系数:
LogisticRegression模型默认应用L2正则化。更强的正则化使的系数更趋向于0,但系数永远不会正好等于0。进一步观察图像,还可以第3个系数那里发现有趣之处,这个系数是“平均周长”(mean perimeter)。C=100和C=1时这个系数为正,其绝对值比C=1时还要大。在解释这样的模型时,系数可以告诉我们某个特征与哪个类别有关。例如,人们可能会认为高“纹理错误”(texture error)特征与“恶性”样本有关。但“平均周长”系数的正负号发生变化,说明较大的“平均周长”可以被当作“良性”的指标或“恶性”的指标,具体取决于我们考虑的是哪个模型。这也说明,对线性模型系数的解释应该始终持保留态度。
如果想要一个可解释性更强的模型,使用L1正则化可能更好,因为它约束模型只使用少数几个特征:
Training accuracy of l1 logreg with C=0.001:0.91
Test accuracy of l1 logreg with C=0.001:0.92
Training accuracy of l1 logreg with C=1.000:0.96
Test accuracy of l1 logreg with C=1.000:0.96
Training accuracy of l1 logreg with C=100.000:0.99
Test accuracy of l1 logreg with C=100.000:0.98
将二分类算法推广到多分类算法的一种常见方法是“一对多余”(one-vs.-rest)方法。在“一对多余”方法中,对每个类别都学习一个二分类模型,将这个类别与所有其他类别尽量分开,这样就生成了与类别格式一样多的二分类偶像。在测试点上运行所有二分类器来进行预测。在对应类别上分数最高的分类器“胜出”,将这个类别标签返回作为预测结果。
每个类别都对应一个二类分类器,这样每个类别都有一个系数(w)向量与一个截距(b)。
我们将“一对多余”方法应用在一个简单的三分类数据集上。我们用到了一个二维数据集,每个类别的数据都是从一个高斯分布中采样得出的:
在上面的数据集上训练一个LinearSVC分类器:
Coefficient shape: (3, 2)
Intercept shape: (3,)
我们看到,coef_的形状是(3,2),说明coef_每行包含三个类别之一的系数向量,每列包含某个特征(这个数据集有2个特征)对应的系数值。现在intercetp_是一维数组,保存每个类别的截距,我们将这3个二分类器给出的直线可视化:
你可以看到,训练集中所有属于类别0的点都在类别0对应的直线上方,这说明它们位于这个二分类器属于“类别0”的那一侧。属于类别0的点位于与类别2对应的直线上方,这说明它们被类别2的二分类器划为“其余”。属于类别0的点位于与类别1对应的直线左侧,这说明类别1的二元分类器将它们划为“其余”。因此,这一区域的所有点都会被最终分类器划为类别0(类别0的分类器的分类置信方程的结果大于0,其他两个类别对应的结果小于0)。
但图像中间的三角形区域属于哪一个类别呢,3个分类器都将这一区域内的点划为“其余”。这里的点应该应该划归到哪一个类别呢?答案是分类方程结果最大的那个类别,即最接近的那条线对应的类别。
线性模型的主要参数是正则化参数,在回归模型中叫作alpha,在LinearSVC和LogisticRegression中叫作C。alpha值较大或C值较小,说明模型比较简单。特别是对于回归模型而言,调节这些参数非常重要。通常在对数尺度上对C和alpha进行搜索。你还需要确定的是用L1正则化还是L2正则化。如果你假定只有几个特征是真正重要的,那么你应该用的是L1正则化,否则默认使用L2正则化。如果模型的可解释性很重要的话,使用L1也会有帮助。由于L1只用到几个特征,所以更容易解释哪些特征对模型时重要的,以及这些特征的作用。
线性模型的训练速度非常快,预测速度也很快。这种模型可以推广到非常大的数据集,对稀疏数据也很有效。如果你的数据包含数十万甚至上百万个样本,你可能需要研究使用LogisticRegression和Ridge模型的solver='sag'选项,在处理大型数据时,这一选项比默认值要更快。其他选项还有SGDClassifier类和SGDRegressor类,它们对线性模型实现了可扩展性更强的版本。
线性模型的另一个优点在于,利用我们之前见过的用于回归和分类的公式,理解如何进行预测是相对比较容易的。不幸的是,往往并不完全清楚系数为什么是这样的。如果你的数据集中包含高度相关的特征,这一问题尤为突出。在这种情况下,可能很难对系数做出解释。
如果特征数量大于样本数量,线性模型的表现通常都很好。它也常用于非常大的数据集,只是尤为训练其他模型并不可行。但在更低维的空间中,其他模型的泛化性能可能更好。
线性模型-分类模型
答案是分类方程结果最大的那个类别,即最接近的那条线对应的类别。 线性模型的主要参数是正则化参数,在回归模型中叫作alpha,在LinearSVC和LogisticRegression中叫作C。alpha值较大或C值较小,说明模型比较简单。特别是对于回归模型而言,调节这些参数非常重要。通常在对数尺度上对C和alpha进行搜索。你还需要确定的是用L1正...
分类:基本概念、决策树与模型评估
分类模型可用于以下目的:描述性建模、预测性建模 分类技术(或分类法)是一种根据输入数据集建立分类模型的系统方法。分类法的例子包括决策树分类法、基于规则的分类法、神经网络、支持向量机和朴素贝叶斯分类法。 首先,需要一个训练集(training set),它又类标号一致的记录组成。使用训练集建立分类模型,该模型随后运用于...
分类模型的评价指标
分类模型的评价指标是用于衡量分类算法性能的标准。在机器学习和数据科学领域,分类模型的评价指标至关重要,因为它们可以帮助我们了解模型的预测能力、稳定性和可靠性。下面将详细介绍几个常用的分类模型评价指标。准确率(Accuracy)准确率是最直观且常用的评价指标,用于衡量模型预测正确的样本占总样本的比例。
分类模型评估指标
AUC值 AUC(Area Under Curve)被定义为ROC曲线下的面积。使用AUC值作为衡量模型准确性的评价标准是因为ROC曲线很多时候不能清晰的说明哪个分类模型的效果更好,而作为一个数值,对应AUC更大的模型效果更好,AUC值越接近1模型的效果越好。从AUC值判断模型的好坏:在评价模型时还会用到KS(Kolmogorov-Smi...
数学模型的特点与分类
根据时间因素的不同,数学模型可以分为静态模型和动态模型两种。静态模型是指在某一相对固定的时间点上建立的模型,而动态模型则是针对时间流程性问题而建立的模型。静态模型更适合于简单的问题,而动态模型则更适合于需要考虑时间因素的问题。2.确定性模型和随机模型 根据变量所受影响的程度和随机性质,...
...对数几率模型、线性判别分析模型、多分类学习模型
LDA),通过最大化样本间差异和类内相似性来实现分类。LDA通过计算类内和类间散度矩阵,形成广义瑞利商求解参数,适用于处理多分类任务。多分类学习模型通过拆解为二分类问题,如OvR、OvO和MvM(包括ECOC方法)来解决,每种方法都有其优缺点,如存储和计算资源的需求,以及预测性能的差异。
线性模型的类型和特点有哪些?
一、基石之线性回归<\/ 线性回归,作为家族中的基石,它的目标是精准捕捉输入与输出的直线联系。最小二乘法的妙用,使得模型在拟合过程中追求误差最小化,确保了其在预测领域的精确性和广泛适用性,如天气预测、股市波动,甚至是商业策略的制定。特点如下:形式简洁<\/ - 线性回归的数学表达直观,易于理解...
线性模型
线性模型(Linear Model)是机器学习中应用最广泛的模型,指通过样本特征的线性组合来进行预测的模型。给定一个 维样本 ,其线性组合函数为:其中 为 维的权重向量, 为偏置。线性回归就是典型的线性模型,直接用 来预测输出目标 。在分类问题中,由于输出 是一些离散的标签, 的值域为实数...
...Pytorch-分类教程】手把手教你使用Pytorch训练自己的分类模型
针对之前用户反馈的Pytorch在GPU兼容性问题,我们特别推出针对NVIDIA RTX3060 6G显卡的Pytorch物体分类模型训练教程。本教程涵盖了物体分类的基础概念、数据集处理、模型训练与测试,以及图形化界面的构建,旨在帮助你从头开始构建自己的分类模型。教程内容包括:理解图像分类、目标检测、语义分割和实例分割的区别,...
数学建模有几种分类方法
数学模型有以下几种分类方法 1.按模型的数学方法分:几何模型、图论模型、微分方程模型、概率模型、最优控制模型、规划论模 型、马氏链模型等。2.按模型的特征分:静态模型和动态模型,确定性模型和随机模型,离散模型和连续性模型,线 性模型和非线性模型等。3.按模型的应用领域分:人口模型、交通模型...
贺荀碘佛: 三个模型都要求因变量是0,1变量,LPM线性相关模型y=a0+a1x1+…+anxn+u,容易出现y的取值大于1或是小于0的情况,所以引入Probit模型 Logit模型将y进行变化为G(y)取值范围为[0,1], Logit模型中G(y)为logistic 函数,Probit模型中G(y)为标准正态分布的累计密度函数 另, Probit模型 Logit模型使用极大似然估计,而线性相关模型用OLS估计 随机误差项的方差?这个没有什么意义吧.还是参数估计的方差?
吉林省13534768458: 数学模型有哪些 - ?
贺荀碘佛: 模型种类 用字母、数字和其他数学符号构成的等式或不等式,或用图表、图像、框图、数理逻辑等来描述系统的特征及其内部联系或与外界联系的模型.它是真实系统的一种抽象.数学模型是研究和掌握系统运动规律的有力工具,它是分析、设...
吉林省13534768458: 关于logit和logistic模型的区别 - ?
贺荀碘佛: 一、主体不同 1、logit模型:是离散选择法模型之一,Logit模型是最早的离散选择模型,也是目前应用最广的模型. 2、logistic模型:又称logistic回归分析,logistic回归的因变量可以是二分非线性差分方程类的,也可以是多分类的. 二、特点不...
吉林省13534768458: 经济数学模型的经济数学模型的种类 - ?
贺荀碘佛: 化反映经济数量关系复杂变的经济数学模型,可按不同的标准分类. (一)、按经济数量关系,一般分为三种:经济计量模型、投入产出模型、最优规划模型 1、经济计量模型反映经济结构关系,用来分析经济波动的原因和规律,是一种社会再...
吉林省13534768458: 线性模型和非线性模型的区别,以及激活函数的作用 - ?
贺荀碘佛: 线性回归模型和非线性回归模型的区别是: 线性就是每个变量的指数都是1,而非线性就是至少有一个变量的指数不是1.通过指数来进行判断即可.线性回归模型,是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量...
吉林省13534768458: 关于线性模型,下列说法错误的是 - 上学吧普法考试?
贺荀碘佛: 《广义线性模型》由四本介绍线性模型的小册子组成,它们分别是《广义线性模型导论》、《应用logistic回归分析》、《定序因变量的logistic回归模型》以及《logit与probit:次序模型和多类别模型》.《广义线性模型》集中介绍了社会学研究分析方法中的一个非常有效且重要的数据分析方法,即线性模型.作者通过阐释广义线性模型的概念、基本原则,探讨了从线性模型推广至其他模型的可能路径,并举例比较了不同模型的拟合优度,为读者全面掌握线性模型分析法提供了一个可行的指南.
吉林省13534768458: 线性混合模型和混合线性模型的区别 - ?
贺荀碘佛: 1、广义线性模型GLM很简单,举个例子,物的疗效和物的剂量有关.这个相关性可能是多种多样的,可能是简单线性关系(发烧时吃一片退烧0.1度,两片退烧0.2度,以此类推;这种情况就是一般线性模型),也可能是比较复杂的其他关系,...
吉林省13534768458: 线性模型要归一化吗 - ?
贺荀碘佛: 逻辑回归:y=sigmoid(w'x) 线性回归:y=w'x 也就是逻辑回归比线性回归多了一个sigmoid函数,sigmoid(x)=1/(1+exp(-x)),其实就是对x进行归一化操作,使得sigmoid(x)位于0~1 逻辑回归通常用于二分类模型,目标函数是二类交叉熵,y的值表示属于第1类的概率,用户可以自己设置一个分类阈值.线性回归用来拟合数据,目标函数是平法和误差