{"resolved":true,"match_type":"uuid","source_type":"original_book","book_id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title":"人工智能与大数据技术导论","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787302517986","requested_by":"printed_page","book":{"source_type":"original_book","book_id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","id":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","uuid":"cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title":"人工智能与大数据技术导论","normalized_title":"人工智能与大数据技术导论","author":null,"edition":null,"publisher":null,"year":null,"isbn":"9787302517986","isbns":["9787302517986"],"parsed":true,"ai_readable":true,"document_type":"book","page_count":490,"navigation_url":"https://workshop.closeclaw.top/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","title_url":"https://workshop.closeclaw.top/ai/title/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE%E6%8A%80%E6%9C%AF%E5%AF%BC%E8%AE%BA","fixed_page_url_template":"https://workshop.closeclaw.top/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page/{printed_page}","path_api_url_template":"https://workshop.closeclaw.top/api/ai/book/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page/{printed_page}","read_url":"https://workshop.closeclaw.top/api/ai/read/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71","page_url":"https://workshop.closeclaw.top/api/ai/books/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/page","search_url":"https://workshop.closeclaw.top/api/ai/books/cd4f7678-cd9b-4971-bde0-e9ad46a6cc71/search"},"page":{"printed_page":175,"pdf_page":191,"physical_index":191,"physical_index_base":0,"printed_page_status":"recognized","page_sha256":"efef8831790ec27daeb9c14e64ed2cf755385d9ba13d943fce263da564826fd3"},"chapter":"第6章","content":"6.4 KNN 算法\n\n本节我们来看KNN算法。KNN算法通常用来做分类问题。这个算法的思想是用临近样本的标签值来估计待分类样本的标签值。具体来说，就是选取离待分类样本距离最近的k个样本点，如果这k个样本点大多数属于某一类别，那么该样本属于这个类别。\n\n如图6-19所示，在平面中有两种标签的点—红色三角和蓝色方框。绿色圆圈标记（上面有问号标记）的点为待分类的点。首先我们需要预设k的值。k是我们想考察周围点的个数，假设k=3。离绿色圆圈最近的三个点有两个为红色三角，一个是蓝色方框。根据少数服从多数原则，将待分类的点标记为红色三角。\n\n事实上，这样一来我们就完成了分类任务。是不是很简单？相比前几个小节介绍的分类算法，KNN算法执行起来非常简单，易于理解。而且值得注意的是，KNN算法中没有参数需要估计，这和我们之前介绍的算法有根本的不同，没有参数也就无须进行训练。KNN算法的全部过程都在预测阶段。KNN算法依然属于监督式学习，需要我们告知样本集数据的标签，但不要通过训练进行学习，这表示它在机器学习算法中有一定的特殊性。\n\n6.4.1 超参数k\n\nKNN算法虽然没有参数，但是存在超参数，那就是k。需要注意的是，当我们改变k的值时，目标值可能会发生改变。回到上面的例子，如果我们选择k=5（图中虚线圆圈），那么图5-18中这个待分类的点将被划分为蓝色，这是因为它周围最近的5个点红蓝比例为2:3。可见，KNN的分类结果非常依赖预设值k。k是KNN算法中唯一的超参数。如何选取k的值，是KNN算法中的一门学问。\n\n另外要提到的是，关于“距离”的概念。距离最近要怎么定义？在上面这个例子中，我们使用的是平面中两点的几何距离。这个几何距离通常被称为“欧几里得距离（EuclideanDistance)”，这个概念可以被推广到高维空间中。所谓“欧几里得距离”，就是将两个点各个分量相减的平方和开根号，即：\n\n第6章 机器学习算法\n\n175","previous_page":174,"next_page":176}