【机器学习】感知机算法的原理和实现


推荐

  去年看完吴恩达的机器学习网课之后,虽然记了很多笔记,但是感觉学的太多也太浅,应该是自己学的不够认真,没有一个完整的体系。(吴老师的课讲得很细,很适合初学者,即便你是高中毕业稍微花点时间也可以学懂)
  今年开学除了完成学业,也有在查机器学习方面的资料。在知乎上找相关学习资料时,发现知乎如何学习《统计学习方法》下面有两类人,一类是大佬推荐一些论文和英文资料,对我个人来说,靠此入门有点困难,要是大佬就无所谓;一类就是各种营销号之类的去卖课程,卖书,里面说的天花乱坠,其实干货太少,这个极其不推荐的。
  在此我推荐机器学习的入门书——李航教授的《统计学习方法》
  偶然之间我在b站找到了一位up主的带读视频,是我找到的所有适合初学者学这本书教程里,最良心和细致的教学,up主以一个小白的视角去带大家推每一个公式,复习线性代数和概率论的相关知识,极力推荐大家去读。

【机器学习】带读李航 第一章-第四章《统计学习方法 第二版 监督学习》 跟我一起从菜鸟成长为大神


一、简介

  1. 定义:感知机 (perceptron) 类分类的线性分类模型,其输入为实例的特征向量,输
    出为实例的类别,取 +1 和-1值。
  2. 感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型
  3. 目的:感知机学习旨在求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。
  4. 特点:感知机学习算法具有简单,并且易于实现的特点,分为原始形式对偶形式
  5. 预测:感知机预测是用学习得到的感知机模型对新的输入实例进行分类。

感知机的思想很好理解,比如我们在一个屋子里有很多的男人和女人,感知机的模型就是尝试找到一条直线,能够把所有的男人和女人隔离开。放到三维或者更高维的空间,感知机的模型就是尝试找到一个超平面,能够把所有的二元类别隔离开。当然,如果我们找不到这么一条直线的话怎么办?找不到的话那就意味着类别线性不可分,也就意味着感知机模型不适合你的数据的分类。

  1. 算法前提:数据集得线性可分。感知机模型遇上线性不可分的数据,它的学习算法就不会收敛,它就不能经过有限次选代可以得到 1个将训练数据集完全正确划分的分离超平面及感知机模型。
  2. 这一前提大大限制了它的应用场景。

它的分类竞争对手在面对不可分的情况时,比如支持向量机可以通过核技巧来让数据在高维可分,神经网络可以通过优化激活函数、增加隐藏层和支持多输出,来让数据可分。


二、模型

  • 输入空间 χ ⊆   R n \chi\subseteq\ R^n χ Rn

R n R^n Rn:n维实数集,即( x 1 , x 2 , . . . , x n x_1,x_2, ... ,x_n x1,x2,...,xn) , R n R^n Rn中每个元素是n维向量,向量中的每个分量是实数。

  • 输出空间 Y = { − 1 , + 1 } Y=\{-1,+1\} Y={ 1,+1}
  • 感知机模型 f ( x ) = s i g n ( ω ⋅ x + b ) f(x)=sign(\omega\cdot x+b) f(x)=sign(ωx+b)
  • 模型参数: ω ∈ R n \omega\in R^n ωRn b ∈ R b\in R bR ω \omega ω叫做权值向量
    b b b叫做偏置
    ω ⋅ x \omega\cdot x ωx表示 ω \omega ω x x x的内积
    s i g n sign sign是符号函数,即 s i g n ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 sign(x)=\begin{cases} +1,x\geq 0 \\ -1,x<0 \end{cases} sign(x)={ +1,x01,x<0
  • 假设空间:感知机是一种线性分类模型,属于判别模型。感知机模型的假设空间是定义在特征空间中的所有线性分类模型或线性分类器 ,即函数集合 { f ∣ f ( x ) = ω ⋅ x + b } \{f|f(x)=\omega\cdot x + b\} { ff(x)=ωx+b}
  • 训练数据集 T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)\} T={ (x1,y1),(x2,y2),,(xN,yN)}其中, x i ∈ χ = R n x_i\in \chi =R^n xiχ=Rn y i ∈ Y = { − 1 , + 1 } y_i\in Y =\{-1,+1\} yiY={ 1,+1} i = 1 , 2 , ⋯   , N i=1,2,\cdots,N i=1,2,,
  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值