图解 感知机 原理

感知机模型

定义
是神经网络与SVM的基础,
感知机有两层神经元组成,如下图所示:
n
输入层接收外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”。
感知机能轻松实现逻辑与,或,非运算

  • 与:x1+x2-2,仅在x1=x2时,y=1
  • 或:x1+x2-0.5,仅在x1=1或x2=1是,y=1
  • 非:-0.6x1+0+0.5,当x1=1时,y=0,x1=0时,y=1

感知机算法
在这里插入图片描述在这里插入图片描述在这里插入图片描述

### 感知机在线学习算法图解 感知机是一种线性分类模型,其核心在于通过调整权重来实现对不同类别的区分。对于给定的数据集,在线学习意味着每次仅更新单一样本的权重。 #### 权重更新规则 假设有一个二元分类问题,其中类别标签为 \( y_i \in \{-1, +1\} \),输入样本记作 \( x_i \) 。当预测错误时,即实际标签与预测标签不符,则按照如下方式更新权重: \[ w := w + ηy_ix_i \] 这里 \( η \) 是学习率参数[^1]。 #### 图形化解释 为了更好地理解感知机的工作原理,下面给出一个简单的图形示例: 考虑二维平面上分布着两类点A和B,初始状态下随机设定一条分界线(超平面),随着训练过程逐步修正这条直线的位置直到能够较好地区分这两类点为止。 ```plaintext |\ | \ | \ | * B | * | * | * | * | * |_________* A ``` 在这个例子中,“*”代表属于两个不同类别的数据点。“A”表示一类,“B”表示另一类。起初,决策边界可能是倾斜的,并且无法正确划分所有的点;然而经过多次迭代之后,它会逐渐变得垂直并成功分开两组数据。 #### Python代码模拟感知机在线学习过程 以下是Python代码片段用于展示如何构建最基础版本的感知机以及可视化其学习成果: ```python import numpy as np from sklearn.datasets import make_classification import matplotlib.pyplot as plt class Perceptron: def __init__(self, lr=0.01): self.lr = lr def fit(self, X, y, epochs=10): n_features = X.shape[1] self.weights = np.zeros(n_features) for epoch in range(epochs): for i in range(len(X)): prediction = int(np.dot(X[i], self.weights) >= 0) error = y[i] - prediction if error != 0: update = self.lr * error self.weights += update * X[i] # 创建虚拟数据集 X, y = make_classification( n_samples=100, n_features=2, n_redundant=0, n_informative=1, random_state=1, n_clusters_per_class=1) clf = Perceptron(lr=0.1) clf.fit(X, y) def plot_decision_boundary(clf, X, y): h = .02 # 步长 x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1 y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1 xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h)) Z = clf.predict(np.c_[xx.ravel(), yy.ravel()]) Z = Z.reshape(xx.shape) plt.contourf(xx, yy, Z, alpha=0.8) plt.scatter(X[:, 0], X[:, 1], c=y, edgecolors='k', marker='o') plt.show() plot_decision_boundary(clf, X, y) ``` 这段程序首先定义了一个`Perceptron`类来进行权值的学习,接着创建了一些合成数据供测试用途。最后调用了绘图函数展示了最终形成的决策面。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DFCED

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值