Machine Learning-感知器分类算法详解

机器学习系列专栏

选自 python-machine-learning-book on GitHub

作者:Sebastian Raschka

翻译&整理 by Sam

最近在GitHub上面发现了一个炒鸡赞的项目,果然直接拿过来消化一波,这个项目的内容是关于机器学习的指导,我会挑一些内容来完成下面的一系列文章。

今天我们来讲解的内容是感知器分类算法,本文的结构如下:

  • 什么是感知器分类算法

  • 在Python中实现感知器学习算法

    • 在iris(鸢尾花)数据集上训练一个感知器模型

  • 自适应线性神经元和融合学习

    • 使用梯度下降方法来最小化损失函数

    • 在Python中实现一个自适应的线性神经元

什么是感知器分类算法

‍‍‍‍‍‍‍‍‍设想我们改变逻辑回归算法,“迫使”它只能输出-1或1抑或其他定值。在这种情况下,之前的逻辑函数‍‍g就会变成阈值函数sign:

640?wx_fmt=png

640?wx_fmt=png

如果我们令假设为hθ(x)=g(θTx)hθ(x)=g(θTx),将其带入之前的迭代法中:

640?wx_fmt=png

至此我们就得出了感知器学习算法。简单地来说,感知器学习算法是神经网络中的一个概念,单层感知器是最简单的神经网络,输入层和输出层直接相连。

640?wx_fmt=png

每一个输入端和其上的权值相乘,然后将这些乘积相加得到乘积和,这个结果与阈值相比较(一般为0),若大于阈值输出端就取1,反之,输出端取-1。

初始权重向量W=[0,0,0],更新公式W(i)=W(i)+ΔW(i);ΔW(i)=η*(y-y’)*X(i); 640?wx_fmt=png

图:单层感知器模型

初始化权重向量W,与输入向量做点乘,将结果与阈值作比较,得到分类结果1或-1。

在Python中实现感知器学习算法

下面直接贴上实现代码:(也可在公众号后台输入“感知器”进行获取ipynb文件)

 1import numpy as np
 2class  Perceptron(object):
 3"""Perceptron classifier.
 4Parameters
 5------------
 6eta : float
 7    Learning rate (between 0.0 and 1.0)
 8n_iter : int
 9    Passes over the training dataset.
10Attributes
11-----------
12w_ : 1d-array
13    
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值