关键词:
监督学习多用来解决分类问题,输入的数据由特征和标签两部分构成。我们由浅入深地介绍一些经典的有监督的机器学习算法。
这里介绍一些比较简单容易理解的处理线性分类问题的算法。
线性可分&线性不可分
首先,什么是线性分类问题?线性分类问题是指,根据标签确定的数据在其空间中的分布,可以使用一条直线(或者平面,超平面)进行分割。如下图就是一个线性分类问题。这样的问题也叫做线性可分的。
当然,也存在着许多线性不可分的情况,例如下图所示
解决线性不可分问题往往相对复杂,我们从简单的线性可分问题开始探讨。
最简单的线性分类器——决策树桩
线性分类器,简单来说就是一些可以用来解决线性可分问题的机器学习算法,这些算法生成的模型往往都是一个线性函数,因此不一定能很好的解决线性不可分的问题。
决策树桩,可以说是最简单的线性分类器了,它的分类原理很简单:
1、决定一个阈值
2、大于这个阈值的是第一类,小于这个阈值的是第二类。(等于阈值的情况任意取舍即可)
决策树桩能解决的问题很有限,但是也并不是全无用途。例如我们对如下数据进行分类
数据:5个拉拉队员的数据
拉拉队员 | 身高 | 体重 | 性别 |
1 | 170 | 55 | 男 |
2 | 160 | 45 | 女 |
3 | 180 | 65 | 男 |
4 | 165 | 50 | 女 |
5 | 170 | 50 | 女 |
如果说我们想根据拉拉队员的身高体重队其性别进行分类,那么很明显,体重大于50的都是男队员,小于或等于50的都是女队员。因此决策树桩是完全可以解决这个问题的,那么剩下的工作就是如何让机器根据这些数据自己学习到合适的阈值。设计出来的算法就是决策树桩的学习算法了。
为此我们将问题更加细化一下,我们使用体重作为特征(X),性别作为标签进行分类(Y = 1 判断性别为男,Y = 0判断为女)
决策树桩的模型是一个一维的线性模型,因此其模型函数可以看做是 f(x) = (x - t), 其中t是阈值,我们规定,当f(x)>0时, 预测Y = 1,否则,预测Y = 0。为了找到一个合适的t使用最简单的线性搜索就可以解决。算法如下:
input: 特征x,真实标签Y,学习步长L
L = 1; minErr = 99999;
for t = min(x) to max(x) by L do
numErr = numberOfErrors(t)
if numErr <= minErr
minErr = numErr
tbest = t
end if
end for
return tbest
在这个算法中,我们从x的最小值开始搜索,直到x的最大值。每次更新t时给t增加L这么大。numberOfErrors 函数用来统计我们在t作为阈值的情况下,分类的错误数目,这样搜索了一遍后,就能找到一个错误最少的tbest作为我们决策树桩的阈值。
其中学习步长L的作用十分重要,如果L过大的话,可能会不小心错过最优解,但是L过小的话,又会导致算法运行时间过长。因此调整一个合适的L值是十分必要的。
机器学习笔记
机器学习笔记(三)文章目录机器学习笔记(三)线性模型简介线性回归线性几率回归线性模型简介线性模型最简单的案例是最小二乘法:在机器学习的术语中,当预测值为连续值时,称为“回归问题... 查看详情
机器学习笔记——感知机
Perceptron(感知机)感知机是二分类的线性分类器,属于判别模型。由Rosenblatt在1957年提出,是神经网络和支持向量机(SVM)的基础。感知机本身相当于神经网络中的一个神经元,只能进行简单的线性分类。... 查看详情
机器学习笔记
机器学习笔记(三)文章目录机器学习笔记(三)线性模型简介线性回归线性几率回归线性模型简介线性模型最简单的案例是最小二乘法:在机器学习的术语中,当预测值为连续值时,称为“回归问题... 查看详情
机器学习笔记
机器学习笔记(三)文章目录机器学习笔记(三)线性模型简介线性回归线性几率回归线性模型简介线性模型最简单的案例是最小二乘法:在机器学习的术语中,当预测值为连续值时,称为“回归问题... 查看详情
机器学习笔记
机器学习笔记(三)文章目录机器学习笔记(三)线性模型简介线性回归线性几率回归线性模型简介线性模型最简单的案例是最小二乘法:在机器学习的术语中,当预测值为连续值时,称为“回归问题... 查看详情
简单机器学习——最简单分类算法(logisticregression二分类线性模型linearsvc一对其余分类器)(代码片段)
代码:#--coding:gbk--fromsklearn.datasetsimportload_breast_cancerfrompylabimport*fromsklearn.model_selectionimporttrain_test_splitfromsklearn.linear_modelimportLogisticRegressionfromsklearn.svmimportLinearSVCfromsklearn.datasetsimportmake_blobsimportmglearndefLogisticRegression二分类线性模... 查看详情
第二篇[机器学习]学习机器学习,从最简单的线性回归开始
机器学习,分为监督学习和无监督学习,监督学习里有回归和分类,分类有线性回归和逻辑回归。从最简单的线性回归开始:通过已有数据需要预测的线性方程:实际值和预测值的误差,求最小误差函数(最小二乘法):1.梯度... 查看详情
机器学习算法基础+实战系列svm
由线性分类器引出SVM首先对于我们的数据集合假定为是线性可分的,也就是说存在那么一条直线(或者超平面)可以将我们的数据集按照类别的不同分开。如下图所示从上图我们可以知道这条黑色的线(在多维空间是一个超平面... 查看详情
机器学习笔记非线性变换
一、非线性问题对于线性不可分的数据资料,用线性模型分类,Ein会很大,相应的Ein=Eout的情况下,Eout也会很大,导致模型表现不好,此时应用非线性模型进行分类,例如:分类器模型是一个圆形,假设模型可表示为转化表示形... 查看详情
机器学习基础概念笔记
...见算法:K-均值、最大期望算法、DBSCAN、Parzen窗设计 机器学习应用步骤:收集数据——准备输入数据——分析输入数据 查看详情
机器学习系列-朴素贝叶斯分类器
贝叶斯分类器什么是贝叶斯分类器贝叶斯分类器是一类分类器的总称,这些分类器均以贝叶斯定理为基础,故统称为贝叶斯分类器。这些分类器中最简单的是朴素贝叶斯分类器,它几乎完全按照贝叶斯定理进行分类,因此我们从... 查看详情
机器学习——基础整理:线性判别函数——感知器松弛算法ho-kashyap算法
本文简单整理了以下内容:(一)线性判别函数与广义线性判别函数(二)感知器(三)松弛算法(四)Ho-Kashyap算法 (一)线性判别函数与广义线性判别函数 一、线性判别函数 这篇... 查看详情
深度学习中得数学,高效计算基础与线性分类器
深度学习说到底就是要调节网络中得权重,使网络的分类结果更接近于训练值。这个重复迭代的过程又是一个线性回归的问题。在这种可能会用到高数,线性代数,概率论中的知识。一、数学基础提一提。1.高数中得知识。 ... 查看详情
(笔记)斯坦福机器学习第七讲--最优间隔分类器
本讲内容1.Optionalmarginclassifier(最优间隔分类器)2.primal/dualoptimization(原始优化问题和对偶优化问题)KKTconditions(KKT条件)3.SVMdual(SVM的对偶问题)4.kernels(核方法) 1.最优间隔分类器对于一个线性可分的训练集合,最优间... 查看详情
转:机器学习算法原理解析-分类(代码片段)
...KNN概述K最近邻(k-NearestNeighbor,KNN)分类算法是最简单的机器学习算法。KNN算法的指导思想是“近 查看详情
机器学习九大算法---朴素贝叶斯分类器
机器学习九大算法---朴素贝叶斯分类器 搞懂朴素贝叶斯分类算贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类... 查看详情
机器学习理论基础学习3---linearclassification线性分类之线性判别分析
下面依次讲解以下五个线性分类的算法: 查看详情
机器学习:算法与应用byxdu2022冬季课程笔记1:线性回归与逻辑回归
机器学习:[算法与应用byXDU2022冬季课程笔记集合]文章目录1.回顾与总览2.线性模型与线性回归(LinearRegression)3.逻辑回归(LogisticRegression)分类器4.总结1.回顾与总览上节课程概括了整个机器学习算法流程,... 查看详情