机器学习
机器学习入门知识整理
swordmanwk
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
机器学习学习笔记(20)----CART回归树
上篇文章介绍了CART分类树的实现,CART分类树对于特征值是连续的场景是适用的,但是对于类标记是连续值的场景就不适用了,这时需要采用CART回归树。对于回归算法我们并不陌生,在决策树之前的算法我们学习的所有机器学习的算法都是回归类的算法。我们假设CART回归树的损失函数是: (1)是预测结果,是类标记的样本值。等式两边对求偏导,得到:(2)令,这时得到的最小值,可得: (3)可以看出就是的平均值,所以可以写成: (4)那么对于CART回归树,进行阈值切分的标准...原创 2020-12-13 19:39:23 · 971 阅读 · 0 评论 -
机器学习学习笔记(19)----CART分类树
参考资料:《Python机器学习算法:原理,实现与案例》 刘硕 著原创 2020-11-22 19:28:44 · 633 阅读 · 1 评论 -
机器学习学习笔记(18)----CART(Classification And Regression Tree)算法
C4.5算法虽然相对于ID3算法做了改进,但还是存在一些不足:1)C4.5算法使用了熵模型,以信息增益比作为特征的选择标准,每次划分子树的过程中会涉及很多对数计算,计算过程较为复杂。2)对于连续结果值的预测问题,C4.5算法无法处理。CART算法针对C4.5算法上述不足进行了改进。首先,CART算法使用基尼系数作为特征选择标准。基尼系数的概念是由意大利统计学家和经济学家Corrado Gini在1922年提出。假设数据集有k个分类,其样本总数为,每个分类的样本个数分别为,则一个样本属于第原创 2020-11-14 11:01:23 · 458 阅读 · 0 评论 -
机器学习学习笔记(17)----C4.5算法
ID3算法主要有两个问题:1)选择划分特征时,ID3算法使用信息熵量化数据集的混乱程度,容易优先选取取值种类较多的特征;2)ID3算法不能处理连续的特征值。C4.5算法针对这两点做了改进:1)针对问题1,使用信息增益比替代信息增益;2)针对问题2,基于熵属性离散化方法,将连续值离散化。除了这两点改进以外,C4.5算法和ID3算法几乎一样。首先看一下信息增益比的概念:按照《机器学习学习笔记(14)----决策树》的定义,信息熵增益:对于训练样本集上的任意属性,属性关于集合的原创 2020-08-23 20:11:30 · 407 阅读 · 0 评论 -
机器学习学习笔记(16)----使用Matplotlib绘制决策树
在上一篇文章《机器学习学习笔记(15)----ID3(Iterative Dichotomizer 3)算法》中,我们使用ID3算法生成了一棵决策树,但是看起来并不直观,本文我们把上篇文章中的计算结果绘制成一棵决策树。下面使用python的Matplotlib绘制决策树:import matplotlib.pyplot as pltfrom id3tree import ID3DecisionTreeclass TreePlotter: def __init__(self, tre原创 2020-08-09 09:38:08 · 693 阅读 · 0 评论 -
机器学习学习笔记(15)----ID3(Iterative Dichotomizer 3)算法
ID3(Iterative Dichotomizer 3)算法是决策树中最简单的算法,基于信息增益作为选择特征的标准。算法是一个递归调用的方法,通过调用ID3(S, X)返回一颗决策树。以下是ID3递归算法的伪代码:ID3(S,A)输入:训练数据S,特征子集如果 S中的所有样本都相同: 将该样本类作为该节点的类编号,返回叶子节点;如果(空集): 将S中样本数最多的类作为该节点的类编号,返回叶子节点;否则: 构造一个子节点T, 令 假设有...原创 2020-07-19 16:11:44 · 735 阅读 · 0 评论 -
机器学习学习笔记(14)----决策树
决策树一种树结构的机器学习模型。因为其决策过程就像一颗倒置的树,所以叫决策树。举个例子,我们假设去水果摊买水果,我们需要分辨水果的种类,这时可以通过如下的一个简单的决策过程:通过几个特征规则,我们可以构建一颗决策树,来确定水果的种类。从上图可以看出,树的叶节点就是最终的决策结果,根节点和非叶子节点用于根据某一特征来决策后面的分支路径。那么问题来了,我们怎么构造这样一棵决策树,哪个特征判据应该放在根节点,哪个特征判据应该放在叶子节?...原创 2020-07-12 10:53:28 · 428 阅读 · 0 评论 -
机器学习学习笔记(13)----岭回归(Ridge回归)
在《机器学习学习笔记(4)----线性回归的数学解析》,我们通过计算线性模型的损失函数的梯度,得到使得损失函数为最小值的的解析解,被称之为普通最小二乘法: (1)公式(1)能够求得的前提是是满秩矩阵,这样才能计算得到它的逆矩阵。但是在很多情况下,矩阵不可逆。特别是当样本数m很大时,m >> n时,矩阵基本上是不可逆的,因为矩阵中出现大量线性相关的行向量的几率很高。这时,我们直接去算公式(1)是算不出来结果的。为了解决这个问题,我们需要重新定义损失函数,在损失函数中引入范数项:..原创 2020-06-27 09:48:10 · 4613 阅读 · 0 评论 -
机器学习学习笔记(12)----特征缩放
在《机器学习学习笔记(11)----测试softmax回归》文章中,在对softmax模型进行训练时,我们使用了特征缩放技术。使用特征缩放来处理训练数据集的主要原因是:我在使用原始数据进行训练时发现,进行梯度下降迭代时,损失函数不收敛,无法达到训练效果,所以只好采用特征缩放技术对数据进行处理后再尝试,然后发现取得了良好效果。上篇文章对特征缩放的描述比较简单,这里还是要再仔细研究一下。首先了解几个统计学的基本概念:1,方差:1)总体方差2)样本方差2,标准差:就是方差的平方根。原创 2020-06-26 10:40:11 · 510 阅读 · 0 评论 -
机器学习学习笔记(11)----测试softmax回归
在《机器学习学习笔记(10)----softmax回归》文章中,我们计算出了softmax损失函数的梯度公式:,对于wr,梯度下降公式是:原创 2020-06-21 10:40:49 · 694 阅读 · 0 评论 -
机器学习学习笔记(10)----softmax回归
logistic回归解决的是二元分类问题,对于多元分类问题,需要通过softmax回归模型来解决。回顾一下logistic模型(《机器学习学习笔记(8)----logistic回归模型》),假设事件A发生的概率是p,那么:p=1/(1+exp(-wTx)) (1)其中:wT=(w0 w1 ..... wn),x=(x0 x1 ...... xn)T,x0=1,T表示矩阵的转置。如果对(1)式右边的分数表达式的分子和分母都乘以一个exp(w1Tx),得:p=exp(w1Tx)/(exp(w..原创 2020-06-07 21:02:36 · 354 阅读 · 0 评论 -
机器学习学习笔记(9)----测试logistic回归模型
在《机器学习学习笔记(8)----logistic回归模型》文章中,我们推导出了logistic回归模型的梯度计算的代数公式,为了便于编程计算,我们将其转换成矩阵形式,并得出logistic回归模型的梯度下降迭代公式:...原创 2020-05-31 14:50:13 · 1303 阅读 · 0 评论 -
机器学习学习笔记(8)----logistic回归模型
对于有监督学习,按照解决问题的类型可以分成两类:一类是回归问题,前面的文章我们讨论的都是通过线性回归模型解决回归问题,另外一类问题是分类问题,logistic回归模型就是用于解决二元分类问题。假设我们要预测一个事件A的概率,我们假设这个事件A发生的概率是p,那么该事件A不发生的概率就是1-p。对于表达式:p/(1-p) (1)如果p的结果大于等于0.5,那么表达式(1)的结果大于等于1,表明事件A发生的概率大于事件A不发生的概率。对表达式(1)取对数,得到:ln[p/(1-p)]...原创 2020-05-24 13:15:15 · 633 阅读 · 0 评论 -
机器学习学习笔记(7)----测试梯度下降方法
在上一篇文章中《机器学习学习笔记(6)----梯度下降》,我们推导了批量梯度下降方法,小批量梯度下降方法和随机梯度下降方法的数学公式,本文我们测试一下批量梯度下降方法和随机梯度下降方法的学习效果。首先,编写一份实现批量梯度下降方法的代码(gdlr.py,源码参考自《Python机器学习算法:原理,实现与案例》):import numpy as npclass GDLinearRegression: def __init__(self, n_iter=200, eta=1e-3, to原创 2020-05-20 20:00:32 · 597 阅读 · 0 评论 -
机器学习学习笔记(6)----梯度下降
有很多机器学习的模型的最优化参数不能像普通最小二乘法那样算出解析解,此时需要使用迭代优化方法。梯度下降优化方法是通过让w值沿着梯度下降的方向逐步迭代演进,从而使得损失函数最小化的过程。梯度下降的数学表达式:其中是步长,也叫学习率,学习率选的大,损失函数不收敛,选的小,收敛又太慢。:= 表示迭代运算。在《机器学习学习笔记(4)----线性回归的数学解析》中我们推导过线性回归模型的损失函数的梯度公式:把线性回归模型的梯度公式代入到梯度下降公式中:...原创 2020-05-17 08:07:11 · 320 阅读 · 0 评论 -
机器学习学习笔记(5)----测试最小二乘法
上一篇文章中《机器学习学习笔记(4)----线性回归的数学解析》,求最优的w的方法是普通最小二乘法(Ordinary Least Squares,OLS),最小二乘法的python实现相对简单(ols.py):import numpy as npclass OLSLinearRegression: def _ols(self, X, y): '''最小二乘法''' tmp = np.linalg.inv(np.matmul(X.T, X))原创 2020-05-13 21:00:01 · 978 阅读 · 0 评论 -
机器学习学习笔记(4)----线性回归的数学解析
预备知识,向量微积分:对向量求偏导数:1)y是标量函数,y=cTx=xTc(T是指矩阵的转置)2)y是向量函数,y=Ax3)y是标量函数,y=xTAx(T是指矩阵的转置,A是n*n矩阵)求向量x的偏导数线性回归的假设函数:线性回归的损失函数:现在可以将线性回归问题,转换成求最小值问题,即找到一个最优的w使得j(w)最小:...原创 2020-05-10 15:01:33 · 509 阅读 · 0 评论 -
机器学习学习笔记(3)----基本术语
数据:非结构型数据,比如图片,文本等。结构型数据,人工整理的二维数据表格,例如: 射门(次) 传球(次) 控球(次) 比赛结果 1 9 2 12 赢 2 4 30 9 平 3 6 14 8 输 以上表格代表某个球员参加比赛的统计数据,以及最后的比赛结果。...原创 2020-05-09 20:57:00 · 207 阅读 · 0 评论 -
机器学习学习笔记(2)----线性回归
线性回归算法据说是机器学习中的Hello World,相对简单,机器学习的具体算法主要有三步:1)为假设函数设定参数,通过假设函数画出一条直线,然后根据输入的点得到预测值。2)将测试值带入损失函数,计算出一个损失值。(关于损失函数的定义,以后再讨论)3)通过得到的损失值,利用梯度下降等优化方法,不断调整假设函数的参数,使得损失值最小。这个不断调整参数使得损失值最小化的过程就是线性回归的...原创 2020-05-05 10:32:48 · 498 阅读 · 0 评论 -
机器学习学习笔记(1)----基本概念和环境准备
人工智能的概念因为李世石输给了谷歌的Alfago而变得热门起来,我对这一领域一无所知,考虑到以后人工智能是科技发展的一个主流方向,如果能够对这一领域有所了解,对以后的工作和生活还是很有帮助的,于是到图书馆找了几本相关的书籍,先学习一下,看能否达到扫盲的目的。人工智能是一个很大的领域,我想缩小一下学习范围,只学习机器学习这一块(其实这一块已经很大了)。机器学习的定义如下:假设用性能度量P...原创 2020-05-02 20:29:43 · 368 阅读 · 0 评论
分享