【机器学习】感知机模型

#记录对感知机模型的粗浅理解#

概念

感知机是一种简单的线性分类模型,用于处理二元分类问题。它由一个带有阈值的单层神经元组成。感知机模型接收输入特征向量,通过对特征与权重的线性组合加上偏置项,并应用激活函数(通常为阶跃函数或符号函数)来输出类别标签。其基本概念包括:

  • 输入:输入由特征向量(Xi)组成,每个特征与对应的权重相乘后求和,再加上偏置项(b)。
  • 权重:每个特征都有一个对应的权重,权重表示了每个特征对分类决策的重要性。
  • 偏置项:偏置项决定了模型在没有任何输入时的输出值。
  • 激活函数:通常使用阶跃函数或符号函数作为激活函数,用来将线性组合的结果转换为最终的类别标签。
  • 学习算法:感知机模型通过基于误分类点的损失函数进行学习,采用梯度下降等优化算法来更新权重和偏置项,以减小损失函数,使模型能够更好地分类数据。
  • 决策边界:感知机模型将特征空间划分为两个区域,这些区域通过一个超平面(决策边界)分隔,使得每个类别的样本都在相应的区域内。 

简单理解如下图所示:

        感知机模型是用于解决分类问题的模型。简单的感知机模型包括Perceptron(感知器),进一步看,使用多个感知机模型可以形成深度学习的感知网络,用于复杂的分类问题。

损失函数

这里说说其损失函数的理解,感知机用误分类样本决策函数的距离来衡量模型的偏差。如图所示,其中中间行为误差衡量

由于算法结果对决策函数的位置不敏感,所以可以将1/||W||部分去掉,则损失函数为:

Perceptron简单示例

# 导入必要的库
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import Perceptron
from sklearn.metrics import accuracy_score

# 加载鸢尾花数据集(作为分类的示例数据集)
iris = load_iris()
X = iris.data[:, :2]  # 仅使用前两个特征便于演示
y = (iris.target != 0) * 1  # 转换为二元分类问题(1表示virginica,0表示其他)

# 将数据集拆分为训练集和测试集
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)

# 标准化特征数据(对于Perceptron和许多其他模型很重要)
scaler = StandardScaler()
X_train = scaler.fit_transform(X_train)
X_test = scaler.transform(X_test)

# 初始化Perceptron分类器
perceptron = Perceptron(max_iter=100, eta0=0.1, random_state=42)

# 训练Perceptron模型
perceptron.fit(X_train, y_train)

# 使用训练好的Perceptron模型进行预测
y_pred = perceptron.predict(X_test)

# 计算模型的准确率
accuracy = accuracy_score(y_test, y_pred)
print(f'准确率:{accuracy:.2f}')

# 可选:打印模型的系数和截距
print(f'系数:{perceptron.coef_}')
print(f'截距:{perceptron.intercept_}')

文章内容学习自B站编程八点档的视频

若有错误,请批评指正!

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值