
机器学习
文章平均质量分 83
主要是周志华《机器学习》的一些学习笔记
王先生的副业
屌丝,爱做梦的屌丝。
展开
-
机器学习笔记(PART I)基本术语
基本术语术语数据集:一组记录的集合被称为数据集 示例(样本):数据集合中的每一个记录被称为一个样本或者示例 属性空间:属性张成的空间 特征向量:一个示例被称作一个特征向量示例D={x1,x2,…,xm}D=\left\{x_1,x_2,\dots,x_m\right\} 表示包含了m个示例的数据集, 每个示例由d个属性描述, 每个示例xi=(xi1;xi2;…;xid)x_i=\left原创 2017-12-09 21:29:20 · 312 阅读 · 0 评论 -
机器学习笔记(PART II)模型的评估和选择(I)
经验误差和过拟合错误率:分类错误的样本数占样本总数的比例 如果在mm个样本中有aa个样本分类错误则错误率E=a/mE=a/m;精度:精度=1-错误率 acc=1−a/macc=1-a/m训练误差(经验误差):学习器在训练集上的误差泛化误差学习区在新样本上的误差过拟合(过配)学习能力过于强大,以至于把一些不是太一般的特性都学到了欠拟合(欠配)学习能力低下评估方法基本思想使用测试误差来近似泛化误差注原创 2017-12-10 23:33:12 · 513 阅读 · 0 评论 -
机器学习笔记(III)模型评估与选择(II)
调参和最终模型调参大多数学习算法都有参数(parameter)需要设定,参数设置不同,学得的模型的性能往往也不同,在进行模型评估和选择时,除了要对适用学习算法进行选择,还需要算法的参数进行设定,这就是通常所说的“参数调节”或者简称“调参”(parameter tuning)一般选择参数的方式对每个参数选定一个范围和步长的变化,这实际上是一种在计算开销和性能估计之间进行折中的结果原创 2017-12-11 14:32:26 · 252 阅读 · 0 评论 -
机器学习笔记(IV)模型评估与选择(III)
查准率,查全率与F1F1对于二分类问题,可以将样例根据真实的类别与学习器预测类别的组合分为真正例(TP true positive)、假正例(FP false positive)、真反例(TN true nagative)、假反例(FN false negative)。 显然 TP+FP+TN+FN=TP+FP+TN+FN=样例总数分类结果混淆矩阵 真实情况原创 2017-12-11 17:26:24 · 1139 阅读 · 0 评论 -
机器学习笔记(V)线性模型(I)一维最小二乘法
基本形式给定由dd个属性描述的示例x=(x1;x2;…;xd)x=(x_1;x_2;\dots;x_d),其中xix_i是x\mathbf{x}在第ii个属性上的取值,线性模型试图学得一个线性的组合来进行预测的函数 即: f(x)=w1x1+w2x2+⋯+wdxd+bf(\mathbf{x})=w_1x_1+w_2x_2+\dots+w_dx_d+b 向量形式为: f(x)=wTx+b原创 2017-12-12 10:32:38 · 718 阅读 · 0 评论 -
机器学习笔记(VI)线性模型(II)多维最小二乘法
数据集是 D={(x1,y1),(x2,y2),…,(xm,ym)}其中xi=(xi1;xi2;…;xid),yi∈RD=\left\{(\mathbf{x_1},y_1),(\mathbf{x_2},y_2),\dots,(\mathbf{x_m},y_m)\right\}\\\text{其中}\\\mathbf{x_i}=(x_{i1};x_{i2};\dots;x_{id}),y_i\原创 2017-12-12 22:37:09 · 2753 阅读 · 0 评论 -
机器学习笔记(VII)线性模型(III)对数几率回归和极大似然估计
背景知识常见回归模型线性回归(linear regression):y=wTx+b(1)y=\mathbf{w}^T\mathbf{x}+b\tag{1} 但是有时候预测值会逼近y\mathbf{y}的衍生值比如输出标记在指数尺度上变化。对数线性回归(log-linear regression):lny=wTx+b(2)\ln{y}=\mathbf{w}^T\mathbf{x}+b\tag{原创 2017-12-13 18:15:35 · 2745 阅读 · 4 评论 -
机器学习笔记(VIII)线性模型(IV)线性判别分析(LDA)
背景知识对于一个数据集合x=(x1,x2,⋯,xn)\mathbf{x}=(x_1,x_2,\cdots,x_n);均值E(x)=1n∑i=1nxiE(\mathbf{x})=\dfrac{1}{n}\sum\limits_{i=1}^{n}x_i方差样本方差s2=1n−1∑i=1n(xi−x¯)2s^2=\dfrac{1}{n-1}\sum\limits_{i=1}^{n}(x_i-\ove原创 2017-12-14 21:08:07 · 563 阅读 · 0 评论 -
机器学习笔记(IX)线性模型(V)多分类学习
拆解法多分类问题的一般方法,是将多分类任务拆分为多个二分类任务求解,这里设有NN个类别:C1,C2,…,CNC_1,C_2,\dots,C_N具体做法1:将多分类问题拆解为若干个二分类问题 2:为每个二分类问题训练一个分类器 3:得出每个二分类问题的预测结果 4:对这些二分类问题的结果进行集成最后得到多分类结果拆分策略给定数据集: D={(x1,y1),(x2,y2),…,(xm,ym)},原创 2017-12-16 23:57:40 · 651 阅读 · 0 评论 -
机器学习笔记(X)线性模型(VI)类别不平衡问题
类别不平衡问题分类学习方法的问题假设正类和反类的样例数目相当,但是有时候样例数量的差别较大,比如正例样本有998个,而反例样本只有2个,此时学习方法如果一直返回正例则预测的准确度会高达99.8%99.8\%,但是这样的学习器没有任何价值。类别不平衡的定义class-imbalanceclass\text{-}imbalance是指分类任务中不同类别的训练样例的数目差别非常大的情况假设假定正类样本较少原创 2017-12-17 19:35:21 · 476 阅读 · 0 评论 -
机器学习笔记(XI)决策树(I)基本流程和划分选择
基本流程决策树一般的,一棵决策树包括包含一个根结点,若干个内部结点和若干个叶结点。根结点包括样本全集 从根结点到每个叶子结点的路径对应一个判定测试序列。内部结点一个测试属性叶结点决策结果目的产生一棵泛化能力强的,处理未预见示例能力强的决策树,基本流程遵循简单且直观“分而治之”(divide-and-conquerdivide\text{-}and\text{-}conquer)基本算法算法中的三种原创 2017-12-19 11:25:40 · 1061 阅读 · 0 评论 -
机器学习笔记(XII)决策树(II)剪枝处理
剪枝(pruning)目的剪枝操作是决策树学习算法对付“过拟合”的主要手段。因为有时候决策树的分支过多,导致训练集合把自身的一些特点当作所有数据都具有的一般性质而导致过拟合。因此主动剪掉一些分支来降低过拟合的风险。预剪枝(prepruning)具体做法指的是在决策树的生成过程中,对每个结点在划分前进行估计,如果当前结点的划分不能带来决策树泛化性能的提升,则停止划分当前结点并且标记为叶子节点。优缺点优原创 2017-12-19 17:13:06 · 614 阅读 · 0 评论 -
机器学习笔记(XIII)决策树(III)连续与缺失值
连续值处理对于连续属性的可取数目不再有限,因此,不能直接根据连续属性的可取值来对结点进行划分。连续离散化之二分法具体做法对于给定的样本集DD和连续属性aa,假定aa在DD上出现了nn个不同的取值,将这些值从小到大进行排序,记为{a1,a2,…,an}\{a^1,a^2,\dots,a^n\}。基于划分点tt可将DD分为子集D−tD_{t}^{-}和D+tD_{t}^{+}, 若ai∈D−ta_i\原创 2017-12-19 23:06:54 · 1454 阅读 · 1 评论 -
Latex 绘制函数图像
前言又是关于机器学习那本书里的插图问题,里面有一些函数图形。现在看看怎么使用latex把它们画出来。 这就是《机器学习》周志华,第98页的两个函数图像,貌似树上的坐标轴是不正确的,第二张图的横坐标应该扩大10倍,才有那种效果。使用到的包:\usepackage{tikz}示例代码:\documentclass[11pt,UTF8]{ctexart}\usepackage{tikz}\begin原创 2017-12-20 18:17:42 · 25752 阅读 · 0 评论 -
Latex 如何画出决策树示意图
以《机器学习》第85页的图为例:使用包:\usepackage{tikz}代码:\documentclass[UTF8]{ctexart}\usepackage{tikz}\usetikzlibrary{shapes.geometric, arrows}\begin{document}\thispagestyle{empty}% 定义基本形状\tikzstyle{results}=[el原创 2017-12-20 22:00:26 · 6656 阅读 · 0 评论 -
Matrix calculus(矩阵微积分)(前四节)
原文地址:https://en.wikipedia.org/wiki/Matrix_calculus 注:不要把它和几何运算或者是向量运算混淆前言:在数学中,矩阵微积分是进行多变量微积分的一种特殊符号,特别是在矩阵的空间上。 它将关于许多变量的单个函数的各种偏导数和/或关于单个变量的多变量函数的偏导数收集到可以被视为单个实体的向量和矩阵中。 这大大简化例如找到多元函数的最大值或最小值,以及求解微分翻译 2017-12-21 17:20:41 · 9293 阅读 · 0 评论 -
Matrix calculus(矩阵微积分)(第二部分,布局约定)
原文地址: https://en.wikipedia.org/wiki/Matrix_calculus#Other_matrix_derivatives其他矩阵求导(存在争议)有三种矩阵的导数我们目前没有看到,他们是向量对矩阵求导,矩阵对向量求导,矩阵对矩阵求导。他们没有统一的符号,也没有统一的应用。对于和向量相关的矩阵两种矩阵导数,可以被看作是一个只有一列的矩阵和另一个矩阵做相互运算。鉴于这个原翻译 2017-12-22 11:34:33 · 4922 阅读 · 1 评论 -
机器学习笔记(XIV)神经网络(I)基本概念
神经网络模型定义:神经网络是由具有适应性的简单单元组成的广泛并行互联的网络,它的组织能够模拟生物神经系统对真实世界物体所做出的交互反应。基本单位神经网络的最基本的单位是神经元(neuron)模型,就是定义中的简单单元。生物神经网络在生物神经网络中,每个神经元和其他神经元相连,当它“兴奋”的时候,就会向相连的神经元发送化学物质,从而改变这些神经元内的电位,如果某种电位超过了一个“阈值”,那么它就会被激原创 2017-12-22 17:14:17 · 548 阅读 · 0 评论 -
Matrix calculus(矩阵微积分)(第三部分,向量求导恒等式(I))
恒等式综上所述,如果涉及到分子布局和分母布局的切换,则运算结果会发生转置。 为了搞懂下面的一些等式,应该记得下面的一些规则:链式法则,产品法则,总体法则。总和规则通用,产品规则适用于以下大多数情况,条件是维持矩阵产品的秩序,因为矩阵产品是不可交换的。链式规则适用于某些情况,但不幸的是,不适用于矩阵对向量求导或向量对矩阵求导(后者主要涉及应用于矩阵的跟踪算子)。在后一种情况下,产品规则也不能直接应用翻译 2017-12-22 23:29:58 · 1298 阅读 · 0 评论 -
Matrix calculus(矩阵微积分)(第四部分),向量求导恒等式(II))
续表:情况表达式分子布局分母布局a\mathbf{a}不是关于x\mathbf{x}的函数,u=u(x)\mathbf{u}=\mathbf{u}(\mathbf{x})∂(a⋅u)∂x=∂aTu∂x=\dfrac{\partial{(\mathbf{a}\cdot\mathbf{u}})}{\partial{\mathbf{x}}}=\dfrac{\partial{\mathbf{a}^T\翻译 2017-12-23 09:50:40 · 768 阅读 · 0 评论 -
矩阵向量求导(Matrix calculus)
原文地址:https://en.wikipedia.org/wiki/Matrix_calculus#Other_matrix_derivatives翻译:part1:http://blog.youkuaiyun.com/uncle_gy/article/details/78861467part2:http://blog.youkuaiyun.com/uncle_gy/article/details/78871515par原创 2017-12-23 11:54:18 · 34144 阅读 · 6 评论 -
各种距离(I)闵可夫斯基距离和它的朋友们
前提假设有向量x=⎛⎝⎜⎜⎜⎜x1x2⋮xn⎞⎠⎟⎟⎟⎟\mathbf{x}=\left(\begin{aligned}\begin{matrix}x_1\\x_2\\\vdots\\x_n\\\end{matrix}\end{aligned}\right)和向量y=⎛⎝⎜⎜⎜⎜y1y1⋮yn⎞⎠⎟⎟⎟⎟\mathbf{y}=\left(\begin{aligned}\begin{matrix}y_原创 2017-12-24 10:24:24 · 823 阅读 · 0 评论 -
机器学习笔记(XV)神经网络(II)感知机和多层网络
感知机(Perceptron)组成感知机(Perceptron)由两层神经元组成 输入层:接收外界的输入信号,传递给输出层, 输出层:输出层时M-PM\text{-}P神经元(阈值逻辑神经元) 图解: 感知机和与或非运算前提输入向量: x=(x1;x2)=(x1x2)\mathbf{x}=(x_1;x_2)=\left(\begin{aligned}\begin{matrix}x_1\\原创 2017-12-25 10:54:29 · 1363 阅读 · 0 评论 -
Matrix calculus(矩阵微积分)关于矩阵求导
标量对矩阵求导部分:情形表达式分子布局分母布局aa不是关于X\mathbf{X}的函数∂a∂X=\dfrac{\partial a}{\partial \mathbf{X}}=0T\mathbf{0}^T0\mathbf{0}aa不是关于X\mathbf{X}的函数,u=u(x),u=u(x)∂au∂X\dfrac{\partial{au}}{\partial \mathbf{X}}a∂u∂Xa翻译 2017-12-25 15:45:29 · 1495 阅读 · 0 评论 -
机器学习笔记(XVI)神经网络(III)误差逆传播(BP)算法
BP网络定义一般是指用BP算法训练的多层前反馈神经网络, BP=(error BackPropagation)BP=(error\space BackPropagation)主要用途用于前馈神经网络BP算法定义给定训练集合: D={(x1,y1),(x2,y2),…,(xm,ym)},xi∈Rd,yi∈RℓD=\left\{(\mathbf{x}_1,\mathbf{y}_1),(\mathb原创 2017-12-26 22:47:36 · 559 阅读 · 0 评论 -
BP算法公式推导
前提训练样例:(xk,yk)(\mathbf{x}_k,\mathbf{y}_k), 神经网络输出:y^k=(y^k1,y^k2,…,y^kℓ)\hat{\mathbf{y}}_k=(\hat{y}_{1}^{k},\hat{y}_{2}^{k},\dots,\hat{y}_{\ell}^{k})其中:y^kj=f(βj−θj)\hat{y}_{j}^{k}=f(\beta_j-\theta_j)原创 2017-12-27 17:47:19 · 1054 阅读 · 0 评论 -
机器学习笔记(XVII)神经网络(IV)BP算法和BP神经网络的一些问题
累计BP和标准BP标准BP算法每次仅仅针对一个训练样例进行更新更新权值和阈值,参数更新非常频繁,而且不同样例的更新效果可能出现“抵消”的现象。累计BP算法累计误差: E=1m∑k=1mEkE=\dfrac{1}{m}\sum_{k=1}^{m}E_k 直接针对累计误差最小化,再读取整个训练集DD一遍之后才对参数进行更新,对参数更新的频率会比标准BP算法低好多。 但是累计误差在下降到一定程度之后原创 2017-12-27 21:20:46 · 684 阅读 · 0 评论 -
机器学习笔记(XVIII)神经网络(V)全局最小局部极小
训练集上的误差使用EE表示神经网络在训练集合上的误差,则EE是关于连接权值w\mathbf{w}和阈值θ\theta的函数。最优对w∗\mathbf{w}^*和θ∗\theta^*若存在ϵ>0\epsilon\gt0使得, ∀(w;θ)∈{(w;θ)∣||(w;θ)−(w∗;θ∗)||≤ϵ},\forall(\mathbf{w};\theta)\in\left\{(\mathbf{w};\the原创 2017-12-28 21:25:59 · 2338 阅读 · 0 评论 -
机器学习笔记(XIX)支持向量机(I)基本概念
支持向量机(Support Vector Machine)前提训练集:D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈{−1,+1}D=\left\{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),\dots,(\mathbf{x}_m,y_m)\right\},y_i\in\left\{-1,+1\right\}目标在样本空间中找到一个超平面,将不同类原创 2017-12-29 10:10:44 · 405 阅读 · 0 评论 -
机器学习笔记——支持向量机(IV)软间隔
前提在实际的应用中,训练样本在样本空间或者特征空间中可能很难找到一个合适的核函数使得训练样本在特征空间中线性可分。即使找到了一个合适的核函数使得样本在样本空间中线性可分,我们也无法判断这个结果是不是由于过拟合造成的。软间隔硬间隔所谓硬间隔就是非黑即白,即所有样本都必须划分正确。软间隔概念相比于硬间隔,软间隔允许存在灰色地带,也就是允许某些样本不满足约束条件: yi(wTxi+b)≥1.y_i\l原创 2017-12-29 20:30:28 · 660 阅读 · 0 评论 -
机器学习笔记——支持向量机(II)对偶问题(I)
前提⎧⎩⎨⎪⎪minw,b12||w||2s.t. yi(wTxi+b)≥1,i=1,2,…,m.(prototype)\left\{\begin{aligned}&\mathop{\min}_{\mathbf{w},b}\dfrac{1}{2}{||\mathbf{w}||}^2\\&s.t.\space y_i(\mathbf{w}^T\mathbf{x}_i+b)\geq1,i=1,2原创 2018-01-02 20:54:15 · 412 阅读 · 0 评论 -
机器学习笔记——支持向量机(II)核函数
从低维空间映射到高维空间异或问题式线性不可分的,但是可以通过把它映射到高维度空间实现线性可分。 令ϕ(x)\phi(\mathbf{x})表示将x\mathbf{x}后的特征向量。于是,在特征空间中划分超平面所对应的模型可以表示为: f(x)=wTϕ(x)+bf(\mathbf{x})=\mathbf{w}^T\phi(\mathbf{x})+b 于是prototypeprototype可原创 2018-01-03 16:14:28 · 751 阅读 · 0 评论 -
机器学习笔记——支持向量机(V)支持向量回归
回归问题对于给定的样本D={(x1,y1),(x2,y2),…,(xm,ym)},yi∈RD=\left\{(\mathbf{x}_1,y_1),(\mathbf{x}_2,y_2),\dots,(\mathbf{x}_m,y_m)\right\},y_i\in\mathbb{R} 我们希望习得一个回归模型,形如f(x)=wTx+bf(\mathbf{x})=\mathbf{w}^T\mathbf原创 2018-01-04 17:08:34 · 2510 阅读 · 0 评论 -
先验概率和后验概率
先验概率事件发生的预判概率,可以是基于历史数据的统计,也可以是由背景常识得出,也可以由人的主观观点给出。一般都是单独事件概率如:P(x),P(y)P(x),P(y),条件概率满足先验概率的定义。后验概率事件发生后反向条件概率,或者说是基于先验概率求得的反向条件概率,概率形式和条件概率相同。条件概率一个事件发生后另一个事件发生的概率,一般形式为P(x∣y)P(x\mid y),表示在yy已经发生的条件原创 2018-01-05 10:13:52 · 393 阅读 · 0 评论 -
机器学习笔记——贝叶斯分类器(I)贝叶斯决策论
基本概念贝叶斯决策论:对于分类任务来说,在所有的相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判损失来选择最优的类别标记。基本原理假设有NN中可能的类别标记,即Y={c1,c2,…,cN}\mathcal{Y}=\{c_1,c_2,\dots,c_N\},λij\lambda_{ij}是将一个真实标记为cjc_j的样本误分类为cic_i所产生的损失。基于后原创 2018-01-06 21:04:09 · 479 阅读 · 0 评论 -
机器学习笔记——贝叶斯分类器(II)极大似然估计
前提估计类条件概率的一种常用策略就是先假定其具有某种确定的概率分布形式,在基于训练样本进行估计。处理方式关于类别cc的类条件概率为P(x∣c)P(\mathbf{x}\mid c),假设P(x∣c)P(\mathbf{x}\mid c)具有确定的形式,而且被参数向量θc\boldsymbol{\theta_c}唯一确定。任务利用训练集合DD估计参数θc\boldsymbol{\原创 2018-01-08 21:55:16 · 859 阅读 · 0 评论 -
机器学习笔记——贝叶斯分类器(III)朴素贝叶斯分类器
属性条件独立性假设贝叶斯定理: P(c∣x)=P(c)P(x∣c)P(x)P(c\mid\mathbf{x})=\dfrac{P(c)P(\mathbf{x}\mid c)}{P(\mathbf{x})} 此时后验概率P(c∣x)P(c\mid\mathbf{x})比较难以估计,由于类条件概率P(x∣c)P(\mathbf{x}\mid c)是所有属性上的联合概率,难以从有限的训练样本原创 2018-01-17 15:51:29 · 503 阅读 · 0 评论 -
机器学习笔记_贝叶斯分类器(IV)_半朴素贝叶斯分类器
为什么需要半朴素贝叶斯分类器1:后验概率P(c∣x)P(c\mid\mathbf{x})计算起来比较困难。 2:属性条件独立性假设在现实任务中往往很难成立。半朴素贝叶斯分类器的基本思想适当考虑一部分属性之间的相互依赖信息,从而既不需要进行联合概率计算,又不至于彻底忽略比较强的属性依赖关系。常用策略_”独依赖估计”方法:假设每个属性在类别之外最多仅依赖于一个其他属性原创 2018-01-19 17:29:11 · 4099 阅读 · 0 评论 -
机器学习笔记——贝叶斯分类器(V)贝叶斯网络
概念贝叶斯网络(Bayesian network),又称“信念网络”(belief network),它借助于有向无环图(Directed Acyclic Graph)来刻画属性之间的依赖关系。并且使用条件概率表来描述属性的联合概率分布。组成一个贝叶斯网络BB由结构GG和参数Θ\Theta两个部分构成,即B=⟨G,Θ⟩B=\langle G,\Theta\rangle.其中原创 2018-01-20 17:28:38 · 3853 阅读 · 1 评论