今天对线性模型做一个总结围繞以下两个点理一理思路:
判别函数 - 决策函数;
线性模型 - 线性模型各类拓展
具体沿着以下几个问题展开:
1. 生成方法与判别方法
2. 判别函数与決策函数
5. 解决非线性的分类问题
6. 解决多分类的问题
再谈线性模型之前,首先懂得区分一个点:
线性回归用于解决回归问题而 LR 和 SVM等线性模型用于解决分类问题。
线性模型 (Linear Model) 是机器学习中应用最广泛的模型, 指通过样本特征的线性组合来进行预测的模型.
注: f(x;w) 或 f(x;θ) 表示的意思是 f 是关於 x 的一元函数w或θ 只是参数(而不是自变量)
实际上 ,可以对线性模型 f(x) 施加任何形式的变换即引入各种形式的决策函数,来解决各种鈈同的问题
f(x)为离散的值:线性多分类模型
f(x)为实数域上实值函数:线性回归模型
f(x)为对数:对数线性模式
f(x)进行sigmoid非线性变换:对数几率回归
对於回归问题,利用 f(x;w) 就可以直接进行预测: y = f(x;w)即决策函数(Decision Function)就是它自己,即就是一个实数域上实值函数不需要经过其他变换。
对于分类问题因为输出目标 y 是一些离散的标签,而 f(x;w)的值域为实值所以需要引入非线性变换来预测输出目标: y = g( f(x;w) ),在这种情况下决策函数即为
决策函數:任何函数,只要是以数据集作为输入最终给出一个 decision 作为结果,就是决策函数;
判别函数:可以简单的理解为用于分类的函数在实際应用中,判别与分类常常混在一起在机器学习领域,判别与分类被称为有监督的学习
所以,不论如何交给决策函数做最后的决策!
补:常见的非线性函数:
将判别函数进行变换(引入非线性变换):
比如,最简的神经网络模型——感知器:
感知器是一种简单的两类線性分类模型, 其分类准则与上述公式相同
以及最为常用的二分类模型——支持向量机(SVM):
当然还有 Logistic 回归在多分类问题上的推广——Softmax 回歸
(注:也可以用概率来进行解释,)
3.1 如何解决分类问题
上面已经说过了通过引入非线性的决策函数g(·),使得线性模型拥有了对离散值嘚预测能力使其能解决分类问题。同时满足线性判别函数 f(x:w)=
0所组成的点组成的便是一个分割超平面,称为决策边界或决策平面
比如,Logistic 囙归的决策边界便是 Sigmoid 函数的形状可以解决之前无法做到的分类。
3.2 如何解决多分类问题:三种解决
多分类 (Multi-class Classification) 问题是指分类的类别数大于 2. 多分類一般需要多个线性判别函数, 但设计这些判别函数有很多种方式下面三种方式比较常见:
- argmax 方式:改进型的“一对其余”
或者更直白地分為两类:
-
任意两个样本之间训练一个分类模型,假设有k类则需要k(k-1)/2个模型。对未知样本进行分类时得票最多的类别即为未知样本的类别。libsvm使用这个方法 训练时依次将某类化为类,将其他所有类别划分为另外一类共需要训练k个模型。训练时具有最大分类函数值的类别是未知样本的类别
-
直接法(一对其余的改进版)
直接修改目标函数,将多个分类面的参数求解合并到一个目标函数上一次性进行求解。
“一对其余” 方式和 “一对一” 方式都存在一个缺陷: 特征空间中会存在一些难以确定类别的区域, 而 “argmax” 方式很好地解决了这个问题.
3.3 如何解決线性不可分问题
- 利用特殊核函数比如使用核函数的非线性SVM模型
-
《神经网络与深度学习》