计科八股20260604——AI安全、K-means、SVM、nano

昨天金工实习,之后上课,所以未更。

今天金工实习累成傻子了,板子一边长一边短导致又重新锯了1个,他妈的右手都快报废了。

晚上跟同学聊AI大模型,原来我搞不明白Claude Code还是因为我太菜了。。。

好多事情要做,好多理论要学,好多项目要改,好多套磁要发,杀了我吧。。。


Q:AI+安全的应用

AI+安全,简单说就是用AI的感知和决策能力,去解决传统安全规则难以处理的大规模、高动态安全问题。传统的安全依赖人工写规则,但规则很难覆盖所有攻击变种。AI可以从数据里自己学出"什么是异常"。

主要有四个典型应用:

第一,恶意代码检测。 传统杀毒靠特征码,新病毒出来时有空窗期。AI把二进制文件当图像或序列来处理,用CNN或RNN直接学习恶意代码的特征,能检测未知病毒。

第二,入侵检测。 传统方法靠人工写规则,比如'一秒钟访问100次就封IP',但加密流量和未知攻击很难用规则覆盖。AI用无监督学习,只学正常流量的模式,一旦出现偏离就报警,能发现未知攻击。

第三,用户行为分析(UEBA)。 传统方法用固定阈值,比如'深夜登录就报警',误报很多。AI给每个用户建一个正常行为画像,序列模型学习他平时什么时间登录、访问什么资源,一旦出现异常行为就触发告警,主要用来发现内鬼和被盗账号。

第四,钓鱼邮件检测。 传统方法靠黑名单和关键词,攻击者换个说法就绕过了。AI用BERT这样的预训练模型理解邮件语义,不只看关键词,还能识别伪装手法。

总的来说,AI+安全的核心价值是:用学习能力去覆盖传统规则覆盖不了的长尾和动态攻击。

当然也有局限,比如AI模型本身可能被对抗样本攻击。所以在高安全等级的场景里,AI通常作为辅助,而不是完全替代规则。"

Q:k-means的步骤,改进算法,对同一数据集使用多次k-means得到的结果是一样的吗?

博主原话:我回答不一样,那个老师说我机器学习白学了。

一、K-Means 的步骤(面试必背)

K-Means 的目标是把数据分成 K 个簇,让同一个簇内的点尽量近,不同簇的点尽量远。

标准步骤(4步):

随机初始化:随机选择 K 个点作为初始的簇中心(质心)。

分配样本:对数据集中的每一个点,计算它到 K 个质心的距离,把它归到最近的那个质心所在的簇。

更新质心:对每个簇,计算簇内所有点的均值,把这个均值作为新的质心。

重复 2-3:直到质心不再变化,或达到最大迭代次数。

二、K-Means 的改进

  1. K-Means++(初始化的改进)

不是完全随机选初始质心,而是:第一个质心随机选;后续每个新质心,离已有质心越远的点,被选中的概率越大。这样能保证初始质心分散,结果更稳定。

  1. Mini-Batch K-Means(大数据的改进)

每次迭代不是用全量数据,而是随机抽一个小批次来更新质心。速度快很多,精度下降不大。

三、结果

结合AI给出的,答案应该这么写:不一定完全一致,通常大同小异。原因:K-Means 的结果取决于初始质心的选择。每次运行,随机初始化的质心不同,最终收敛到的结果可能不同。

两种情况:

情况 结果 原因
数据簇结构非常清晰 每次结果基本相同 不管从哪开始,都会收敛到同一个最优解
数据边界模糊 或有多个局部最优 每次结果可能不同 K-Means 是贪心算法,容易陷入局部最优

面试时可以这样总结:

"K-Means 对初始质心敏感。如果数据本身的簇结构很明显,多次运行结果差别不大;但如果数据有重叠或噪声,不同初始值可能收敛到不同的局部最优解。

实际工程中,常见的做法是:多次运行 K-Means(比如 50 次),选轮廓系数最高或整体误差最小的那次结果。 这也是为什么 K-Means++ 有意义------它能让每次运行的起点更好,结果更稳定。"

Q:SVM怎么解决样本空间线性不可分(我说引入核函数,把样本特征引入到高维空间,应该是我表述不对,那个老师很严肃)

博主原话:我说引入核函数,把样本特征引入到高维空间,应该是我表述不对,那个老师很严肃

"SVM 本质上是一个线性分类器。当数据在原始空间线性不可分时,我们可以通过一个非线性映射,把样本映射到更高维的空间。在高维空间中,数据往往会变得线性可分。

但问题是,直接计算这个高维映射的开销非常大。所以我们引入了'核函数'这个技巧。

核函数能够直接在低维空间中,计算两个样本在高维空间里的内积结果,从而绕过显式计算高维映射。这被称为'核技巧'。

常见的核函数有:线性核、多项式核、高斯核(RBF核)。其中 RBF 核最常用,它理论上可以把数据映射到无穷维空间。"

Q:nano是怎么使用的,了解其他开发板吗?

Nano 通常指 Arduino Nano,是 Arduino 的迷你版,核心是 ATmega328P,16MHz、2KB 内存。使用上主要是通过 Arduino IDE 写代码,核心结构是 setup() 初始化 + loop() 死循环,写好之后通过 USB 上传烧录。

其他常见的开发板我了解的有:

  • ESP32:带 Wi-Fi 和蓝牙,适合物联网

  • 树莓派:跑 Linux 系统,适合做边缘计算

  • Jetson Nano:带 GPU 支持 CUDA,适合边缘 AI 推理

它们的本质区别是:Arduino/ESP32 是单片机 ,裸机跑程序;树莓派/Jetson Nano 是微型电脑,跑操作系统。

相关推荐
冬奇Lab11 分钟前
Skill 系列(05):Skill 工作流串联——4 种模式实测,并发加速 1.5x
人工智能·开源
冬奇Lab27 分钟前
每日一个开源项目(第141篇):hiring-agent - HackerRank 开源了他们的简历评分系统,你的简历能得几分?
人工智能·面试·开源
甲维斯1 小时前
又升级咯!坦克大战2026,科技与复古并存!
前端·人工智能·游戏开发
姗姗来迟了3 小时前
用React Hook封装AI对话状态
人工智能
Goodbye3 小时前
从 Token 到 Embedding:LLM 核心基础深度解析
javascript·人工智能
阿瑞IT3 小时前
AI Agent 在甘特计划变更场景中的动态响应工程实践
人工智能
用户938515635073 小时前
工具调用背后:LLM 如何突破“缸中大脑”,操控真实世界?
javascript·人工智能
Goodbye3 小时前
从函数到智能:LLM Tool Use 深度解析
javascript·人工智能