主要内容

Máquinas矢量导引para la clasificación二进制

compprender las máquinas矢量导引

拿督可分

Puede utizar una máquina向量向量(SVM)分类分类。唯一支持向量机分类系统,数据分类系统,主要数据分类系统,飞机分类系统,数据分类系统。El hiperplano para una SVM significant El más grande entre las dos classes。药对Margen锚的意义的变化máximo在数据的内部,在损失的边缘,在数据的基础上。

太阳神más太阳神separación;Estos puntos están en el límite de la losa。载体La figura siguiente ilustra estasdefiniciones, con + indicando puntos de datos de tipo 1 y, indicando puntos de datos de tipo -1。

Formulación matemática:原始。Esta discusión sigue a Hastie, Tibshirani, y Friedman y Christianini y shaw - taylor。[1][2]

矢量(矢量)XjJunto con SUS categoríasy yj.Para alguna dimensión, eldxjRd, y elyj=±1.La ecuación de un hiperplano es

f< / mi > x< / mi > x< / mi > β< / mi > + b< / mi > 0< /锰>< / mrow >数学> < /

在哪里βRdY es UN número real。b

El siguiente problem定义El hiperplano de separación (es decir, El límite de decisión)。药对巴士,最小的,最小的,|,|,最小的,最小的,最小的,最小的,最小的,最小的,最小的,最小的,最小的,最小的,最小的,最小的,最小的,最小的βbβXjy yj),

y< / mi >< mi >j< / mi > f< / mi >< mrow > x< / mi >< mi >j< / mi > 1.< /锰>< / mrow >数学> < /

Los向量de soporte son LosXjEn el límite, aquellos para los que y< / mi >< mi >j< / mi > f< / mi >< mrow > x< / mi >< mi >j< / mi > 1.< /锰>< / mrow >数学> < /

Para mayor comodidad matemática,这个问题的suele dar como el problem等价于最小 β< / mi > .Este es un problem de programación cuadrática。La solución óptima β< / mi > b< / mi > Permite la clasificación de UN vector de la siguiente manera:z

z< / mi > 标志 z< / mi > β< / mi > + b< / mi > 标志 f< / mi > z< / mi >

f< / mi > z< / mi > 远方的代表está desde el límite de decisión。Puntuación de clasificaciónz

Formulación matemática:双。Es computacionalmente más简单解析el问题programación cuadrática对偶。Para obtener el doble, tome multiplicadores Lagrange positiveΑjMultiplicado por cada restricción, y restar de la función

l< / mi >< mi >P< / mi > 1< /锰>< mn >2< /锰> β< / mi > β< / mi > j< / mi > α< / mi >< mi >j< / mi > y< / mi >< mi >j< / mi > x< / mi >< mi >j< / mi > β< / mi > + b< / mi >< / mrow > 1< /锰>< / mrow >

Donde se busca UN punto estacionario delP尤娜。βb梯度调整lPa0, se obtiene

β< / mi > j< / mi > α< / mi >< mi >j< / mi > y< / mi >< mi >j< / mi > x< / mi >< mi >j< / mi > 0< /锰> j< / mi > α< / mi >< mi >j< / mi > y< / mi >< mi >j< / mi > (1)

Sustituir一lP, se obtiene el doblelD

l< / mi >< mi >D< / mi > j< / mi > α< / mi >< mi >j< / mi > 1< /锰>< mn >2< /锰> j< / mi > k< / mi > α< / mi >< mi >j< / mi > α< / mi >< mi >k< / mi > y< / mi >< mi >j< / mi > y< / mi >< mi >k< / mi > x< / mi >< mi >j< / mi > x< / mi >< mi >k< / mi >

Que maximizas清醒αj≥0.一般来说,是muchosΑj儿子0 como máximo。El distinto ceroΑj恩拉solución这是一个确定的问题,可以理解,可以理解,可以理解Ecuacion 1βΑjy yjXj.Los puntos de datosXj通讯员a distinto de ceroΑjSon el archiivo。载体

导数lD关于联合国对cero的看法ΑjEs 0 en UN óptimo。当你哒

y< / mi >< mi >j< / mi > f< / mi >< mrow > x< / mi >< mi >j< / mi > 1< /锰> 0.< /锰>< / mrow >数学> < /

特别地,为了国家的英勇solución,为了我们的胜利bjΑj

双问题programación cuadrática estándar。我的问题得到了解决,我的问题得到了解决。优化工具箱™quadprog(优化工具箱)

数据是不可分离的

有可能没有不允许的数据separación。我在这里,我在这里,我在这里,我在这里,我在这里,我在这里,我在这里,我在这里。margen温和的

Hay dos公式estándar de márgenes blandos。Ambos implican la adición de变量holgantesΞjY UN parámetro de penalización。C

  • 埃尔l1-el problem de la Norma es:

    最小值< / mi >< / mrow >< mrow >< mi >β< / mi > b< / mi > ξ< / mi >< / mrow > 1< /锰>< mn >2< /锰> β< / mi > β< / mi > + C< / mi > j< / mi > ξ< / mi >< mi >j< / mi >

    tal,

    y< / mi >< mi >j< / mi > f< / mi >< mrow > x< / mi >< mi >j< / mi > 1< /锰> ξ< / mi >< mi >j< / mi > ξ< / mi >< mi >j< / mi > 0.< /锰>

    埃尔l1-正常,不受影响ΞjComo变量holgantes en lugar de SUS cuadrados。这是一个非常小的问题SMOISDAL1QPfitcsvml1-正常问题。

  • 埃尔l2-el problem de la Norma es:

    最小值< / mi >< / mrow >< mrow >< mi >β< / mi > b< / mi > ξ< / mi >< / mrow > 1< /锰>< mn >2< /锰> β< / mi > β< / mi > + C< / mi > j< / mi > ξ< / mi >< mi >j< / mi >< mn >2< /锰>

    这是节日的限制。

    我们的公式,我们的公式más我们的变量CΞj, lo que significa que la optimización intenta建立者una separación más estricta entre las classes。等价,还原hacia 0 hace que la clasificación errónea海洋的重要性。C

    Formulación matemática:双。Para cálculos más fáciles, considere lal1Doble问题a esta formulación de margen斯文。拉格朗日乘法法Μj, la función a minimizar paral1-el problem de la Norma es:

    l< / mi >< mi >P< / mi > 1< /锰>< mn >2< /锰> β< / mi > β< / mi > + C< / mi > j< / mi > ξ< / mi >< mi >j< / mi > j< / mi > α< / mi >< mi >j< / mi > y< / mi >< mi >我< / mi > f< / mi >< mrow > x< / mi >< mi >j< / mi > 1< /锰> ξ< / mi >< mi >j< / mi > j< / mi > μ< / mi >< mi >j< / mi > ξ< / mi >< mi >j< / mi >

    Donde se busca UN punto estacionario delPMás de, y正βbΞj.梯度调整lPa0, se obtiene

    β< / mi > j< / mi > α< / mi >< mi >j< / mi > y< / mi >< mi >j< / mi > x< / mi >< mi >j< / mi > j< / mi > α< / mi >< mi >j< / mi > y< / mi >< mi >j< / mi > 0< /锰> α< / mi >< mi >j< / mi > C< / mi > μ< / mi >< mi >j< / mi > α< / mi >< mi >j< / mi > μ< / mi >< mi >j< / mi > ξ< / mi >< mi >j< / mi > 0.< /锰>

    厄瓜多尔直接传导formulación双:

    马克斯< / mi >< / mrow >< mi >α< / mi > j< / mi > α< / mi >< mi >j< / mi > 1< /锰>< mn >2< /锰> j< / mi > k< / mi > α< / mi >< mi >j< / mi > α< / mi >< mi >k< / mi > y< / mi >< mi >j< / mi > y< / mi >< mi >k< / mi > x< / mi >< mi >j< / mi > x< / mi >< mi >k< / mi >

    Sujeto a las restrictions

    j< / mi > y< / mi >< mi >j< / mi > α< / mi >< mi >j< / mi > 0< /锰> 0< /锰> α< / mi >< mi >j< / mi > C< / mi >

    El conjunto final de desigualdades,0≤αjC, muestra por qué a vces se美洲驼联合国档案。拉格朗日CRestricción de cajaCΑjEn una“caja”,una región delimitada。

    La ecuación de gradiente para da La solución en términos del conjunto debbΑj, que corresponden a los vector de soporte。

    Puede escribir y resolver el doble de lal2-问题de Norma de una manera análoga。Para más details, véase Christianini y Shawe-Taylor, Capítulo[2]

    ImplementacionfitcsvmAmbos问题,de margen blando双子问题,programación cuadráticos。国际,不同算法对解决问题的不同方法。fitcsvm

    • Para la clasificación de clase o binaria, si no establece una fracción de valores atípicos esperados en los datos (consulte), el solucionador predeterminado Optimización mínima secuencial (SMO)。OutlierFractionSMO最小的问题,中间的问题,最小的问题,中间的问题,最小的问题。Durante la optimización, SMO respeta la restricción直系 我< / mi > α< / mi >< mi >我< / mi > y< / mi >< mi >我< / mi > 0< /锰> E包括explícitamente el término de sesgo en el modelo。SMO es relativamente rápido。Para obtener más información清醒的SMO,咨询。[3]

    • Para la clasificación二进制计算,si建立una fracción de los valores atípicos数据计算,预先确定算法迭代的数据计算únicos。ISDA重新解决了正常问题。一个不同的SMO, ISDA最小的一个中间的一个类别最小的一个punto,没有尊重restricción线性的y没有包括ye explícitamente el término de sesgo en el modelo。Para obtener más información sobre ISDA, consulte。[4]

    • Para la clasificación二进制分类,y si tiene una licence, puede optar por usar对解决正常问题。利用回忆的一部分,恢复计划cuadráticos con UN alto grado de precisión。优化工具箱quadprog(优化工具箱)quadprogPara obtener más información, consulte。Definición de programación cuadrática(优化工具箱)

    Transformación没有线性骗局núcleos

    阿尔古诺斯问题clasificación二进制无tienen un hiperplano简单como判据separación útil。Para esos problem, hay una variante del enfoque matemático que conserva casi toda la simplicidad de un hiperplano de separación SVM。

    Este enfoque utilization estos resultados de la teoría de la reproducción de kernel:

    • 海una clase de funciones (Gx1x2)祝你好运。在直线上的空间asignación这是一个有趣的地方年代φx年代

      Gx1x2) = < (φx1),φx2) >。

      El producto punto tiene lugar en El espacio。年代

    • Esta分类法包括:

      • Polinomios: Para algún entero positive,p

        Gx1x2) (1 +x1x2p

      • Función基径向(高斯):

        Gx1x2) á exp(——?x1- - - - - -x2))2).

      • Perceptrón multicapa o sigmoide(红色神经元):Para un número positivop1Y UN número negativep2

        Gx1x2) - tanh(p1x1x2+p2).

        背板

        • 没有todos los conjuntos dep1Yp2生产联合国núcleo de reproducción válido。

        • 没有soporta el núcleo sigmoide。fitcsvm在这里,有一个明确的核心,有一个特殊的中间论点,有一个英勇的标准。“KernelFunction”Para obtener más información, consulte。使用自定义核训练SVM分类器

    El enfoque matemático中间内核se basa en El método计算的hiperplanos。Todos los cálculos para la clasificación de hiperplanos no utilzan más que productos de puntos。在没有线性分类的情况下,有一个简单的方法cálculos idénticos有一个算法solución,没有线性分类的方法。结果分类algún可以查,可以查,不能查身份和考试。年代年代

    Uso de máquinas矢量导引

    Al igual que con cualquier modelo de aprendizaje, primero se entra una máquina vector de soporte técnico y, a continuación, se valida el分类器。利用la máquina对分类(前身)的新数据。Además, para obtener una precisión预测满意,支持向量机,y debe ajustar los parámetros de las funciones del núcleo。

    Capacitación de unclassiificador de SVM

    恩特雷,阿舒林,缬氨酸,未分类SVM中位数。fitcsvmLa sintaxis más común es:

    SVMModel = fitcsvm(X,Y,'KernelFunction','rbf',…“标准化”,的确,“类名”,{‘negClass’,‘posClass});

    Las entradas son:

    • -数据预测矩阵,数据文件observación,数据列预测器。X

    • -文明礼仪的等级和行为的英勇和行为的等级。Puede ser矩阵categórica, de carácter o de cadena, UN向量lógico o numérico, o de celdas矢量矩阵de caracteres。YXY

    • -英勇的预先决定,在不同的类别中,有不同的数据。KernelFunction“线性”英勇(o)英勇预先决定的英勇,para, aprendizaje, a, clase, especificificar, El, kernel, gaussiano (o, función, de, base径向)。“高斯”“rbf”Un paso important para entrar con éxito Un classiificador SVM es elegir una función de kernel adecuada。

    • -索引软件标准化预测与中心分类。标准化

    • :区分否定和肯定的分类,特别是qué分类包括按规定的分类。一会否定的第一级元素(第一级元素),,和肯定的第二级元素(第一级元素),,。这是我的错,这是我的资料。“negClass”“posClass”一会Y特别推荐,特别推荐está不同分类的比较。

    El modelo entrenado resultante () continene los parámetros optimizados del algorithm itmo SVM, lo que le permite classification nuevos datos。SVMModel

    Para obtener más在这片土地上的英勇之心,在这片土地上的控制,领事página参考。fitcsvm

    Clasificación新数据与分类支持向量机

    分类新数据应用预测.在未分类的新数据中间有分类向量机的问题SVMModel

    [label,score] = predict(SVMModel,newX);

    El结果向量,,代表la clasificación de caada fila en。Es una matrix -by-2 de puntuaciones blandas。EtiquetaX分数n斐拉之声对应着斐拉之声,新生之声observación。X连续的连续连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的连续的

    对概率估计的后路在lugar de las puntuaciones,初始pase el分类SVM entrenado () aSVMModelfitPosterior, que se ajusta a una función de transformación de puntuación后面的概率a las puntuaciones。La sintaxis es:

    ScoreSVMModel = fitPosterior(SVMModel,X,Y);

    国家机密保护función de transformación óptima。ScoreTransformScoreSVMModelPase a。ScoreSVMModel预测在过渡的时间,在连续的时间内的概率observación在否定的时间内的分类(第一栏)和肯定的分类(第二栏)。分数分数分数

    调整未分类支持向量机

    运用英勇的论点parámetro que minimicen la pérdida de validación cruzada。“OptimizeHyperparameters”fitcsvmLos parámetros elegibles son,,,, y。“BoxConstraint”“KernelFunction”“KernelScale”“PolynomialOrder”“标准化”Para obtener un ejemplo, consulte。优化未调整分类SVM中位数optimización bayesiana另一种方式,puede utilzar la función,和我们一起吃饭。bayesopt利用bayesopt优化交叉验证的SVM分类器La función permite una mayor flexibilidad para personizar La optimización。bayesoptPuede utilzar la función para optimizar cualquier parámetro, incluidos los parámetros que no son aptos para optimizar cualquier se utilza la función。bayesoptfitcsvm

    También puede intar ajustar los parámetros de su classification ador manual de acerdo coneste esquema:

    1. 我的资料已经建立了,我的论点已经英勇了。fitcsvm“KernelScale”、“汽车”Supongamos que el modelo SVM entrenado se llama。SVMModelEl软件应用程序heurístico para seleccionar la escala del kernel。El procedimiento heurístico utilitza submuestreo。希望有机会,对生育的结果,建立一个número半成品según我们的分类者。rng

    2. 法定分类权pasándolo acrossval.De forma predeterminada, el software lleva a cabo una validación cruzada De 10 ves。

    3. 支持向量机模型验证方法kfoldLoss参数估计守恒误差clasificación。

    4. 支持向量机的分类方法是,在正确的论点中,在正确的论点中,在正确的论点中。“KernelScale”“BoxConstraint”

      • - Una eststrategia consistent en probar Una secuencia geométrica del parámetro de restricción de caja。BoxConstraint我的价值是11倍,我的价值是10倍。1 e-51 e5我爱你número我爱你también我爱你,我爱你。BoxConstraint

      • - Una eststrategia es probar Una secuencia geométrica del parámetro RBF sigma escalada en la escala原始del núcleo。KernelScaleHaga esto por:

        1. ar la escala原del núcleo, por ejemplo,中端notación de puntos:。ksks = SVMModel.KernelParameters.Scale

        2. Utilícelo como nuevos因素de escala del núcleo del原始。我爱你,我爱你,我爱你,我爱你。ks1 e-51 e5

    Elija el modelo que生产el error de clasificación más bajo。可能的请求aún más los parámetros可能的请求precisión。我们的世界parámetros我们的世界validación我们的世界充满活力1.2。

    使用高斯核训练SVM分类器

    在这个世界上有一个地方cómo一般分类没有线性分类función核心高斯。在这里,在世界范围内的统一和在世界范围内的统一和在世界范围内的统一和在世界范围内的统一和在世界范围内的统一和在世界范围内的统一和在世界范围内的统一和在世界范围内的统一。A continuación,属A unclassiificador basado en los datos con el kernel de función de base radial gaussiana。线性分类预先确定问题的解决方法,循环模型simétrico。建立联系parámetro de restricción de cuadro para que formme una clasificación eststricta,没有什么意义,没有什么意义。有可能的有功能的内核没有功能的restricción有能力的,有能力的podrían有能力的clasificación有能力的。我们的分类是,我们的分类是,我们的分类是。

    这是一个统一的世界。Para ello, generere un radio como la raíz cuadrada de una variable aleatoria uniform, generere un ángulo uniformemente en (0,rt

    <数学显示= "块" >
    < mrow >
    < mn >2< /锰>
    < mi >π< / mi >
    < / mrow >
    数学> < /
    ), y ponga el punto en (cos(), sin())。r t r t

    rng (1);r =根号下(rand(100,1));%半径t = 2* π *rand(100,1);%角data1 = [r.*cos(t), r.*sin(t)];%点

    100分,分布,统一,和,anillo。按比例的新无线电raíz瓜拉达,按比例的新无线电raíz瓜拉达distribución统一1 a 4。

    R2 =√(3*rand(100,1)+1);%半径t2 = 2*pi*rand(100,1);%角data2 = [r2.*cos(t2), r2.*sin(t2)];%点

    Trazar los puntos y Trazar círculos de收音机1 y 2 para la comparación。

    图;情节(data1 (: 1) data1 (:, 2),“r”。“MarkerSize”, 15)情节(data2(: 1)、data2 (:, 2), b。,“MarkerSize”,15)ezpolar (@ (x) 1); ezpolar (@ (x) 2);轴平等的持有

    我的数据在母体中,我的数据在向量中。

    Data3 = [data1;data2];class = ones(200,1);class(1:100) = -1;

    Entrene unclassiclassiador SVM con establecido en y establecido en。KernelFunction“rbf”BoxConstraintTrazar el límite de decisión y marcar los vector de soporte。

    训练支持向量机分类器cl = fitcsvm(data3, class,'KernelFunction','rbf',…“BoxConstraint”,正无穷,“类名”,[1]);%网格预测得分d = 0.02;[x1Grid, x2Grid] = meshgrid (min (data3 (: 1)): d:马克斯(data3(: 1)),…分钟(data3 (:, 2)): d:马克斯(data3 (:, 2)));xGrid = [x1Grid(:),x2Grid(:)];[~,scores] = predict(cl,xGrid);绘制数据和决策边界图;h (1:2) = gscatter (data3 (: 1), data3 (:, 2), theclass, rb, '。');按住ezpolar(@(x)1); h(3) = plot(data3(cl.IsSupportVector,1),data3(cl.IsSupportVector,2),'ko'); contour(x1Grid,x2Grid,reshape(scores(:,2),size(x1Grid)),[0 0],'k'); legend(h,{'-1','+1','Support Vectors'}); axis equal hold off

    联合国属分类está cerca de UN círculo de radio 1。fitcsvm这是一种不同的方式。

    因缘缘parámetros因缘缘límite de clasificación因缘缘,因缘缘erróneamente因缘缘。Además, el valor predeterminado de es, y, por lo tanto, hay más向量de soporte。BoxConstraint1

    Cl2 = fitcsvm(data3, class,“KernelFunction”“rbf”);[~,scores2] = predict(cl2,xGrid);图;H (1:2) = gscatter(data3(:,1),data3(:,2),类,rb的“。”);持有ezpolar (@ (x) 1);h(3) = plot(data3(cl2.Is金宝appSupportVector,1),data3(cl2.IsSupportVector,2),“柯”);轮廓(x1Grid x2Grid,重塑(scores2(:, 2),大小(x1Grid)), [0 0),“k”);传奇(h, {' 1 '“+ 1”“金宝app支持向量”});轴平等的持有

    使用自定义核训练SVM分类器

    eneste ejemplo se muestra cómo utizar una función de kernel personalizada, como el kernel sigmoid, para entrar classiclassiadores SVM y ajustar los parámetros de función del kernel personalizados。

    我们的自由联盟círculo我们的统一。礼仪的第一步,第一步,第一步,第一步,第一步,第一步,第一步,第一步,第一步,第一步,第一步。

    rng (1);n = 100;%每象限的点数r1 =根号(rand(2*n,1));%随机半径t1 = [pi/2*rand(n,1);(π/ 2 *兰德(n - 1) +π)];% Q1和Q3的随机角度X1 = [r1.*cos(t1) r1.*sin(t1)];%极坐标到笛卡尔坐标的转换r2 =√(rand(2*n,1));T2 = [pi/2*rand(n,1)+pi/2;(π/ 2 *兰德(n, 1) -π/ 2)];% Q2和Q4的随机角度X2 = [r2.*cos(t2) r2.*sin(t2)];X = [x1; X2]; % Predictors Y = ones(4*n,1); Y(2*n + 1:end) = -1; % Labels

    Trazar los datos。

    图;gscatter (X (: 1) X (:, 2), Y);标题(“模拟数据散点图”

    Escriba una función que accepte dos矩阵在空间中计算,计算和转换在矩阵中计算,使用,el, s,核。

    函数G = mysigmoid(U,V)%斜率和截距c = 1的Sigmoid核函数;C = -1;G = tanh(gamma*U*V' + c);结束

    Guarde este código como un archivo denominado en la ruta de acceso matlab®matlab。mysigmoid

    Entrene a unclassiador SVM utilzando la función de内核sigmoid。去你的práctica标准的数据。

    Mdl1 = fitcsvm(X,Y,“KernelFunction”“mysigmoid”“标准化”,真正的);

    联合国连续性分类parámetros估计。Mdl1ClassificationSVM

    Trazar los datos e identity los vector de sororte y el límite de decisión。

    计算网格上的分数d = 0.02;%网格步长[x1Grid,x2Grid] = meshgrid(min(X(:,1)):d:max(X(:,1)),…min (X (:, 2)): d:马克斯(X (:, 2)));xGrid = [x1Grid(:),x2Grid(:)];% The grid [~,scores1] = predict(Mdl1,xGrid);%分数数字;h(1:2) = gscatter(X(:,1),X(:,2),Y);hold on h(3) = plot(X(Mdl1.Is金宝appSupportVector,1),…2) X (Mdl金宝app1.IsSupportVector,‘ko’,‘MarkerSize’,10);%支金宝app持向量轮廓(x1Grid,x2Grid,重塑(scores1(:,2),大小(x1Grid)),[0 0],'k'); % Decision boundary title('Scatter Diagram with the Decision Boundary') legend({'-1','1','Support Vectors'},'Location','Best'); hold off

    Puede ajustar los parámetros del kernel en un intento de mejorar la forma del límite de decisión。Esto también puede disminuir la tasa de clasificación不正确的dentro de la muestra, pero, primero, debe determinar la tasa de clasificación errónea fuera de la muestra。

    确定la tasa de clasificación errónea fuera de muestra mediante la validación cruzada de 10 ves。

    CVMdl1 = crossval(Mdl1);misclass1 = kfoldLoss(CVMdl1);misclass1
    Misclass1 = 0.1375

    La tasa de clasificación errónea fuera de La muestra es del 13,5%。

    描述otra función sigmoid, pero集合。Gamma = 0.5;

    函数G = mysigmoid2(U,V)%斜率和截距c = 0.5的Sigmoid核函数;C = -1;G = tanh(gamma*U*V' + c);结束

    Guarde este código como un archivo denominado en la ruta de acceso matlab®matlab。mysigmoid2

    利用核乙状形校正方法对支持向量机进行分类。Trazar los datos y la región de decisión y determinar la tasa de clasificación errónea fuera de muestra。

    Mdl2 = fitcsvm(X,Y,“KernelFunction”“mysigmoid2”“标准化”,真正的);[~,scores2] = predict(Mdl2,xGrid);图;h(1:2) = gscatter(X(:,1),X(:,2),Y);持有h (3)情节(X (Mdl2.IsS金宝appupportVector, 1),...2) X (Mdl金宝app2.IsSupportVector,‘ko’,‘MarkerSize’,10);title('散点图与决策边界')等高线(x1Grid,x2Grid,重塑(scores2(:,2),大小(x1Grid)),[0 0],'k');传奇({' 1 ',' 1 ',“支金宝app持向量”},“位置”,“最好”);hold off CVMdl2 = crossval(Mdl2);misclass2 = kfoldLoss(CVMdl2);misclass2
    Misclass2 = 0.0450

    Después西门德省的调整,新省的调整límite de decisión与西门德省的调整比例相等,与西门德省的调整比例相等validación cruzada en más del 66%。

    优化未调整分类SVM中位数optimización bayesiana

    在需要的地方cómo optimizar una clasificación支持向量机中值función y nombre英勇。fitcsvmOptimizeHyperparametersLa clasificación法语,法语,法语,法语,法语,法语,法语。En, Hastie, Tibshirani, y Friedman (2009), la página 17描述了el modelo。统计学习的要素El modelo comienza con la generación de 10 puntos base para una clase "verde", distribuidas como normales separate 2D con media (1,0) y varianza de unidad。También属10蓬托斯基础para una clase“roja”,分布共同正常独立二维con介质(0,1)y变异单一。Para cada clase (verde y rojo), generere 100 puntos aleatorios de la siguente manera:

    1. 以利亚un punto的基础颜色,adecuado统一的黑热病。

    2. 一般的非自由的独立的con distribución正常的2- d con media y varianza I/5, donde I I is la matriz de identidad 2 por 2。En este ejemplo, utilice una varianza I/50 para mostrar la ventaja de la optimización con mayor claridad。

    将军将军

    Genere los 10 puntos base para cada clase。

    rng默认的%重复性grnpop = mvnrnd([1,0],eye(2),10);Redpop = mvnrnd([0,1],eye(2),10);

    Ver los puntos base。

    情节(grnpop (: 1) grnpop (:, 2),“去”)举行情节(redpop (: 1) redpop(:, 2),“罗”)持有

    Dado que algunos puntos base rojos están cerca de puntos base verdes, puede ser difícil分类los puntos de datos solo en función de la ubicación。

    100个数据的总和。

    Redpts = 0 (100,2);i = 1:10 0 grnpts(我:)= mvnrnd (grnpop(兰迪(10):)、眼睛(2)* 0.02);redpts(我)= mvnrnd (redpop(兰迪(10):)、眼睛(2)* 0.02);结束

    Ver los puntos de datos。

    数字情节(grnpts (: 1) grnpts(:, 2),“走”)持有情节(redpts (: 1) redpts(:, 2),“罗”)持有

    准备资料,详见clasificación

    我的颜色在母体中,我的颜色在母体中,我的颜色在母体中,我的颜色在母体中,我的颜色在母体中。grp

    Cdata = [grnpts;redpts];GRP = ones(200,1);%绿标1,红标-1 grp(101:200) = -1;

    准备la validación cruzada

    配置una partición para la validación cruzada。我们在一起optimización我们在一起。

    C = cvpartition(200,“KFold”10);

    优化调整

    Para encontrar un buen ajuste, es decir, uno con una pérdida de validación cruzada baja, establezca opciones Para usar la optimización bayesiana。利用misma partición de validación cruzada en todas las optimizaciones。c

    Para reproducibilidad, utilice la función de adquisición。“expected-improvement-plus”

    Opts = struct(“优化”“bayesopt”“ShowPlots”,真的,“CVPartition”c...“AcquisitionFunctionName”、“expected-improvement-plus”);svmmod = fitcsvm(cdata,grp,'KernelFunction','rbf',…‘OptimizeHyperparameters’,‘汽车’,‘HyperparameterOptimizationOptions’,选择)
    |=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | BoxConstraint | KernelScale | | |结果| |运行时| | (estim(观察) .) | | | |=====================================================================================================| | 最好1 | | 0.345 | 0.34739 | 0.345 | 0.345 | 0.00474 | 306.44 |
    | 2 |最佳| 0.115 | 0.30642 | 0.115 | 0.12678 | 430.31 | 1.4864 |
    | 3 |接受| 0.52 | 0.44395 | 0.115 | 0.1152 | 0.028415 | 0.014369 |
    | 4 |接受| 0.61 | 0.21798 | 0.115 | 0.11504 | 133.94 | 0.0031427 |
    | 5 |接受| 0.34 | 0.3229 | 0.115 | 0.11504 | 0.010993 | 5.7742 |
    | 6 |最佳| 0.085 | 0.19964 | 0.085 | 0.085039 | 885.63 | 0.68403 |
    | 7 |接受| 0.105 | 0.24149 | 0.085 | 0.085428 | 0.3057 | 0.58118 |
    | 8 |接受| 0.21 | 0.40475 | 0.085 | 0.09566 | 0.16044 | 0.91824 |
    | 9 |接受| 0.085 | 0.26232 | 0.085 | 0.08725 | 972.19 | 0.46259 |
    | 10 |接受| 0.1 | 0.2218 | 0.085 | 0.090952 | 990.29 | 0.491 |
    | 11 |最佳| 0.08 | 0.20486 | 0.08 | 0.079362 | 2.5195 | 0.291 |
    | 12 |接受| 0.09 | 0.16831 | 0.08 | 0.08402 | 14.338 | 0.44386 |
    | 13 |接受| 0.1 | 0.35192 | 0.08 | 0.08508 | 0.0022577 | 0.23803 |
    | 14 |接受| 0.11 | 0.18252 | 0.08 | 0.087378 | 0.2115 | 0.32109 |
    | 15 | Best | 0.07 | 0.37931 | 0.07 | 0.081507 | 910.2 | 0.25218 |
    | 16 |最佳| 0.065 | 0.21272 | 0.065 | 0.072457 | 953.22 | 0.26253 |
    | 17 |接受| 0.075 | 0.34893 | 0.065 | 0.072554 | 998.74 | 0.23087 |
    | 18 |接受| 0.295 | 0.24279 | 0.065 | 0.072647 | 996.18 | 44.626 |
    | 19 |接受| 0.07 | 0.25015 | 0.065 | 0.06946 | 985.37 | 0.27389 |
    | 20 |接受| 0.165 | 0.23183 | 0.065 | 0.071622 | 0.065103 | 0.13679 |
    |=====================================================================================================| | Iter | Eval客观客观| | | BestSoFar | BestSoFar | BoxConstraint | KernelScale | | |结果| |运行时| | (estim(观察) .) | | | |=====================================================================================================| | 21日|接受| 0.345 | 0.23514 | 0.065 | 0.071764 | 971.7 | 999.01 |
    | 22 |接受| 0.61 | 0.31666 | 0.065 | 0.071967 | 0.0010168 | 0.0010005 |
    | 23 |接受| 0.345 | 0.2052 | 0.065 | 0.071959 | 0.0010674 | 999.18 |
    | 24 |接受| 0.35 | 0.19984 | 0.065 | 0.071863 | 0.0010003 | 40.628 |
    | 25 |接受| 0.24 | 0.39655 | 0.065 | 0.072124 | 996.55 | 10.423 |
    | 26 |接受| 0.61 | 0.20282 | 0.065 | 0.072068 | 958.64 | 0.0010026 |
    | 27 |接受| 0.47 | 0.34322 | 0.065 | 0.07218 | 993.69 | 0.029723 |
    | 28 |接受| 0.3 | 0.40935 | 0.065 | 0.072291 | 993.15 | 170.01 |
    | 29 |接受| 0.16 | 0.84263 | 0.065 | 0.072104 | 992.81 | 3.8594 |
    | 30 |接受| 0.365 | 0.24255 | 0.065 | 0.072112 | 0.0010017 | 0.044287 |

    __________________________________________________________ 优化完成。最大目标达到30个。总函数计算:30总运行时间:80.2722秒。总目标函数评估时间:8.9359最佳观测可行点:BoxConstraint KernelScale _____________ ___________ 953.22 0.26253观测目标函数值= 0.065估计目标函数值= 0.072112函数评估时间= 0.21272最佳估计可行点(根据模型):BoxConstraint KernelScale _____________ ___________ 985.37 0.27389估计目标函数值= 0.072112估计函数评估时间= 0.27901
    svmmod = ClassificationSVM ResponseName: 'Y' CategoricalPredictors: [] ClassNames: [-1 1] ScoreTransform: 'none' NumObservations: 200 HyperparameterOptimizationResults: [1x1 bayesioptimization] Alpha: [77x1 double] Bias: -0.2352 KernelParameters: [1x1 struct] BoxConstraints: [200x1 double] ConvergenceInfo: [1x1 struct] IsSu金宝apppportVector: [200x1 logical] Solver: 'SMO' Properties, Methods

    entre la pérdida modelo optimizado。

    lossnew = kfoldLoss(fitcsvm(cdata,grp,“CVPartition”c“KernelFunction”“rbf”...BoxConstraint, svmmod.HyperparameterOptimizationResults.XAtMinObjective.BoxConstraint,……KernelScale, svmmod.HyperparameterOptimizationResults.XAtMinObjective.KernelScale))
    Lossnew = 0.0650

    Esta pérdida es la misma que la pérdida通知en la salida de optimización en "Valor de función客观观察"。

    视觉分类优化。

    D = 0.02;[x1Grid, x2Grid] = meshgrid (min (cdata (: 1)): d:马克斯(cdata (: 1)),...分钟(cdata (:, 2)): d:马克斯(cdata (:, 2)));xGrid = [x1Grid(:),x2Grid(:)];[~,scores] = predict(svmmod,xGrid);图;H = nan(3,1);%预先配置h (1:2) = gscatter (cdata (: 1), cdata (:, 2), grp, rg, ' + *”);hold on h(3) = plot(cdata(svmmod.Is金宝appSupportVector,1),…cdata (svmmod.I金宝appsSupportVector, 2),“柯”);轮廓(x1Grid x2Grid,重塑(分数(:,2),大小(x1Grid)),[0 0],“k”);传奇(h,{' 1 ',“+ 1”,“支持金宝app向量”},“位置”,“东南”); axis equal hold off

    Trazar后验概率对模型区域clasificación SVM

    Este ejemplo muestra cómo模型后概率SVM a través de una cuadrícula de observaciones y, a continuación, trazar las probabilades posteriores清醒la cuadrícula。La gráfica de概率后指数los límites de decisión。

    费雪的鸢尾花。我们的经度和安丘拉斯的分类pétalos, y消除las物种处女,de los datos。

    负载fisheririsclassKeep~ strcmp(物种,virginica);X = meas(classKeep,3:4);y = species(classKeep);

    Entrene unclassiclassiador SVM应用程序的数据。《特殊分类指南》。

    SVMModel = fitcsvm(X,y,“类名”, {“setosa”“多色的”});

    算拉función de transformación de puntuación óptima。

    rng (1);%用于再现性[SVMModel,ScoreParameters] = fitPosterior(SVMModel);
    警告:类是完全分离的。最优分数-后验变换是一个阶跃函数。
    ScoreParameters
    ScoreParameters =带字段的结构:Type: 'step' LowerBound: -0.8431 UpperBound: 0.6897 PositiveClassProbability: 0.5000

    La función de transformación de puntuación óptima es La función de paso porque las clases son可分离物。Los campos和de indican Los puntos del extremo,低的和高的,de puntuaciones,对应的,a las observacones dentro de Los hiperplanos, de separación, de clases (el margen)。下界UpperBoundScoreParameters宁古纳observación德恩尼安托está丹特罗德尔马根。新事物puntuación está在时间间隔内,在软件方面observación对应的概率在正确的情况下,是正确的,是勇敢的。PositiveClassProbabilityScoreParameters

    定义一个cuadrícula de valores en el espacio预测观测。前人的可能性,后来者的物证,cuadrícula。

    xMax = max(X);xMin = min(X);D = 0.01;[x1Grid, x2Grid] = meshgrid (xMin (1): d: xMax (1) xMin (2): d: xMax (2));[~,PosteriorRegion] = predict(SVMModel,[x1Grid(:),x2Grid(:)]);

    Trazar la región可能性的后面的分类和数据的确定。

    图;contourf (x1Grid x2Grid,...重塑(PosteriorRegion(:, 2),大小(x1Grid, 1),大小(x1Grid, 2)));H = colorbar;h.Label.String = 'P({\it{versicolor}})';h.YLabel.FontSize = 16;caxis ([0 1]);colormap喷射;抓住gscatter (X (: 1), (:, 2), y,“mc”、“方式”,[15、10]);sv = X(SVMModel.Is金宝appSupportVector,:);情节(sv (: 1), sv(:, 2),‘你’,‘MarkerSize’,15日“线宽”,2);轴紧紧握住

    在分类的分类中,在可分离的分类中,包含了三个区域:在实证分类后的概率观察中,在实证分类后的概率观察中,在实证分类前的概率观察中,在实证分类后的概率观察中,está。01

    Analizar imágenes utilitzando máquinas vectoriales de soporte线性

    数学模型cómo确定的qué图像的中间形式的数学模型códigos计算误差的corrección误差计算(ECOC)支持向量机线性。Este ejemplo también ilustra el consumo de espacio en disco delos modelos ECOC que almacenan soporte矢量,sus礼仪和估计

    <数学显示= "块" >
    < mrow >
    < mi >α< / mi >
    < / mrow >
    数学> < /
    系数。

    Crear el conjunto de datos

    随意的颜色un círculo con无线电在画面上的颜色50 por 50。Haga 5000 imágenes。有礼貌,有思想,有形象,有教养,有教养círculo。El cuadrante 1 está en la parte superior derecha, El cuadrante 2 está en la parte superior izquierda, El cuadrante 3 está en la parte superior izquierda y El cuadrante 4 en la parte superior derecha。Los predictors son las intensidades de cada píxel。

    D = 50;图像高度和宽度的%像素n = 5e4;%样本量X = 0 (n,d^2);%预测矩阵预分配Y = 0 (n,1);%标签预分配theta = 0:(1/d):(2*pi);R = 5;%圆半径rng(1);%对于j = 1的重现性:n figmat = 0 (d);%空图像c = datasample((r + 1):(d - r - 1),2);%随机圆心x = r*cos(theta) + c(1);%使圆y = r*sin(theta) + c(2); idx = sub2ind([d d],round(y),round(x)); % Convert to linear indexing figmat(idx) = 1; % Draw the circle X(j,:) = figmat(:); % Store the data Y(j) = (c(2) >= floor(d/2)) + 2*(c(2) < floor(d/2)) + ... (c(1) < floor(d/2)) + ... 2*((c(1) >= floor(d/2)) & (c(2) < floor(d/2))); % Determine the quadrant end

    Trazar una observación。

    数字显示亮度图像(figmat)hgca;h.YDir =“正常”;标题(sprintf (“象限% d 'Y(结束)))

    模型电容ECOC

    使用的一个muestra de retención del 25% y especque los índices de muestra de entrenamiento y retención。

    P = 0.25;CVP = cvpartition(Y,“坚持”, p);%交叉验证数据分区isIdx = training(CVP);%训练样本指标oosIdx = test(CVP);测试样本指数

    海洋海洋,支持向量机,特别的,almacenamiento, los向量,soporte, los alumnos binarios。Páselo你的内心世界和内心世界的模型。fitcecoc确定“错误”clasificación“错误”。

    t = templateSVM(“Save金宝appSupportVectors”,真正的);MdlSV = fitcecoc(X(isIdx,:)),Y(isIdx),“学习者”t);isLoss = resubLoss(MdlSV)
    isLoss = 0

    Es UN modelo multiclase entrenado。MdlSVClassificationECOC这是一种方法,它是一种方法,它是一种方法。Para grande conjuntos de datos, como los del análisis de imágenes, el modelo puede consumir mucha memoria。

    确定空间的悬臂和空间的消费模式。

    infoMdlSV = whos(“MdlSV”);mbMdlSV = infoMdlSV.bytes/1.049e6
    mbMdlSV = 763.6151

    El modelo消耗7636 MB。

    Mejorar la eficiencia del modelo

    我的灵魂在祈祷。También关于连续的运动矢量的计算模型和计算模型,以及parámetros关于运动数据的计算公式。

    Deseche los矢量de sorte y los parámetros relacionados del modelo ECOC entrenado。continuación, descarte的数据,数据,模式,结果。紧凑的

    Mdl = discard金宝appSupportVectors(MdlSV);CMdl =紧凑(Mdl);信息= whoos (“Mdl”“CMdl”);[bytesCMdl,bytesMdl] = info.bytes;memReduction = 1 - [bytesMdl bytesCMdl]/infoMdlSV.bytes
    memReduction =1×20.0626 - 0.9996

    在case este caso, descartar los向量de soporte减少了大约6%的记忆消耗。紧凑笛卡尔向量减少el tamaño en proximadamente un 99,96%。

    管理向量的替代形式和减少方式números管理向量的具体管理方式restricción管理向量más大的,como 100。我们的模型支持向量机使用的记忆向量más我们的记忆,英勇的记忆restricción我们的记忆之路。

    吉他和del espacio de trabajoMdlSVMdl

    清晰的MdlMdlSV

    评价一个人的生命retención

    计算误差clasificación de la muestra de retención。预言之神retención。

    oosLoss = loss(CMdl,X(oosIdx,:),Y(oosIdx))
    oosLoss = 0
    yHat =预测(CMdl,X(oosIdx,:));nVec = 1:size(X,1);oosIdx = nVec(oosIdx);图;j = 1:9 subplot(3,3,j) imagesc(重塑(X(oosIdx(j),:),[d d])) h = gca;h.YDir =“正常”;标题(sprintf (“象限:% d 'yHat (j)))结束文本(-1.33*d,4.5*d + 1,“预测”“字形大小”, 17)

    El modelo no classiifica erróneamente ninguna observación de muestra de retención。

    Consulte也

    ||

    特马relacionados

    Referencias

    哈斯蒂、T.、R.蒂布谢拉尼和J.弗里德曼。统计学习的要素,第二版。纽约:施普林格,2008。

    [2]克里斯汀尼,N.和J.肖-泰勒。支持向量机和其他基于核的学习方法简介金宝app.英国剑桥:剑桥大学出版社,2000年。

    [3]范,r.e。,林志信。陈和c - j。林。“使用二阶信息训练支持向量机的工作集选择。”金宝app机器学习研究杂志, 2005年第6卷,第1889-1918页。

    [4]凯克曼V. -M。黄和M.沃格特。从庞大数据集训练核心机器的迭代单数据算法:理论和性能。在金宝app支持向量机:理论与应用.王立波编辑,255-274。柏林:斯普林格出版社,2005年。