├── .gitattributes ├── .ipynb_checkpoints └── 统计学习方法-checkpoint.ipynb ├── README.md └── 统计学习方法.ipynb /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.ipynb_checkpoints/统计学习方法-checkpoint.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "attachments": { 5 | "image.png": { 6 | "image/png": "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38f0HzkHnHvqqaceo0N99NFH6eWXX05PPPFE+vDDD/OxtttuuzTuuLUfSee88MIL83bbbLNNGn/88Uc5/5tvvpkefvjhnA9hk002GeW3+CcQCAQCgXZDoHZL2G61iPJ2PAKPPvpommqqqdL000+f66qzvvPOO5NOfrnlluut/4MPPphuvvnm9PnPfz5NOeWUvd9XfkAGHnvssfTuu+9Wft3n548//jjv895776Vddtml7vHrHUh533nnnfTPf/4zIRPPPvtseuaZZ9Jf//rXNNlkk6WtttqqJjn5y1/+kut6/PHHp3nnnTd985vfHO0UyvbKK6+ku+66KxOzrbfeerRt4otAIBAIBNoFgSAn7XKluryc1113XZp22mnTyiuvnKabbro09thjp7///e/pmGOOyeTkz3/+c/rsZz+bVZOenp60yCKLpDnnnDOTCUTl7bffzvuBUUf+0EMPpeeeey6jiix4TT755A1RLurEJJNMkr71rW+Ntu1rr72W3nrrrfSf//wnKxiISKVRPqyRQX0Za6yx0mc+85lMRmaZZZY022yz5TpVbl8+v/HGG1k1kcJ6r7326iUw0lo7l+NMMMEEadJJJ80E5Sc/+Un6+te/nhxXve6///7073//O80xxxxppplmKoeN90BgxBBAuCmH7l/3ZHn2PBueVYqi7z0XnhUq6R/+8Ic08cQTp69+9atpmmmm6VfZP/3006SNYFTP8cYbb5T9PR+e7/fffz/NP//8o/wW/4wMAkFORgb3OGs/EaBycNkgJRtssEFWGpCPI488Mv3xj3/MigQVhcKy8MILp9VWWy197nOfy2RBg0ZVQGqYxknn/eUvfzn/r1HSUFIldPL1jMrhOF/4whfSF7/4xdE2e/zxx7PC4QdlefLJJ/M2GjwNK1I0++yzZ3cTojDzzDPn+qywwgrpS1/60mjH84XGG6G57777MtlYffXVc101pjBxTPX729/+lp5++un0pz/9KVF2Lr/88rThhhtmAnbCCSdkNYUyAwNkJiwQGEkEPBunnXZaLsIOO+wwCjmhKB588MFpmWWWSYceemgm41dffXU6+eSTM2HZeOON88Cj+jn0nHgeapnn6Iorrsg/rbjiivk5QISQFKqlZ9QASBtz1lln1TpEfDfMCAQ5GWbA43T9Q0ADIg4Dcfjd736XbrvttrTAAgukueeeu3eE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nIFAIBAIDAECzzzzTNp5553zDBwJ6KSdl4Je7pLK1YOH4NRxyECgaxEI5aRrL31UPBAIBPpCQJ6SCy+8MOdo2X777fP04KWWWqqv3eL3QCAQGEMEgpyMIYCxeyAQCHQOAj09Pb1xJVdddVV68skn8xpC3DdrrbVW+tznPtfxyeQ652pGTdoZgSAn7Xz1ouyBQCAwaAhIy//II48ka+DI8DrxxBOn9dZbL6288so54HWaaaYZtHPFgQKBQKAxAkFOGuMTvwYCgUCHI2CRvqeffjpdcskl6bHHHksvv/xyWnrppdPyyy+f5pprrvTlRV6VhwAAIABJREFUL385r4nT4TBE9QKBlkIgyElLXY4oTCAQCAwlAu+9915eUZt7Zvzxx08vvfRSzvAqkdo111yTvvSlL6UddtghB7/ONtts4cIZyosRxw4EGiAQ5KQBOPFTIBAIdBYCVBGkxEKE77zzThJXcv3116e///3vaZFFFkkbbLBB2nTTTTur0imlt956K6+QPPXUU3dc3aJCnYlAkJPOvK5Rq0AgEKiBABJideS77747p57//e9/nxcllN0VMZl//vlr7NX+X1kp+atf/WoO7o2Vvtv/enZDDYKcdMNVjjoGAoFA+vjjj3MyNa6cY445Jsn4utJKK6X1118/dfL0YC4sqyXfcccd6etf/3omKJSjTl8puhNuecn//vKXv+QlE8Yaa6yuumZBTjrhDo46BAKBQF0ETA9GTAS9ctlQT8Yee+y0zz775PiSTp+Fs+GGGyaJ5NSfYjTFFFNkF88ss8xSF7P4YeQRcN++8sor6cwzz0y/+MUv0lRTTZVmmGGGhKR0g0WG2G64ylHHQKCLEXjjjTfylGAxJTrmvffeO1177bVZMekGWCxMuMUWW+RO7Vvf+lZac801u6HabV/Ht99+O916663p5ptvzsRk2223TXPOOWfXkJOxetCzsEAgEAgEOgyB559/Pv32t79Np512Wl6kb4kllsip5+ebb748NdgIlILi1ekmhwtCduyxx+bZSdNOO22eKn3qqad2etXbsn6PP/54XmDyyiuvTB9++GEml3vssUdXLZcQ5KQtb90odCAQCNRD4A9/+EO67bbb8iwcSdXEXKy22mppu+22S1/4whdyQGw3EJJqfP7617+m++67L5177rk5/uQf//hHzueyxhprpLXXXjtNNtlk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5UNg++23r8R00003XbTS4447rpxwwgll2223XbRsCgSBIBAEugiEnHTRyOd5EbBt/eMf//iyPh78d+GFF5ZTTjmlvuZtUClFuZNOOqmcf/75CxXLsWVEwFOpjz322HLeeectWisie8EFF1Qys+WWWy5aPgWCQBAIAg2BVatXr17d/sh7EJgmBC666KJyxhlnlLPOOmuamj3VbT355JOronXOOeeM3I9dd9217L777iOXT8EgEASCQMhJ7oEgEASCQBAIAkGgVwhktU6vhiONCQJBIAgEgSAQBEJOcg8EgSAQBIJAEAgCvUIg5KRXw5HGBIEgEASCQBAIAiEnuQeCQBAIAkEgCASBXiEQctKr4UhjgkAQCAJBIAgEgZCT3ANBIAgEgSAQBIJArxAIOenVcKQxQSAIBIEgEASCQMhJ7oEgEASCQBAIAkGgVwiEnPRqONKYIBAEgkAQCAJBIOQk90AQCAJBIAgEgSDQKwRCTno1HGlMEAgCQSAIBIEgEHKSe2AqEfC8yjyzciqHLo0OAkEgCCyKwMaLlkiBINAzBP7xj3+U3/3ud+Vf//pXuctd7tKz1qU5QSAIBIEgsK4IRDlZVwRz/lgIfPOb3yzHH398+fe//z3W+VtvvXXZddddxzo3JwWBIBAEgkC/EVi1Otp4v0doRlt3y1veslx88cXlnve8Z7nMZS5TzjjjjPLPf/5zrrebbrppefrTnz73d/fDD37wg3LUUUeVpz3taeW+971v99CK+3zWWWeVz372s+XPf/5zeehDH1pufOMbl//973/l6KOPLj/96U/LHe5wh7LjjjuWzTfffGRsfvOb35QvfelL5eSTTy73vve9y+677z7yufMVPO+88wrF62pXu9pckT/+8Y913K9xjWuUK1/5ynPfX3jhheX0008vvo8FgSCwMhFIWGdljvsG77WwzDWvec1yi1vcomy00UblUpe6VPnTn/5Uvv/975ctttii3P72ty/vete7hrbzlFNOKZzyCSecsCLJydvf/vZy97vfvVzvetcrHDkcTjzxxHKve92r4oX0HXnkkeXjH/94QTSe9axnlRvc4AZDsRz25V//+tdyzDHHlF/+8pdl++23Lze72c3mim277bYFcWz297//vfzhD38olCx29atfvR2aexd+M65f+MIXyu1ud7vy6Ec/uh77xje+UdvnHrjjHe9Y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" 7 | } 8 | }, 9 | "cell_type": "markdown", 10 | "metadata": {}, 11 | "source": [ 12 | "## 统计学习方法\n", 13 | "\n", 14 | "第一章 统计学习方法概论\n", 15 | "\n", 16 | "* 统计学习\n", 17 | "\n", 18 | "统计学习(statistical learning)是关于计算机基于概率论模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计学习(statistical machine learning)\n", 19 | "\n", 20 | "1. 统计学习的重要特点是:\n", 21 | ">(1)统计学习以计算机及网络为平台,是建立在计算机及网络之上的; \n", 22 | "(2)统计学习以数据为研究对象,是数据驱动的学科; \n", 23 | "(3)统计学习的目的是对数据进行预测和分析; \n", 24 | "(4)统计学习以方法为中心,统计学习方法构建模型并应用模型进行预测和分析; \n", 25 | "(5)统计学习是概率论、统计学、信息论、计算理论、最优化理论及计算机科学等多个领域的交叉学科,并且在发展中逐步形成独自的理论体系与方法论。 \n", 26 | "\n", 27 | "\n", 28 | "2. 统计学习的对象\n", 29 | "\n", 30 | "统计学习的对象是数据(data)。它从数据出发,提取数据特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去。作为统计学习的对象,数据是多样的,包括存在于计算机及网络上的各种数据。文字、图像、视频、音频数据以及它们的组合、\n", 31 | "\n", 32 | "3. 统计学习的目的\n", 33 | "\n", 34 | "4. 统计学习的方法\n", 35 | "\n", 36 | "5. 统计学习的研究\n", 37 | "\n", 38 | "6. 统计学习的重要性\n", 39 | "\n", 40 | "\n", 41 | "统计学习学科在科学技术中的重要性主要体现在以下几个方面:\n", 42 | "\n", 43 | "(1)统计学习是处理海量数据的有效方法。我们处于一个信息爆炸的时代,海量数据的处理与利用是人们必然的需求。现实中的数据不但规模大,而且常常具有不确定性。统计学习往往是处理这类数据最强有力的工具。\n", 44 | "\n", 45 | "(2)统计学习是计算机智能化的有效手段。\n", 46 | "\n", 47 | "(3)统计学习是计算机科学发展的一个重要组成部分。可以认为计算机科学有三维组成:系统、计算、信息、统计学习主要属于信息这一维,并在其中起着核心作用。\n", 48 | "\n", 49 | "\n", 50 | "## 1.2 监督学习\n", 51 | "\n", 52 | "**统计学习包括监督学习、非监督学习、半监督学习及强化学习。本书主要讨论监督学习问题**\n", 53 | "\n", 54 | "监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测(注意,这里的输入、输出是指某个系统的输入与输出,与学习的输入与输出不同)。计算机的基本操作就是给定一个输入产生一个输出,所以监督学习是极其重要的统计学习分支,也是统计学习内容最丰富。应用最广泛的部分。\n", 55 | "\n", 56 | "\n", 57 | "### 1.2.1 基本概念\n", 58 | "\n", 59 | "1. 输入空间、特征空间和输出空间 \n", 60 | "\n", 61 | "在监督学习中,将输入和输出所有可能取值的集合分别称为输入空间(input space)与输出空间(outer space)。输入与输出空间可以是有限元素的集合,也可以是整个欧氏空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间;但通常输出空间远远小于输入空间。 \n", 62 | "\n", 63 | "\n", 64 | "每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示。这时,所有特征向量存在的空间称为特征空间(feature space)。特征空间的每一维对应于一个特征。有时假设输入空间与特征空间为相同的空间,对它们不予区分;有时假设输入空间与特征空间为不同的空间,将实例从输入空间映射到特征空间。模型实际上都是定义在特征空间上的。\n", 65 | "\n", 66 | "在监督学习过程中,将输入与输出看作是定义在输入(特征)空间与输出空间上的随机变量的取值。输入、输出变量用大写字母表示,习惯上输入变量写作X,输出变量的写作Y。输入、输出变量所取的值用小写字母表示,输入变量的取值写作x,输出变量的取值写作y,变量可以是标量或向量,都用相同类型字母表示。除特别声明外,本书中向量均为列向量,输入实例x的特征向量记作\n", 67 | "$$\n", 68 | "x=(x^{(1)},x^{(2)},\\dots,x^{(t)},\\dots,x^{(n)})^{T}\n", 69 | "$$\n", 70 | "\n", 71 | "$x^{(t)}$表示x的第i个特征。注意,$x^{(i)}$与$x_i$不同,本书通常用$x_i$表示多个输入变量中的第i个,即 \n", 72 | "$$\n", 73 | "x_i=(x_{i}^{(1)},x_{i}^{(2)},\\dots,x_{i}^{(t)},\\dots,x_{i}^{(n)})^{T}\n", 74 | "$$\n", 75 | "\n", 76 | "监督学习从训练数据(training data)集合中学习模型,对测试数据(test data)进行预测。训练数据由输入(或特征向量)与输出对组成,训练集通常表示为\n", 77 | "$$\n", 78 | "T=\\{(x_1,y_1),(x_2,y_2),\\dots,(x_N,y_N)\\}\n", 79 | "$$\n", 80 | "测试数据也由相应的输入与输出对组成。输入与输出对又称为样本(sample)或样本点。\n", 81 | "\n", 82 | "输入变量X和输出变量Y有不同的类型,可以是连续的,也可以是离散的。人们根据输入。输出变量的不同类型,对预测任务给与不同名称:输入变量与输出变量均为连续变量的预测问题称为回归问题;输出变量为有限个离散变量的预测问题称为分类问题;输入变量与输出变量均为变量序列的预测问题称为标注问题。\n", 83 | "\n", 84 | "2. 联合概率分布 \n", 85 | "\n", 86 | "监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。P(X,Y)表示分布函数,或分布密度函数。注意,在学习过程中,假定这一联合概率分布存在,但对学习系统来说,联合概率分布的具体定义是未知的。训练诗句与测试数据被看做是联合概率分布P(X,Y)独立同分布产生的。统计学习假设数据存在一定的统计规律,X和Y具有联合概率分布的假设就是监督学习关于数据的基本假设。\n", 87 | "\n", 88 | "3. 假设空间 \n", 89 | "\n", 90 | "监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的就在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space),假设空间的确定意味着学习范围的确定。\n", 91 | "\n", 92 | "监督学习的模型可以是概率模型或非概率模型,有条件概率分布P(Y|X)或决策函数(decision function)Y=f(X)表示,随具体学习方法而定。对具体的输入进行相应的输出预测,写作P(y|x)或y=f(x)。\n", 93 | "\n", 94 | "### 1.2.2 问题的形式化 \n", 95 | "\n", 96 | "监督学习利用训练数据集学习一个模型,再用模型对测试样本进行夜车(predicition)\n", 97 | "\n", 98 | "![image.png](attachment:image.png)\n", 99 | "\n", 100 | "首先给定一个训练数据集\n", 101 | "$$\n", 102 | "T=\\{(x_1,y_1),(x_2,y_2),\\dots,(x_N,y_N)\\}\n", 103 | "$$\n", 104 | "其中\n", 105 | "\n", 106 | "\n", 107 | "## 1.5 正则化与交叉验证\n", 108 | "\n", 109 | "### 1.5.1 正则化\n", 110 | "\n", 111 | "模型选择的典型方法是正则化(regularization)。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大,比如正则化项可以是模型参数向量的范数。\n", 112 | "\n", 113 | "正则化一般具有如下形式: \n", 114 | "\n", 115 | "$$\n", 116 | "min_{f\\in\\mathcal{F}}{\\frac{1}{N}\\sum_{i=1}^{N}L(y_i,f(x_i))+\\lambda{J(f)}}\n", 117 | "$$\n", 118 | "\n", 119 | "其中,第1项是经验风险,第2项是正则化项,$\\lambda\\geq{0}$为调整两者之间关系的系数。\n", 120 | "\n", 121 | "正则化可以取不同的形式。例如,回归问题中,损失函数是平方损失,正则化项可以是参数向量的$L_2$范数:\n", 122 | "\n", 123 | "$$\n", 124 | "L(w)=\\frac{1}{N}\\sum_{i=1}^{N}(f(x_i:w)-y_i)^2+\\frac{\\lambda}{2}||w||^2\n", 125 | "$$\n", 126 | "\n", 127 | "这里,$||w||$表示参数向量$w$的$L_2$范数。\n", 128 | "\n", 129 | "正则化项也可以是参数向量$L_1$范数:\n", 130 | "$$\n", 131 | "L(w)=\\frac{1}{N}\\sum_{i=1}^{N}(f(x_i:w)-y_i)^2+{\\lambda}||w||\n", 132 | "$$\n", 133 | "\n", 134 | "这里,$||w||$表示参数向量$w$的$L_1$范数。\n", 135 | "\n", 136 | "第1项的经验风险较小的模型可能比较复杂(有多个非零参数),这时第2项的模型复杂度会较大。正则化的作用是选择经验风险与模型复杂度同时较小的模型。\n", 137 | "\n", 138 | "正则化符合奥卡姆剃刀(Occam's razor)原理。奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释一直数据并且十分简单才是最好的模型,也就是应该选择的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率,可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。\n", 139 | "\n", 140 | "### 交叉验证\n", 141 | "\n", 142 | "另一种常用的模型选择方法是交叉验证(cross validation)。\n", 143 | "\n", 144 | "如果给定的样本数据充足,进行模型选择的一种简单的方法是随机地将数据集切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(test set)。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。由于验证集有足够多的数据,用它对模型进行选择也是最有效的。\n", 145 | "\n", 146 | "但是,在许多实际应用中数据是不充分的,为了选择好的模型,可以采用交叉验证方法。交叉验证的基本思想是重复地使用数据:把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复进行训练、测试以及模型选择。\n", 147 | "\n", 148 | "* 1. 简单交叉验证\n", 149 | "\n", 150 | "简单交叉验证方法是:首先随机地将已给的数据分为两部分,一部分作为训练集,另一部分作为测试集(例如,70%的数据为训练集,30%的数据为测试集);然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。 \n", 151 | "\n", 152 | "* 2. S折交叉验证\n", 153 | "\n", 154 | "应用最多的是S折交叉验证(S-fold cross validation),方法如下:首先随机地将已给的数据切分为S个互不相交的相同子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型,将这一过程对可能的S种选择重复进行;最后选出s次评测中平均测试误差最小的模型。 \n", 155 | "\n", 156 | "3. 留一交叉验证\n", 157 | "\n", 158 | "S折交叉验证的特殊情形是S=N,称为留一交叉验证(leave-one-out cross validation),往往在数据缺乏的情况下使用。这里,N是给定数据集的容量。 \n", 159 | "\n", 160 | "## 1.6 泛化能力\n", 161 | "\n", 162 | "### 1.6 泛化误差\n", 163 | "\n", 164 | "学习方法的泛化能力(generalization ability)是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力。但这种评价是依赖于测试数据集的。因为测试数据集是有限的,很可能由此得到的评价结果是不可靠的,统计学习理论试图从理论上对学习方法的泛化能力进行分析。 \n", 165 | "\n", 166 | "首先给出泛化误差的定义,如果学到的模型是$\\hat{f}$,那么用这个模型对未知数据预测的误差即为泛化误差(generalization error) \n", 167 | "\n", 168 | "$$\n", 169 | "R_{exp}{\\hat{(f)}}=E_p[L(Y,\\hat{f}(X))]=\\int_{x\\times{y}}L(y,\\hat{f}(x))P(x,y)dxdy\n", 170 | "$$\n", 171 | "\n", 172 | "泛化误差反映了学习方法的泛化能力,如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差,那么这种方法就更有效,事实上,泛化误差就是所学习到的模型的期望风险。 \n", 173 | "\n", 174 | "### 1.6.2 泛化误差上界 \n", 175 | "\n", 176 | "学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称为泛化误差上界(generalization error bound),具体来说,就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。泛化误差上界通常具有以下性质:它是样本容量的函数,当样本容量增加时,泛化上界趋于0;它是假设空间容量(capacity)的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大。\n", 177 | "\n", 178 | "下面给出一个简单的泛化误差上界的例子:二分类问题的泛化误差上界。\n", 179 | "\n", 180 | "考虑二分类问题,已知训练集$T=\\{(x_1,y_1),(x_2,y_2),\\dots,(x_N,y_N)\\}$,它是从联合概率分布$P(X,Y)$独立同分布的,$X\\in{R^{n}}$,$Y\\in\\{-1,+1\\}$,假设空间是函数的有限集合$\\mathcal{F}=\\{f_1,f_2,\\dots,f_d\\}$,d是函数个数,设f是从$\\mathcal{F}$中选取的函数。损失函数是0-1损失,关于$f$的期望风险和经验风险分别是\n", 181 | "\n", 182 | "\n", 183 | "\n", 184 | "\n", 185 | "\n" 186 | ] 187 | }, 188 | { 189 | "cell_type": "markdown", 190 | "metadata": {}, 191 | "source": [ 192 | "# 第2章 感知机\n", 193 | "\n", 194 | "感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在于求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法具有简单而易于实现的特点,分为原始形式和对偶形式。感知机预测是用学习得到的感知机模型对新的输入实例进行分类\n", 195 | "\n", 196 | "## 2.1 感知机模型\n", 197 | "\n", 198 | "**定义**:假设输入空间(特征空间)是$X\\in{R}^n$,输出空间是$y=\\{+1,-1\\}$。输入$x\\in{X}$表示实例的特征向量,对应于输入空间(特征空间)的点;输出$y\\in{Y}$表示实例的类别,由输入空间到输出空间的如下函数\n", 199 | "$$\n", 200 | "f(x)=sign(w·x+b)\n", 201 | "$$\n", 202 | "称为感知机。其中,$w$和$b$为感知机模型参数,$w\\in{R}^n$叫做权值(weight)或权值向量(weight vector),$b\\in{R}$叫做偏置(bias),$w·x$表示$w$和$x$的内积。sign是符号函数,即\n", 203 | "\n", 204 | "\n", 205 | "$$\n", 206 | "sign(x)=\n", 207 | "$$\n", 208 | "\n", 209 | "## 2.2 感知机学习策略\n", 210 | "\n", 211 | "### 数据集的线性可分性\n", 212 | "\n", 213 | "**定义 2.2 (数据集的线性可分性)**\n", 214 | "\n" 215 | ] 216 | }, 217 | { 218 | "cell_type": "markdown", 219 | "metadata": {}, 220 | "source": [ 221 | "# 第3章 k近邻法\n", 222 | "\n", 223 | "k近邻法(k-nearest neighbor k-NN)是一种基本分类与回归方法。本书只讨论分类问题中k近邻算法。k近邻法的输入为实例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类。k近邻假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。因此,k近邻不具有显式的学习过程。k近邻法实际上利用训练集对特征向量空间进行划分,并作为其分类的“模型”。k值得选择、距离度量及分类决策规则是k近邻法三个基本要素。\n", 224 | "\n", 225 | "## k近邻算法\n", 226 | "\n", 227 | "### 3.2.1 模型\n", 228 | "\n", 229 | "k近邻算法中,当训练集、距离度量(如欧氏距离)、k值及分类决策规则(如多数表决确定后)\n", 230 | "\n", 231 | "## 3.3 k近邻法的实现:kd树\n", 232 | "\n", 233 | "### 3.3.1 构造kd树\n", 234 | "\n", 235 | "kd树是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。kd树是二叉树,表示k维空间的一个画风(partition),构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列k维超矩形区域。kd树的每个节点对应于一个k维超矩形区域。\n", 236 | "\n", 237 | "### 3.3.2 搜索kd树\n", 238 | "\n", 239 | "利用kd树可以省去对大部分数据点的搜索,从而减少搜索的计算量。这里以最近邻为例加以叙述,同样的方法可以应用到k近邻。\n", 240 | "\n", 241 | "给定一个目标点,搜索其最近邻。首先找到包含目标点的叶节点; \n" 242 | ] 243 | }, 244 | { 245 | "cell_type": "markdown", 246 | "metadata": {}, 247 | "source": [ 248 | "# 第4章 朴素贝叶斯\n", 249 | "\n" 250 | ] 251 | } 252 | ], 253 | "metadata": { 254 | "kernelspec": { 255 | "display_name": "Python 3", 256 | "language": "python", 257 | "name": "python3" 258 | }, 259 | "language_info": { 260 | "codemirror_mode": { 261 | "name": "ipython", 262 | "version": 3 263 | }, 264 | "file_extension": ".py", 265 | "mimetype": "text/x-python", 266 | "name": "python", 267 | "nbconvert_exporter": "python", 268 | "pygments_lexer": "ipython3", 269 | "version": "3.6.4" 270 | } 271 | }, 272 | "nbformat": 4, 273 | "nbformat_minor": 2 274 | } 275 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # statistical_learning_method 2 | -------------------------------------------------------------------------------- /统计学习方法.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "attachments": { 5 | "image.png": { 6 | "image/png": "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38f0HzkHnHvqqaceo0N99NFH6eWXX05PPPFE+vDDD/OxtttuuzTuuLUfSee88MIL83bbbLNNGn/88Uc5/5tvvpkefvjhnA9hk002GeW3+CcQCAQCgXZDoHZL2G61iPJ2PAKPPvpommqqqdL000+f66qzvvPOO5NOfrnlluut/4MPPphuvvnm9PnPfz5NOeWUvd9XfkAGHnvssfTuu+9Wft3n548//jjv895776Vddtml7vHrHUh533nnnfTPf/4zIRPPPvtseuaZZ9Jf//rXNNlkk6WtttqqJjn5y1/+kut6/PHHp3nnnTd985vfHO0UyvbKK6+ku+66KxOzrbfeerRt4otAIBAIBNoFgSAn7XKluryc1113XZp22mnTyiuvnKabbro09thjp7///e/pmGOOyeTkz3/+c/rsZz+bVZOenp60yCKLpDnnnDOTCUTl7bffzvuBUUf+0EMPpeeeey6jiix4TT755A1RLurEJJNMkr71rW+Ntu1rr72W3nrrrfSf//wnKxiISKVRPqyRQX0Za6yx0mc+85lMRmaZZZY022yz5TpVbl8+v/HGG1k1kcJ6r7326iUw0lo7l+NMMMEEadJJJ80E5Sc/+Un6+te/nhxXve6///7073//O80xxxxppplmKoeN90BgxBBAuCmH7l/3ZHn2PBueVYqi7z0XnhUq6R/+8Ic08cQTp69+9atpmmmm6VfZP/3006SNYFTP8cYbb5T9PR+e7/fffz/NP//8o/wW/4wMAkFORgb3OGs/EaBycNkgJRtssEFWGpCPI488Mv3xj3/MigQVhcKy8MILp9VWWy197nOfy2RBg0ZVQGqYxknn/eUvfzn/r1HSUFIldPL1jMrhOF/4whfSF7/4xdE2e/zxx7PC4QdlefLJJ/M2GjwNK1I0++yzZ3cTojDzzDPn+qywwgrpS1/60mjH84XGG6G57777MtlYffXVc101pjBxTPX729/+lp5++un0pz/9KVF2Lr/88rThhhtmAnbCCSdkNYUyAwNkJiwQGEkEPBunnXZaLsIOO+wwCjmhKB588MFpmWWWSYceemgm41dffXU6+eSTM2HZeOON88Cj+jn0nHgeapnn6Iorrsg/rbjiivk5QISQFKqlZ9QASBtz1lln1TpEfDfMCAQ5GWbA43T9Q0ADIg4Dcfjd736XbrvttrTAAgukueeeu3eEc8opp6R99903HXHEEVlN4fqhliAnE044YVZUFltssVFOvPjii+f/dfIUCSqKGBWEp54ZeTk210ktQ3qQD6RHrAsFh3JBMdl///0TpePAAw9MG220USYYDzzwQCZF3FX1zCiSC0rjuuuuuyaNtPL6njKintxCGmbEjHJDQeK6uvXWW9NNN92UVSSkxHm4wyhQYYHASCKASF911VXpa1/7WiYUYsTcx0i9590g4dJLL03isBAIAxAEHCFHUiyCt+WWW6Yf/vCHvSoIUuG58MxpN8Rl2dcz7rtLLrkkPxuOteSSS+ZnjwKD8Hs2DQAQlLDWQCDISWtchyEvhY6SkUjbxZQZaSDvakx05kY5SIfOmoryla98JSEeL774Ym581l9//bTuuuvmTtsITCNIabFtLTOC02hp9CgNFI2BYrTQQgslL6bsGlzkYMcdd0xk5bXXXjsTF2XnAjKSu/322zMpWmmllUYrnmMYyR133HG53uutt15WfDSuM844Y9p0000zLrZDTs4888zcwCJZyNc3vvGNtO22245Wd9sPtI6jFTK+CAQGgID7k4JnkCE2jJv12GOPTVdeeWV+djwv7tF55pknH93/7luu0vIse34233zzPCCwke+9uDGpnAYa9kc6KKMGDssuu2x+Zgxazj///Ny2rLHGGvkcyIznKqw1EAhy0hrXYchL8dRTT6Vxxhknd75DfrJBOIHGSAOz1FJLZTWk8pCHHXZY5b+ZfJQvfvaznyWvYnzZt9xySzrxxBPLV6O8Ux4QHB0+t4dRmZHUmBg3EVKBHP3oRz/Kh9pvv/3yCNFIsMS6UFo0jPVcOhrZyy67LO9nG2SEe4j94he/SPPNN1/+bHbSOeecky666KIshWu0ERoKCVmcUlN89BQVr2iEM3TxpwUQQNQRAyrIBRdckLRVW2yxRb6Xf/nLX2Yl5de//nXinkTi99577+xarS469ZQZEFAYkXSB4RREM9y4XYsZ6Hj+xK9QFcW0ICyDPbuvnC/e+49AkJP+Y9Z2e5BAdVZG6aWTmmiiibLCUOIuBJBSJFrByLAaKCRBA2KWSokX6at89kNIuDh07BofykU900lvttlmeVSl8RJMyl0iHqR6Wi91xXEbGbeJhhEZoZAUEwNi1IcYMO6hNddcMwfWOl8xLhvXSEPJnWPUJ4ZEA1tsn332yXE1riHjZiKRL7jggumoo47K5RawS9r+zW9+k+NQkCLuHsG1ZcZTOV68BwLDgYAgWKSAGQx4zrkhf/CDH2RXpXuU+1P8x9JLL50HJkUloYCITXFPc+1SRQo5ry77vffemwNqkZNqQ+4RfQMWpN4zE9aaCLQdOdG4u3kH0zTypdMezOO2yrH++9//ZvWBtGmUwqgolAkdFtNB6hCZEbeAUa6U6o7MPvyzQ2n8zjplZMAIaokllsjxEjp3fud6ZtSlvIJVNTwCYzVoCEo9g4N6qz8fNlXm6KOPTt/5zndyoKn7gnuGCTa9/vrrc3nqHc9MHm4o7h2StaA95NB9a18EkLtFY8vHjkD5rigZrhX5momt4cpxXmRJTA0zGhQ/wmXFL4/4OIdz+d9Uasb/joyce+65SbnkP1G2ekGDeaf40xIIGMlTwHTgq6yySibcOupyn7REIftZCPe1tlsgLJLg/udWpZIK6vYb1+R5552Xnx/k3L3PzMzzHPrOM+JZrSQnSH15bmDHzSt4XZvnOXAO3x1wwAE5zgU5qhw89LMqsfkwINB25ERQ5Nlnn907Ah1TjDwURuUa9k41asI999yTH8bKB7KSZOjcyihFZy0nh1iM6ml1XBVDHVCJLMpdQiEwQtJ5UwcoP1wmtcz3Gjydr2tJ/p1hhhlyR1wIWK39yndTTDFFVpI0YAicc4pvQYYkN9O56ygoI42M2gIzjaBRHiwF7PKpIzpmCnBVOTbMjfJ23nnnLEEffvjhGdsym8bUYFOnlQGJUQ/KDiUFCYOJl+M4lwYcYfG7GUAMwTRKVAejRKRJHdq5k2uEf6f8JviaW++RRx7J1889gUhTA6iJ4jFc48p2y/3RKLh6pLHxXIs1oWxy4XhmtUEGEIg40sEdqu7+FwRfae5rJMR9bopxpXm+7rjjjhxQ67OBDPcOZQY58exycRpcIeeO7zhhrYtA25ETwVNcEZWd7JjAi23rvDs5StvDSY1oZJW/e2jtYwSicaw0v+lYh9L4nwWvkXmZyH2NMCWkXoNi6qE6aLi9qBZIVLMqgXNSJxAFwaVF6XCfIQnIgAavLzMi4x6yv8aSIYalbBrka665Jv9vBoGRHYwljxPYy5VV3Enqoe7uT8RLsK7RomfAftQeQbzK53eN+aqrrpqVIjghIjCAneuJYOng1HW4DcFyPymHeoU1RoBK4Boa/XsxhMR94nr7jLyImWKIietdK/9O3qAF/pg5Y8Dgxc2MSHtO3OPu5aKKqjvl08Cx0uDh5T6uVrq1F9pyJITi6rmda6658kDAgArpMeDxsr9nzEAkrHURaDtyotMxyq03gu4v1B4ED38JUuzv/u2wvdEDN0mzDyO3iI7aSMdDX2m///3v8/eV3w3FZyoOFaSY6+5VTMfuulE5kAENkY5b46PMGrx6gablGLXeyb8IBrKqsUQYnBcevu/LNISUEpiToBmVAqY6Zo2k+1fdkGwv5yBli60xstR4MvemGBdlQYyUQzyLhtn+VBGxQrajnKh3qb8sskao9hF0qy5IjQYfQRluQ87URV6aICd9o689KqSkbK3zpXoV9Q5BLYacSFxWOnjfu/autePo/FvBPF/Kj5T4rLxm6FCGPAuUFPdycedUl5krqDwflb9xk3ox2CFwXD9cwuK1uJL8X6zEvpT/4731EGg7cqLDJG3WCnZqPXhbo0RiEEilleTEyKFI+xoFbozSaRmhG4UZlYk9qTTxGKTVoTYNl9GTRrW4myrPyT+t077xxhtzeb773e/mWSk6ZGaEhUwgCUhLrQ5RgJ5GUoOn80d0BNshcvIvCFjlHqp0Y3HTNIph0bgiTmTnQmgcQ2PJVaYxNiNgnXXWyYRFp02Kdz2KSkW+Rq6MALmyxJEYCfqOqqOcOh4dkuO6Tn7zv+MgIUiQWAX7GalWmm2H25TLNRVjUKtzKeWBHzeVexF+1VZca1wA1CzvyKl7WXwN4ucYpROjGjm3UXqlwcq1pKy5V1rNSj2bLReCqsOt7HS5fdQdKUR6W8HcAwaWiJV70/ONxLtunhPExLX3vCLtlWa/vu5dz4Zr7/lA3MPaF4G2IyftC/XIlVwnzDT2pZPWMOu8mLgG02lLrEP+coT/aKQEespZQg6uNkRLZ49M8FnLJqlR8mI6cfvzP3/ve9/LOUbKMTTk9tdoczVo9IwufQcfxyOPV8rKOjwjPo0oYlHPdJimJMtiyb8twE+2WmRPR8lFQ/FACJVNGbhiBLuKP0FUlMM7hcSLhE8F0sHwlWu0C5HUuSJWOtgi8ZeymfHQiAiU7Ybj3f2m7OrZSNFCMMSVcT3Vwtk14MJyDdVP/SlOMLafGKXS+TkPco2InHHGGaNUE4lFOt0vOrRWM523e7uaVJVyelZdW+TDC77uCfepe5Ahvgy5L/dL/mIE/yAn2iODJZ+1PVxV7l+EzD1MIUI6DZJcS/+7Xq4VQlPPPAfi5NxDnjfu53rEs8QawtEgwL7OPxIuz3r16fbvg5x0wR2ggfaQ63jFKLSLaVzl76hlGhPEQsetQTNTp9o03twc1RKxxmv33XfPMSGUOKMsRK2Qiurj+N+5kIe+DNYCT5EQ6+AgIBpZkjPFiVLDdBhUFOrPDTfckOtpP0SMi4pRULhvJJbz3U477ZRHlogb5UjZvauf91Y2I14KTiNiovyC0+VlqWc6nMoRsc7EtWTVQZKVxyjbVH7Xyp/dE1yEXBTuCfd5ISHK7b5wv7j3qZ7qrsN137lPKg3ZriTalb8N92cEAOly7xbiYNCk/NQvgwp1de+ffvrpeWo8AmqmmXsHofG7Z8CxKgdUZjedeuqpmZB6pisNwfHsITfaBc+kmYAGAgYxcHNu5DasNRAIctIa12FIS6HBF+jZTqbRKQnMapUbWTBK1KA02q7WvuU77g+xGbCptVZO2a4/7xpAJAapIrGT1mVp1bFoMMvIT6eCdBj984fbTvptJKQ0uFQaHXXprDXM6o2MSE4lYLhyOmV/yhnbtgcCVBD3BBKmEy8rUnOHlPuksiYUxFY2Lk9T28V/lDVs5DkRL2XmmXsb6ZInyHfiaLhn5SoSEM+tzI1HleT+8/wUMyMNwTEAq55liMhoJyhSu+22Wya4CArF9OKLL84zojyTQU4KmiP/HuRk5K9BlGCYEeDCErRqNFliVPoqgkZSvAQSodGsZ47HjWDUi3xw6zQy7hsjW26Hgw46KLuDqDiIE9N4aozFzvzqV7/K3xk1y3ViWrJ1ewQpU4jkRKllZHP769AaxcvU2je+GxkEuDsQT+4Ng4tOMOqt5wHJ2n777fP0+FIvLjkkxBIPxXXHfYeQC2r1PLmHKWeI/i677JLdPZK2eX4Y1dKzUamaeMbtbxox4mN6scFCMW0BN6nzcCPaP6w1EAhy0hrXIUrRBAIapxI/I1iWe2agZkRKHm5kiEGJTxF4yw1TPYWxen/5SMRAaCgPOeSQ6p9r/m9ULEuteAyjRqNLRto2qpOqHukxanZc5Eijq8EuErnv65m09kaa1iEJclIPpdb7vhDU1ivZwErEnSLoFTnwLFca0uEe55703FFFBYIbFIiX8ewJUqeAIC+UzmrV0GAAcSkJHMszjvRwBcqPheyJd9F+eLZN6/d8cJ1xNSH5Ya2BQJCT1rgOUYomENBZ8yvrkBETjcxAra8AQQ2kJHBGb8iCoDkNnA6+nl177bU594TFxTSkGmOzZsjNRo382qTjaiPPa7B//vOfZ186/7jzKiOZea211sqStqBPDbOGW6NqJo94A/54QbbVxl1llGo2hJGhOoS1DwJ93aPtU5P/X1JxR4i1d4HgiEIxCgaFSCwJgiDOBDERs0UhRCS4OT2D3Jy283xRKYt5NnzvXoed/5nzcbfa34BEu+H5RkiQdTE6thcgXXm8ctx4HxkEgpyMDO5x1gEgoPHi8tDBy42gkbEY3lCYkZzZMc7FT22miRk4ZtzUMsTJaM7MGzMn+L41eGRicSIC9RCqWgqH4FjHlf0VyTBi1jgjIRpMqgqSokwCJK3eqmEtM3cQoUrS47zcAvI7CPhzLFJ3p43Ea12H+K51EXCfIwrMFHj/uz+pob4vJMLsKd9JMmephz322COripSUMsvQs1BtngGEhwJSYrvKNhQXAbXICYLjefCcVBrVJax1EIir0TrXIkrSBwIaH4FuGhnR/dQFDY3plkZk1Y1NH4dr+LNRmRgOKojkaRrTRi4Rrhm5d8pMAvszhEqQIoJAblbeerNKkBB1VA+NsGNSbTSaYlOMCE1BNrI004FELqiverRn+z333DP/XkaniBOXUVgg0AoIIBCeFe+IdjHThT0ncv5woSImBglUQi5TC1mK/TL7zfOGoDMuTuqLZ6aWUV64Qj1H1MTq3D8GAlw9CJHfB7s9qVWm+K4xAkFOGuMTv1YhwH9bcolU/TRs/5JnBaZ66bDFUwyF8Vl7NWOFjNi2mixoNAXtCbyjhNSLW1GvSkNQfFfwNtJ0rF133TU3pPVkaOQGgQn/eSWa8bkVEfAseIYFdXuOxaJwPyLzEiuKK0E4Nthgg/xODaSgeLdcgzgs5EXmZCTHM1JpiLrniLJZ3Jtm0lEbERLPiv3M/KHYcCUhPeK/EKewkUMgyMnIYd+WZ6ZW1BudjESFNEYlL8hInL8/56xeyKyZfcnXtSRsM2/CAoG+EKCweYnFaCWjRHJ9Uim4Z8VjeYmhoi4i1mJNEAYxWJ6dEgQrON22XEJyByEnTGwXhaTSxHM5l7xIVBMvKgs8xKEgJrYRE+bcBgOCchGmsJFFIMjJyOLfdmcv61+0XcGjwIFAFyIgD5BXI5fkSMDCrUL1EKNV0tdLlFfcNKVMCEkxxMGSEtykXDDcrSXLtYSHYZ2FQJCTzrqeQ14bMQ7DsbbOkFckThAIdAEC1AFxR+I7Ws3KCsrNuk5L+Skh1SSm/BbvnYPAqA66zqlX1CQQCAQCga5HwOww8RU69LBAoJ0QCHLSTlcryhoIBAKBQD8QsDimnCIleWE/do1NA4ERRSDIyYjCHycPBAKBQGBwERDMKXBdKvhtttkmT70d3DPE0QKBoUcgYk6GHuM4QyAQCAQCg4aANWLkzyn5QWRCtf6SFzMTxSrdXDlmvFhPJiwQaDcEgpy02xWL8gYCgUBXI1AS9UntjpBw28jPYfZKMdlWzWCR58NsmLBAoN0QCHLSblcsyhsIBAJdiYBZN9w18nDImCpxmZlzpgqXdWTk7JDddL/99kvLL798XonXd2GBQLshEOSk3a5YlDcQCAS6CgFLGHDlSB7GRSODqncr9VYatcRUf9mIrdDLJBajtLRS4sTKMsfnQKAeAkFO6iET3wcCgUAgMEIIyHQqR4l07tQSq1vfdddddV00Mp8uvPDCycrVVrgu5nsp4hGXsECgnRAIctJOVyvKGggEAl2BgAyoyMgtt9yS7rnnnpx+vV7FLW+AlMiwKqdJWCDQCQgEOemEqxh1CAQCgY5CQH4SK/By5TQyisi6666bF8mbc845G20avwUCbYVA5Dlpq8sVhQ0EAoFuQECOkiWWWKLPqm633XZpzz33TEFM+oQqNmgzBIKctNkFi+IGAoFA5yMgj4lZN1NPPXXdyh5wwAFpt912S7POOmvdbeKHQKBdEQi3TrteuSh3IBAIdCQCjzzySLrhhhvSZZddlt57773R6rjkkksmi+ZZnXfaaadtyUX9Rit0fBEI9BOBICf9BCw2DwQCgUBgqBA4++yz03nnnZeefvrpPMNmiy22yOrJmWeemYmK1Xh/8YtfpJlnnjlngB1nnHGGqihx3EBgRBEIcjKi8MfJA4FAoNsR+Pjjj3NStQsvvDBne51kkknymjjzzjtvmmmmmZI8J3/+85+TGTwHH3xwmn/++VOQkm6/azq//kFOOv8aRw0DgUCgRRGQcp4qYsqwNPOCYNdaa620wgor5PVzFFu+E4Gvkq/J+hoWCHQDAkFOuuEqRx0DgUBgRBF4/fXX05RTTpmkkqeEIBrSzt93333p6KOPTlNMMUXafvvt0yqrrJLmmWeeNNFEE/WWV4ZXcSZhgUA3IRDkpJuudtQ1EAgERgQBZMQqwT09PXmxvjvuuKN3bRyJ0+QqoY6Eu2ZELk+ctAURCHLSghel1Ysktba02tb7GEozepx44omH8hRtc+yxxx471kdpm6s1ekEFsP7lL3/JcSOCXm+77bacVn7NNddMgl5nnHHG0XeKbwKBLkYgyEkXX/yBVF0n+fzzz+fRH1/5UJml3vnfydk+d7t99rOfzXkvWgEHo3vXxL3Ql33yySdJwOenn37a16Yd+/u///3vRCm56KKLcuCrVYVXX3319P3vfz8Ht3ZsxaNigcAYIBCt/hiA1427yqtgNdRHH310yKt//fXXD/k52uUEk08+edp0001borhzzz13Wm655dJXvvKVPstz3XXXpbPOOiu9+eabfW7bqRuceOKJ6dxzz83TgyVW22effdI666yTvvCFL3RqlaNegcAYIxDkZIwh7K4D8I0b9Q31SPi///1vVmgsfvaf//ynu0CuUduxxhqrZRSkBx54IB1zzDHplVdeqVHSUb9yHSkngkG7yQS9PvHEE+mII45I1157bcbguOOOS2ussUYOfg01sJvuhqjrQBAIcjIQ1Lp4H43qcDWsZi3MMsssOYiwiyFvuapzU3z00Ue5w22mcGItEBSqQTeYWCyJ1E455ZScOA2h32mnndIcc8yR5DBpxh3WDThFHQOBRggEOWmETvw2ogiYdukV1t4IiDuhoIib6WSjlNx7773p/vvvTw899FAOct13331z3JSA2PHGG6+Tqx91CwQGFYEgJ4MKZxwsEAgEqhHQKXd6xyy2RsDrs88+myaccMK07LLL5unBsrxONtlk1ZDE/4FAINAHAkFO+gAofg4EAoFAoB4CL774YlZLzj///DxNmOtKIjWzzOQvCQsEAoGBIRDkZGC4xV6BQCDQ5QjcdNNNOe38nXfemYO2pZwXLL7ooosms6vCAoFAYOAIBDkZOHaxZyAQCHQZAuJnZHulmBx00EF5RtnCCy+cVltttbTqqqvmAO4ugySqGwgMCQJBToYE1jhoIBAIdBoCMiMjJVdffXU6+eST84ylhRZaKO25555pscUWi2zGnXbBoz4jikCQkxGFP04eCAQCrY6AnD4Uk4cffjgdeeSRSfCrWWSHHnpo2mqrrUZZpK/V6xLlCwTaBYG+80+3S02inIFAIBAIDAECzzzzTNp5553zDBwJ6KSdl4Je7pLK1YOH4NRxyECgaxEI5aRrL31UPBAIBPpCQJ6SCy+8MOdo2X777fP04KWWWqqv3eL3QCAQGEMEgpyMIYCxeyAQCHQOAj09Pb1xJVdddVV68skn8xpC3DdrrbVW+tznPtfxyeQ652pGTdoZgSAn7Xz1ouyBQCAwaAhIy//II48ka+DI8DrxxBOn9dZbL6288so54HWaaaYZtHPFgQKBQKAxAkFOGuMTvwYCgUCHI2CRvqeffjpdcskl6bHHHksvv/xyWnrppdPyyy+f5pprrvTlRV6VhwAAIABJREFUL385r4nT4TBE9QKBlkIgyElLXY4oTCAQCAwlAu+9915eUZt7Zvzxx08vvfRSzvAqkdo111yTvvSlL6UddtghB7/ONtts4cIZyosRxw4EGiAQ5KQBOPFTIBAIdBYCVBGkxEKE77zzThJXcv3116e///3vaZFFFkkbbLBB2nTTTTur0imlt956K6+QPPXUU3dc3aJCnYlAkJPOvK5Rq0AgEKiBABJideS77747p57//e9/nxcllN0VMZl//vlr7NX+X1kp+atf/WoO7o2Vvtv/enZDDYKcdMNVjjoGAoFA+vjjj3MyNa6cY445Jsn4utJKK6X1118/dfL0YC4sqyXfcccd6etf/3omKJSjTl8puhNuecn//vKXv+QlE8Yaa6yuumZBTjrhDo46BAKBQF0ETA9GTAS9ctlQT8Yee+y0zz775PiSTp+Fs+GGGyaJ5NSfYjTFFFNkF88ss8xSF7P4YeQRcN++8sor6cwzz0y/+MUv0lRTTZVmmGGGhKR0g0WG2G64ylHHQKCLEXjjjTfylGAxJTrmvffeO1177bVZMekGWCxMuMUWW+RO7Vvf+lZac801u6HabV/Ht99+O916663p5ptvzsRk2223TXPOOWfXkJOxetCzsEAgEAgEOgyB559/Pv32t79Np512Wl6kb4kllsip5+ebb748NdgIlILi1ekmhwtCduyxx+bZSdNOO22eKn3qqad2etXbsn6PP/54XmDyyiuvTB9++GEml3vssUdXLZcQ5KQtb90odCAQCNRD4A9/+EO67bbb8iwcSdXEXKy22mppu+22S1/4whdyQGw3EJJqfP7617+m++67L5177rk5/uQf//hHzueyxhprpLXXXjtNNtlk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5UNg++23r8R00003XbTS4447rpxwwgll2223XbRsCgSBIBAEugiEnHTRyOd5EbBt/eMf//iyPh78d+GFF5ZTTjmlvuZtUClFuZNOOqmcf/75CxXLsWVEwFOpjz322HLeeectWisie8EFF1Qys+WWWy5aPgWCQBAIAg2BVatXr17d/sh7EJgmBC666KJyxhlnlLPOOmuamj3VbT355JOronXOOeeM3I9dd9217L777iOXT8EgEASCQMhJ7oEgEASCQBAIAkGgVwhktU6vhiONCQJBIAgEgSAQBEJOcg8EgSAQBIJAEAgCvUIg5KRXw5HGBIEgEASCQBAIAiEnuQeCQBAIAkEgCASBXiEQctKr4UhjgkAQCAJBIAgEgZCT3ANBIAgEgSAQBIJArxAIOenVcKQxQSAIBIEgEASCQMhJ7oEgEASCQBAIAkGgVwiEnPRqONKYIBAEgkAQCAJBIOQk90AQCAJBIAgEgSDQKwRCTno1HGlMEAgCQSAIBIEgEHKSe2AqEfC8yjyzciqHLo0OAkEgCCyKwMaLlkiBINAzBP7xj3+U3/3ud+Vf//pXuctd7tKz1qU5QSAIBIEgsK4IRDlZVwRz/lgIfPOb3yzHH398+fe//z3W+VtvvXXZddddxzo3JwWBIBAEgkC/EVi1Otp4v0doRlt3y1veslx88cXlnve8Z7nMZS5TzjjjjPLPf/5zrrebbrppefrTnz73d/fDD37wg3LUUUeVpz3taeW+971v99CK+3zWWWeVz372s+XPf/5zeehDH1pufOMbl//973/l6KOPLj/96U/LHe5wh7LjjjuWzTfffGRsfvOb35QvfelL5eSTTy73vve9y+677z7yufMVPO+88wrF62pXu9pckT/+8Y913K9xjWuUK1/5ynPfX3jhheX0008vvo8FgSCwMhFIWGdljvsG77WwzDWvec1yi1vcomy00UblUpe6VPnTn/5Uvv/975ctttii3P72ty/vete7hrbzlFNOKZzyCSecsCLJydvf/vZy97vfvVzvetcrHDkcTjzxxHKve92r4oX0HXnkkeXjH/94QTSe9axnlRvc4AZDsRz25V//+tdyzDHHlF/+8pdl++23Lze72c3mim277bYFcWz297//vfzhD38olCx29atfvR2aexd+M65f+MIXyu1ud7vy6Ec/uh77xje+UdvnHrjjHe9Y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" 7 | } 8 | }, 9 | "cell_type": "markdown", 10 | "metadata": {}, 11 | "source": [ 12 | "## 统计学习方法\n", 13 | "\n", 14 | "第一章 统计学习方法概论\n", 15 | "\n", 16 | "* 统计学习\n", 17 | "\n", 18 | "统计学习(statistical learning)是关于计算机基于概率论模型并运用模型对数据进行预测与分析的一门学科。统计学习也称为统计学习(statistical machine learning)\n", 19 | "\n", 20 | "1. 统计学习的重要特点是:\n", 21 | ">(1)统计学习以计算机及网络为平台,是建立在计算机及网络之上的; \n", 22 | "(2)统计学习以数据为研究对象,是数据驱动的学科; \n", 23 | "(3)统计学习的目的是对数据进行预测和分析; \n", 24 | "(4)统计学习以方法为中心,统计学习方法构建模型并应用模型进行预测和分析; \n", 25 | "(5)统计学习是概率论、统计学、信息论、计算理论、最优化理论及计算机科学等多个领域的交叉学科,并且在发展中逐步形成独自的理论体系与方法论。 \n", 26 | "\n", 27 | "\n", 28 | "2. 统计学习的对象\n", 29 | "\n", 30 | "统计学习的对象是数据(data)。它从数据出发,提取数据特征,抽象出数据的模型,发现数据中的知识,又回到对数据的分析与预测中去。作为统计学习的对象,数据是多样的,包括存在于计算机及网络上的各种数据。文字、图像、视频、音频数据以及它们的组合、\n", 31 | "\n", 32 | "3. 统计学习的目的\n", 33 | "\n", 34 | "4. 统计学习的方法\n", 35 | "\n", 36 | "5. 统计学习的研究\n", 37 | "\n", 38 | "6. 统计学习的重要性\n", 39 | "\n", 40 | "\n", 41 | "统计学习学科在科学技术中的重要性主要体现在以下几个方面:\n", 42 | "\n", 43 | "(1)统计学习是处理海量数据的有效方法。我们处于一个信息爆炸的时代,海量数据的处理与利用是人们必然的需求。现实中的数据不但规模大,而且常常具有不确定性。统计学习往往是处理这类数据最强有力的工具。\n", 44 | "\n", 45 | "(2)统计学习是计算机智能化的有效手段。\n", 46 | "\n", 47 | "(3)统计学习是计算机科学发展的一个重要组成部分。可以认为计算机科学有三维组成:系统、计算、信息、统计学习主要属于信息这一维,并在其中起着核心作用。\n", 48 | "\n", 49 | "\n", 50 | "## 1.2 监督学习\n", 51 | "\n", 52 | "**统计学习包括监督学习、非监督学习、半监督学习及强化学习。本书主要讨论监督学习问题**\n", 53 | "\n", 54 | "监督学习(supervised learning)的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测(注意,这里的输入、输出是指某个系统的输入与输出,与学习的输入与输出不同)。计算机的基本操作就是给定一个输入产生一个输出,所以监督学习是极其重要的统计学习分支,也是统计学习内容最丰富。应用最广泛的部分。\n", 55 | "\n", 56 | "\n", 57 | "### 1.2.1 基本概念\n", 58 | "\n", 59 | "1. 输入空间、特征空间和输出空间 \n", 60 | "\n", 61 | "在监督学习中,将输入和输出所有可能取值的集合分别称为输入空间(input space)与输出空间(outer space)。输入与输出空间可以是有限元素的集合,也可以是整个欧氏空间。输入空间与输出空间可以是同一个空间,也可以是不同的空间;但通常输出空间远远小于输入空间。 \n", 62 | "\n", 63 | "\n", 64 | "每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示。这时,所有特征向量存在的空间称为特征空间(feature space)。特征空间的每一维对应于一个特征。有时假设输入空间与特征空间为相同的空间,对它们不予区分;有时假设输入空间与特征空间为不同的空间,将实例从输入空间映射到特征空间。模型实际上都是定义在特征空间上的。\n", 65 | "\n", 66 | "在监督学习过程中,将输入与输出看作是定义在输入(特征)空间与输出空间上的随机变量的取值。输入、输出变量用大写字母表示,习惯上输入变量写作X,输出变量的写作Y。输入、输出变量所取的值用小写字母表示,输入变量的取值写作x,输出变量的取值写作y,变量可以是标量或向量,都用相同类型字母表示。除特别声明外,本书中向量均为列向量,输入实例x的特征向量记作\n", 67 | "$$\n", 68 | "x=(x^{(1)},x^{(2)},\\dots,x^{(t)},\\dots,x^{(n)})^{T}\n", 69 | "$$\n", 70 | "\n", 71 | "$x^{(t)}$表示x的第i个特征。注意,$x^{(i)}$与$x_i$不同,本书通常用$x_i$表示多个输入变量中的第i个,即 \n", 72 | "$$\n", 73 | "x_i=(x_{i}^{(1)},x_{i}^{(2)},\\dots,x_{i}^{(t)},\\dots,x_{i}^{(n)})^{T}\n", 74 | "$$\n", 75 | "\n", 76 | "监督学习从训练数据(training data)集合中学习模型,对测试数据(test data)进行预测。训练数据由输入(或特征向量)与输出对组成,训练集通常表示为\n", 77 | "$$\n", 78 | "T=\\{(x_1,y_1),(x_2,y_2),\\dots,(x_N,y_N)\\}\n", 79 | "$$\n", 80 | "测试数据也由相应的输入与输出对组成。输入与输出对又称为样本(sample)或样本点。\n", 81 | "\n", 82 | "输入变量X和输出变量Y有不同的类型,可以是连续的,也可以是离散的。人们根据输入。输出变量的不同类型,对预测任务给与不同名称:输入变量与输出变量均为连续变量的预测问题称为回归问题;输出变量为有限个离散变量的预测问题称为分类问题;输入变量与输出变量均为变量序列的预测问题称为标注问题。\n", 83 | "\n", 84 | "2. 联合概率分布 \n", 85 | "\n", 86 | "监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y)。P(X,Y)表示分布函数,或分布密度函数。注意,在学习过程中,假定这一联合概率分布存在,但对学习系统来说,联合概率分布的具体定义是未知的。训练诗句与测试数据被看做是联合概率分布P(X,Y)独立同分布产生的。统计学习假设数据存在一定的统计规律,X和Y具有联合概率分布的假设就是监督学习关于数据的基本假设。\n", 87 | "\n", 88 | "3. 假设空间 \n", 89 | "\n", 90 | "监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的就在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space),假设空间的确定意味着学习范围的确定。\n", 91 | "\n", 92 | "监督学习的模型可以是概率模型或非概率模型,有条件概率分布P(Y|X)或决策函数(decision function)Y=f(X)表示,随具体学习方法而定。对具体的输入进行相应的输出预测,写作P(y|x)或y=f(x)。\n", 93 | "\n", 94 | "### 1.2.2 问题的形式化 \n", 95 | "\n", 96 | "监督学习利用训练数据集学习一个模型,再用模型对测试样本进行夜车(predicition)\n", 97 | "\n", 98 | "![image.png](attachment:image.png)\n", 99 | "\n", 100 | "首先给定一个训练数据集\n", 101 | "$$\n", 102 | "T=\\{(x_1,y_1),(x_2,y_2),\\dots,(x_N,y_N)\\}\n", 103 | "$$\n", 104 | "其中\n", 105 | "\n", 106 | "\n", 107 | "## 1.5 正则化与交叉验证\n", 108 | "\n", 109 | "### 1.5.1 正则化\n", 110 | "\n", 111 | "模型选择的典型方法是正则化(regularization)。正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大,比如正则化项可以是模型参数向量的范数。\n", 112 | "\n", 113 | "正则化一般具有如下形式: \n", 114 | "\n", 115 | "$$\n", 116 | "min_{f\\in\\mathcal{F}}{\\frac{1}{N}\\sum_{i=1}^{N}L(y_i,f(x_i))+\\lambda{J(f)}}\n", 117 | "$$\n", 118 | "\n", 119 | "其中,第1项是经验风险,第2项是正则化项,$\\lambda\\geq{0}$为调整两者之间关系的系数。\n", 120 | "\n", 121 | "正则化可以取不同的形式。例如,回归问题中,损失函数是平方损失,正则化项可以是参数向量的$L_2$范数:\n", 122 | "\n", 123 | "$$\n", 124 | "L(w)=\\frac{1}{N}\\sum_{i=1}^{N}(f(x_i:w)-y_i)^2+\\frac{\\lambda}{2}||w||^2\n", 125 | "$$\n", 126 | "\n", 127 | "这里,$||w||$表示参数向量$w$的$L_2$范数。\n", 128 | "\n", 129 | "正则化项也可以是参数向量$L_1$范数:\n", 130 | "$$\n", 131 | "L(w)=\\frac{1}{N}\\sum_{i=1}^{N}(f(x_i:w)-y_i)^2+{\\lambda}||w||\n", 132 | "$$\n", 133 | "\n", 134 | "这里,$||w||$表示参数向量$w$的$L_1$范数。\n", 135 | "\n", 136 | "第1项的经验风险较小的模型可能比较复杂(有多个非零参数),这时第2项的模型复杂度会较大。正则化的作用是选择经验风险与模型复杂度同时较小的模型。\n", 137 | "\n", 138 | "正则化符合奥卡姆剃刀(Occam's razor)原理。奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释一直数据并且十分简单才是最好的模型,也就是应该选择的模型。从贝叶斯估计的角度来看,正则化项对应于模型的先验概率,可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。\n", 139 | "\n", 140 | "### 交叉验证\n", 141 | "\n", 142 | "另一种常用的模型选择方法是交叉验证(cross validation)。\n", 143 | "\n", 144 | "如果给定的样本数据充足,进行模型选择的一种简单的方法是随机地将数据集切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(test set)。训练集用来训练模型,验证集用于模型的选择,而测试集用于最终对学习方法的评估。在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。由于验证集有足够多的数据,用它对模型进行选择也是最有效的。\n", 145 | "\n", 146 | "但是,在许多实际应用中数据是不充分的,为了选择好的模型,可以采用交叉验证方法。交叉验证的基本思想是重复地使用数据:把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复进行训练、测试以及模型选择。\n", 147 | "\n", 148 | "* 1. 简单交叉验证\n", 149 | "\n", 150 | "简单交叉验证方法是:首先随机地将已给的数据分为两部分,一部分作为训练集,另一部分作为测试集(例如,70%的数据为训练集,30%的数据为测试集);然后用训练集在各种条件下(例如,不同的参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。 \n", 151 | "\n", 152 | "* 2. S折交叉验证\n", 153 | "\n", 154 | "应用最多的是S折交叉验证(S-fold cross validation),方法如下:首先随机地将已给的数据切分为S个互不相交的相同子集;然后利用S-1个子集的数据训练模型,利用余下的子集测试模型,将这一过程对可能的S种选择重复进行;最后选出s次评测中平均测试误差最小的模型。 \n", 155 | "\n", 156 | "3. 留一交叉验证\n", 157 | "\n", 158 | "S折交叉验证的特殊情形是S=N,称为留一交叉验证(leave-one-out cross validation),往往在数据缺乏的情况下使用。这里,N是给定数据集的容量。 \n", 159 | "\n", 160 | "## 1.6 泛化能力\n", 161 | "\n", 162 | "### 1.6 泛化误差\n", 163 | "\n", 164 | "学习方法的泛化能力(generalization ability)是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质。现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力。但这种评价是依赖于测试数据集的。因为测试数据集是有限的,很可能由此得到的评价结果是不可靠的,统计学习理论试图从理论上对学习方法的泛化能力进行分析。 \n", 165 | "\n", 166 | "首先给出泛化误差的定义,如果学到的模型是$\\hat{f}$,那么用这个模型对未知数据预测的误差即为泛化误差(generalization error) \n", 167 | "\n", 168 | "$$\n", 169 | "R_{exp}{\\hat{(f)}}=E_p[L(Y,\\hat{f}(X))]=\\int_{x\\times{y}}L(y,\\hat{f}(x))P(x,y)dxdy\n", 170 | "$$\n", 171 | "\n", 172 | "泛化误差反映了学习方法的泛化能力,如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差,那么这种方法就更有效,事实上,泛化误差就是所学习到的模型的期望风险。 \n", 173 | "\n", 174 | "### 1.6.2 泛化误差上界 \n", 175 | "\n", 176 | "学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称为泛化误差上界(generalization error bound),具体来说,就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。泛化误差上界通常具有以下性质:它是样本容量的函数,当样本容量增加时,泛化上界趋于0;它是假设空间容量(capacity)的函数,假设空间容量越大,模型就越难学,泛化误差上界就越大。\n", 177 | "\n", 178 | "下面给出一个简单的泛化误差上界的例子:二分类问题的泛化误差上界。\n", 179 | "\n", 180 | "考虑二分类问题,已知训练集$T=\\{(x_1,y_1),(x_2,y_2),\\dots,(x_N,y_N)\\}$,它是从联合概率分布$P(X,Y)$独立同分布的,$X\\in{R^{n}}$,$Y\\in\\{-1,+1\\}$,假设空间是函数的有限集合$\\mathcal{F}=\\{f_1,f_2,\\dots,f_d\\}$,d是函数个数,设f是从$\\mathcal{F}$中选取的函数。损失函数是0-1损失,关于$f$的期望风险和经验风险分别是\n", 181 | "\n", 182 | "\n", 183 | "\n", 184 | "\n", 185 | "\n" 186 | ] 187 | }, 188 | { 189 | "cell_type": "markdown", 190 | "metadata": {}, 191 | "source": [ 192 | "# 第2章 感知机\n", 193 | "\n", 194 | "感知机(perceptron)是二类分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1和-1二值。感知机对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型。感知机学习旨在于求出将训练数据进行线性划分的分离超平面,为此,导入基于误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机学习算法具有简单而易于实现的特点,分为原始形式和对偶形式。感知机预测是用学习得到的感知机模型对新的输入实例进行分类\n", 195 | "\n", 196 | "## 2.1 感知机模型\n", 197 | "\n", 198 | "**定义**:假设输入空间(特征空间)是$X\\in{R}^n$,输出空间是$y=\\{+1,-1\\}$。输入$x\\in{X}$表示实例的特征向量,对应于输入空间(特征空间)的点;输出$y\\in{Y}$表示实例的类别,由输入空间到输出空间的如下函数\n", 199 | "$$\n", 200 | "f(x)=sign(w·x+b)\n", 201 | "$$\n", 202 | "称为感知机。其中,$w$和$b$为感知机模型参数,$w\\in{R}^n$叫做权值(weight)或权值向量(weight vector),$b\\in{R}$叫做偏置(bias),$w·x$表示$w$和$x$的内积。sign是符号函数,即\n", 203 | "\n", 204 | "\n", 205 | "$$\n", 206 | "sign(x)=\n", 207 | "$$\n", 208 | "\n", 209 | "## 2.2 感知机学习策略\n", 210 | "\n", 211 | "### 数据集的线性可分性\n", 212 | "\n", 213 | "**定义 2.2 (数据集的线性可分性)**\n", 214 | "\n" 215 | ] 216 | }, 217 | { 218 | "cell_type": "markdown", 219 | "metadata": {}, 220 | "source": [ 221 | "# 第3章 k近邻法\n", 222 | "\n", 223 | "k近邻法(k-nearest neighbor k-NN)是一种基本分类与回归方法。本书只讨论分类问题中k近邻算法。k近邻法的输入为实例的特征向量,对应于特征空间的点;输出为实例的类别,可以取多类。k近邻假设给定一个训练数据集,其中的实例类别已定。分类时,对新的实例,根据其k个最近邻的训练实例的类别,通过多数表决等方式进行预测。因此,k近邻不具有显式的学习过程。k近邻法实际上利用训练集对特征向量空间进行划分,并作为其分类的“模型”。k值得选择、距离度量及分类决策规则是k近邻法三个基本要素。\n", 224 | "\n", 225 | "## k近邻算法\n", 226 | "\n", 227 | "### 3.2.1 模型\n", 228 | "\n", 229 | "k近邻算法中,当训练集、距离度量(如欧氏距离)、k值及分类决策规则(如多数表决确定后)\n", 230 | "\n", 231 | "## 3.3 k近邻法的实现:kd树\n", 232 | "\n", 233 | "### 3.3.1 构造kd树\n", 234 | "\n", 235 | "kd树是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。kd树是二叉树,表示k维空间的一个画风(partition),构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分,构成一系列k维超矩形区域。kd树的每个节点对应于一个k维超矩形区域。\n", 236 | "\n", 237 | "### 3.3.2 搜索kd树\n", 238 | "\n", 239 | "利用kd树可以省去对大部分数据点的搜索,从而减少搜索的计算量。这里以最近邻为例加以叙述,同样的方法可以应用到k近邻。\n", 240 | "\n", 241 | "给定一个目标点,搜索其最近邻。首先找到包含目标点的叶节点; \n" 242 | ] 243 | }, 244 | { 245 | "cell_type": "markdown", 246 | "metadata": {}, 247 | "source": [ 248 | "# 第4章 朴素贝叶斯\n", 249 | "\n" 250 | ] 251 | } 252 | ], 253 | "metadata": { 254 | "kernelspec": { 255 | "display_name": "Python 3", 256 | "language": "python", 257 | "name": "python3" 258 | }, 259 | "language_info": { 260 | "codemirror_mode": { 261 | "name": "ipython", 262 | "version": 3 263 | }, 264 | "file_extension": ".py", 265 | "mimetype": "text/x-python", 266 | "name": "python", 267 | "nbconvert_exporter": "python", 268 | "pygments_lexer": "ipython3", 269 | "version": "3.6.4" 270 | } 271 | }, 272 | "nbformat": 4, 273 | "nbformat_minor": 2 274 | } 275 | --------------------------------------------------------------------------------