机器学习强基计划1-1:图文详解感知机算法原理+Python实现

Posted Mr.Winter`

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习强基计划1-1:图文详解感知机算法原理+Python实现相关的知识,希望对你有一定的参考价值。

目录

0 写在前面

机器学习强基计划聚焦深度和广度,加深对机器学习模型的理解与应用。“深”在详细推导算法模型背后的数学原理;“广”在分析多个机器学习模型:决策树、支持向量机、贝叶斯与马尔科夫决策、强化学习等。

🚀详情:机器学习强基计划(附几十种经典模型源码合集)


本期目标:实现这样一个效果

1 什么是线性模型?

线性模型的假设形式是属性权重、偏置与属性的线性组合,即

f ( x ( i ) ) = w T x ( i ) + b f\\left( \\boldsymbolx^\\left( i \\right) \\right) =\\boldsymbolw^T\\boldsymbolx^\\left( i \\right)+b f(x(i))=wTx(i)+b

其中 x ( i ) = [ x 1 ( i ) x 2 ( i ) ⋯ x d ( i ) ] T \\boldsymbolx^\\left( i \\right)=\\left[ \\beginmatrix x_1^\\left( i \\right)& x_2^\\left( i \\right)& \\cdots& x_d^\\left( i \\right)\\\\\\endmatrix \\right] ^T x(i)=[x1(i)x2(i)xd(i)]T是数据集 D D D中的第 i i i个样本, x j ( i ) ( j = 1 , 2 , ⋯   , d ) x_j^\\left( i \\right)\\left( j=1, 2, \\cdots , d \\right) xj(i)(j=1,2,,d)是该数据集样本的 d d d个属性; w = [ w 1 w 2 ⋯ w d ] T \\boldsymbolw=\\left[ \\beginmatrix \\boldsymbolw_1& \\boldsymbolw_2& \\cdots& \\boldsymbolw_d\\\\\\endmatrix \\right] ^T w=[w1w2wd]T是样本属性的权重向量; b b b是模型偏置。

上式也可写为齐次形式

f ( x ( i ) ) = w ^ T [ x ( i ) 1 ] f\\left( \\boldsymbolx^\\left( i \\right) \\right) =\\boldsymbol\\hatw^T\\left[ \\beginarrayc \\boldsymbolx^\\left( i \\right)\\\\ 1\\\\\\endarray \\right] f(x(i))=w^T[x(i)1]

其中系数向量 w ^ = [ w ; b ] \\boldsymbol\\hatw=\\left[ \\boldsymbolw; b \\right] w^=[w;b]

进一步,考虑单调可微函数 g ( ⋅ ) g\\left( \\cdot \\right) g(),令

f ( x ( i ) ) = g − 1 ( w T x ( i ) + b ) f\\left( \\boldsymbolx^\\left( i \\right) \\right) =g^-1\\left( \\boldsymbolw^T\\boldsymbolx^\\left( i \\right)+b \\right) f(x(i))=g1(wTx(i)+b)

称为广义线性模型(generalized linear model),其中 g ( ⋅ ) g\\left( \\cdot \\right) g()称为联系函数(link function)

广义线性模型本质上仍是线性的,但通过 g ( ⋅ ) g\\left( \\cdot \\right) g()进行非线性映射,使之具有更强的拟合能力,类似神经元的激活函数。例如对数线性回归(log-linear regression) g ( ⋅ ) = ln ⁡ ( ⋅ ) g\\left( \\cdot \\right) =\\ln \\left( \\cdot \\right) g()=ln()时的情形,此时模型拥有了指数逼近的性质。

线性模型的优点是形式简单、易于建模、可解释性强,是更复杂非线性模型的基础

2 感知机概述

感知机(Perceptron)是最简单的二分类线性模型,也是神经网络的起源算法,如图所示。

y = w ^ T x ^ y=\\boldsymbol\\hatw^\\boldsymbolT\\boldsymbol\\hatx y=w^Tx^ R d \\mathbbR ^d Rd空间的一条直线,因此感知机实质上是通过训练参数 w ^ \\boldsymbol\\hatw w^改变直线位置,直至将训练集分类完全,如图所示,或者参考文章开头的动图。

3 手推感知机原理

机器学习强基计划的初衷就是搞清楚每个算法、每个模型的数学原理,让我们开始吧!

感知机的损失函数定义为全体误分类点到感知机切割超平面的距离之和:

E ( w ^ ) = 1 ∥ w ^ ∥ ∑ i = 1 n ∣ w ^ T x ^ e r r o r ( i ) ∣ E\\left( \\boldsymbol\\hatw \\right) =\\frac1\\left\\| \\boldsymbol\\hatw \\right\\|\\sum_i=1^n\\left| \\boldsymbol\\hatw^T\\boldsymbol\\hatx_error^\\left( i \\right) \\right| E(w^)=w^1i=1n w^Tx^error(i)

对于二分类问题 y ∈ − 1 , 1 y\\in \\left\\ -1, 1 \\right\\ y1,1,则误分类点的判断方法为 − y i w ^ T x ^ e r r o r ( i ) > 0 -y_i\\boldsymbol\\hatw^T\\boldsymbol\\hatx_error^\\left( i \\right)>0 yiw^Tx^error(i)>0