概述
支持向量机(Support Vector Machines,SVM)是一种分类算法。本章内容会对 SVM 的基本概念及原理进行阐述,对其数学原理进行推导。最后将通过 Python 实现一个简单的 SVM 分类器,来帮助理解 SVM 的具体实现过程和原理。
由于对 SVM 的数学推导过程十分复杂,涉及到大量的高等数学和线性代数方面的公式,因此本文尽量使用简单的描述来推导计算过程。
计算机是如何计算指数函数 $e^{x}$ 的呢?
本文并不是为了探究各种编程语言中数学计算函数库对 $e^x$ 函数的具体实现,而是提供一种计算思路,来帮助理解 $e^x$ 函数的计算原理,并使用 C 语言来实现这个算法。
计算机是如何计算对数函数 $\log_a{x}$ 的呢?
本文并不是为了探究各种编程语言中数学计算函数库对 $\log$ 函数的具体实现,而是提供一种计算思路,来帮助理解 $\log$ 函数的计算原理,并使用 C 语言来实现这个算法。
上一章中,实现了一个简单的字符设备驱动程序,并对其进行了 open 和 close 的操作。对于一个字符设备驱动程序而言,打开和关闭仅仅是最基础的操作,设备驱动程序还能够通过其他的操作,来实现更多的功能。
本章内容,将实现一个具备更多功能的设备驱动程序,来了解字符设备驱动程序的功能。
上一章内容中,我们简单梳理了字符设备驱动程序的相关知识以及编写一个字符设备驱动程序的大致流程,本章内容中,将根据上一章中讲述的内容,完成一个字符设备驱动程序的编写及用户程序对字符设备的访问。
Linux 系统将设备分为三类:字符设备、块设备、网络设备。
三种设备的定义分别如下:
对于字符设备和块设备来说,在 /dev 目录下都有对应的设备文件,Linux 用户程序通过设备文件或叫做设备节点来使用驱动程序操作字符设备和块设备。
本章内容主要介绍编写设备文件驱动程序所涉及到的相关知识和数据结构,下一张内容会实现一个字符驱动程序,并对其进行访问。
在上一章中,我们通过一个简单的 helloworld 例子,来认识了内核模块程序的编写、编译、装载、卸载的过程,并对代码及编译过程进行了详细的阐述。
但是,很多额外的细节知识并没有在上一章中进行讲述。本章的内容就是在上一章的基础上,展开叙述一些进阶知识。