机器学习
白噪声序列
这个作者很懒,什么都没留下…
展开
-
机器学习实战(8):回归树
上一章提到的线性回归应该是使用最广泛的一种方法,但是这个方法时常会出现一些问题:比如我们需要对线性回归模型的随机干扰项施加一些假设,但现实中这些假设常常不能满足,此外当数据拥有众多特征且特征之间关系比较复杂时,用线性回归难以构建一个全局模型,最重要的,现实中满足线性关系的特征只占一小部分,大部分情况下特征之间满足的是非线性关系。这时一种可行的方法就是将数据集切分成多份容易建模的数据,在切分的子集上建立回归模型,这里要用的结构就是回归树。之前在决策树一章我们使用了ID3ID3ID3算法构建决策树,这种算原创 2020-08-26 18:00:23 · 261 阅读 · 0 评论 -
机器学习实战(7):线性回归
一、普通线性回归用最小二乘法求线性回归的系数估计已经是老生常谈了,这里直接看看怎么使用Numpy库中的矩阵方法来实现:二、局部加权线性回归使用普通最小二乘法可能会导致欠拟合,即模型过于照顾方差较大的点,而忽略了对方差较小点的拟合效果,这里可以使用局部加权线性回归:w^=(X′WX)−1X′Wy\hat{w} = (X'WX)^{-1}X'Wyw^=(X′WX)−1X′Wy其中WWW是对角矩阵。局部加权线性回归使用核,使得在估计自变量某个取值对因变量影响时,该自变量取值附近的数据的权重更高。常用的核为原创 2020-08-25 18:43:44 · 584 阅读 · 0 评论 -
机器学习实战(6):AdaBoost提升方法
在概率近似正确学习框架中,强可学习(指存在一个多项式学习算法能够学习一个概念且正确率很高)和弱可学习(指存在一个多项式学习算法能够学习一个概念且正确率仅比随机猜测略好)是等价的。因此AdaBoost提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器,然后组合这些弱分类器,得到一个强分类器。接下来我们分别讨论不同分类器的集成方法、boosting方法以及具有代表性的adaboost提升方法。1.基于数据集多重抽样的分类器1.1 baggingbagging方法,也称为bootstrap ag原创 2020-08-20 22:07:14 · 297 阅读 · 0 评论 -
机器学习实战(5):支持向量机
用于求解SVM对偶问题的常用算法为SMO算法。SMO算法是一种启发式算法,每次选择两个变量,固定其他变量,由这两个变量构建二次规划问题。选择变量的方式是首先选择违反KKT条件最严重的变量,然后选择能够使得第二个变量变化最大的变量。1.简化版SMO算法处理小规模数据集对于变量集αi,i=1,2,⋯ ,N\alpha_i,i = 1,2,\cdots,Nαi,i=1,2,⋯,N,总有约束∑iαiyi=0\sum_i \alp原创 2020-08-16 23:23:59 · 180 阅读 · 0 评论 -
机器学习实战(4):Logistic回归
首先加载数据:接下来写一下logistic模型的梯度上升算法:假设P(yi=1∣xi)=π(xi)P(y_i = 1|x_i) = \pi(x_i)P(yi=1∣xi)=π(xi),那么对于样本观测值集合,其极大似然函数为L(w)=∏i=1m[π(xi)]yi[1−π(xi)]1−yiL(w) = \prod_{i=1}^m[\pi(x_i)]^{y_i}[1-\pi(x_i)]^{1-y_i}L(w)=i=1∏m[π(xi)]yi[1−π(xi)]1−yi,我们的目标就是选择合适的参原创 2020-08-14 23:34:13 · 385 阅读 · 0 评论 -
机器学习实战(3):朴素贝叶斯
朴素贝叶斯的主要思想是对给定的训练数据集,基于特征条件独立假设学习输入输出的联合概率分布,然后对给定的输入xxx,利用贝叶斯定理求出后验概率最大的输出yyy。后验概率P(Y=ck∣X=x)=P(X=x∣Y=ck)P(Y=ck)∑kP(X=x∣Y=ck)P(Y=ck)P(Y = c_k|X = x) =\frac{P(X=x|Y=c_k)P(Y=c_k)}{\sum_k P(X=x|Y=c_k)P(Y=c_k)}P(Y=ck∣X=x)=∑kP(X=x∣Y=ck)P(Y=ck)P(X=x∣Y=ck)原创 2020-08-07 09:19:00 · 230 阅读 · 0 评论 -
机器学习实战(2):决策树
一般决策树学习算法包含特征选择、决策树生成、剪枝三个部分。在特征选择上,使用信息增益的学习算法称为ID3算法,使用信息增益比的学习算法称为C4.5算法。一、特征选择熵的公式:H=−∑pilog2piH = -\sum p_i \mathrm{log}_2 p_iH=−∑pilog2pi代码实现如下:信息增益衡量已知某一变量后,数据集的熵的变化程度g(D,A)=H(D)−H(D∣A) g(D,A) = H(D) - H(D|A)g(D,A)=H(D)−H(D∣A)计算条件熵的方法:训练数据原创 2020-08-05 22:54:05 · 202 阅读 · 0 评论 -
机器学习实战(1):K邻近算法
根据《机器学习实战》一书来实现KNN算法:一、确定K邻近算法不过这个方法没有用kd树进行存储,搜索效率较低。二、例1:使用KNN算法改进配对效果2.1 准备数据先来看看原始数据:这是一个文本文件,每一行都是字符串,需要对其进行分割,然后分别构造数据矩阵和标注向量。2.2 数据预处理由于我们得到的数据都是正数,所以可以采用归一化进行标准化:x∗=x−minmax−min x^* = \frac{x - \min}{\max - \min}x∗=max−minx−min2.3原创 2020-08-04 22:44:10 · 223 阅读 · 0 评论