机器学习面试题八之感知机算法

本文介绍了感知机算法,它是监督学习和迭代式算法,可用于二类线性分类。但该算法存在模型简单、迭代偏差等问题。针对这些问题,提出了投票感知机和平均感知机的改进方法,还可在《Hanlp源码分析》专栏找实现方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

LawsonAbs的认知与思考,还请各位读者批判阅读。

总结

  • 文章来源:csdn:LawsonAbs
  • 我会以专栏的形式写下此生学习到的每个基础ML算法

1.什么是感知机算法?

1.1 模型结构

在这里插入图片描述
对应的表达式就是:
在这里插入图片描述

1.2 性质

  • 属于监督学习算法
    比如在后面给出的实战代码中,我们给出了人名对应的性别,会根据这个预测是否准确去完成一次更新操作。

  • 属于迭代式算法
    每次读入一个样本,执行预测,将预测结果与正确答案进行对比,计算误差,根据误差更新模型参数。

2.有什么用途?

  • 可以用于问题分类( 二类线性分类器

3.有什么利弊?

  • 模型过于简单
    参数较少的模型就容易出现**“不拟合”**的情况,同时,也会因为数个偏离点而对迭代更新的参数有很大的影响。从而难以准确的预测结果,造成较大偏差。

  • 迭代偏差
    这里说的迭代偏差是因为我们总是倾向于取最后一次迭代的模型。
    每次迭代都产生一个模型,而且每个模型的对应的每个参数不一定相同。如果我们单纯的取最后一次迭代产生的模型作为“最优模型”的话,很有可能是 “补了西墙,拆了东墙”

3.怎么改进?

针对上面叙述的问题,对应的改进方法有投票感知机和平均感知机,分别简单叙述一下。

3.1 投票感知机

3.1.1 思想

每次迭代都会产生一个不同参数的模型,那么这些模型间的准确率就不一样,把这个准确率称之为权重。根据各个模型的权重可以得到每个模型的加权平均值。根据各个模型的加权平均值与参数相乘,得到最终的一个模型。

3.1.2 缺点
  • 计算开销大
  • 存储开销大

3.2 平均感知机

3.2.1 思想

每次迭代都会产生一个不同参数的模型,最后得到的模型就取每次迭代模型的一个平均。【这个平均其实指的是模型参数的平均】【《自然语言处理入门》这本书中讲的是:取多个模型权重的平均。我不是很理解。】

3.2.2 特点
  • 好实现
  • 借助一定的方法【累积参数和,而不是傻傻的每迭代一次就算一次平均】,可以避免存储中间模型,可以以更少内存得到最终的模型

4.怎么实现?

请在我的专栏 《Hanlp源码分析》博客:基于感知机实现人名性别预测 寻找答案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

说文科技

看书人不妨赏个酒钱?

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

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

打赏作者

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

抵扣说明:

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

余额充值