该论文是对2001年Frank的一篇二分类分解的序分类模型的基于卷积神经网络的拓展。
Frank E, Hall M. A simple approach to ordinal classification[C]//European Conference on Machine Learning. Springer, Berlin, Heidelberg, 2001: 145-156.
该二分类分解方法的缺点就是预测类别之间的概率不一致性,有可能出现负概率的问题。但总之不影响模型的预测。
对卷积网络一无所知,因此只实现了该论文的神经网络版本。代码如下:
import torch
import torch.nn.functional as F
from torch import nn
from torch.autograd import Variable
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
from sklearn.preprocessing import Normalizer
from time import time
class BDNN(torch.nn.Module):
def __init__(self,nDim, n_hidden, nClass):
self.nClass = nClass
super(BDNN, self).__init__()
self.hidden_layer = torch.nn.Linear(nDim, n_hidden)
self.output_layer = torch.nn.Linear(n_hidden, (self.nClass-1)