
机器学习笔记
文章平均质量分 93
赵赵赵颖
这个作者很懒,什么都没留下…
展开
-
看懂SoftMax回归算法之代价函数求偏导的数学推导——机器学习笔记(12)
本文专门讲解softmax算法的代价函数求导的数学推导过程,如果你也喜欢机器学习算法,也希望理解其中的细节,只需要一点微积分基础,进来看吧原创 2020-08-17 22:08:27 · 2674 阅读 · 1 评论 -
机器学习笔记(11)——关联分析之Apriori算法原理和Python实现
说到关联分析,首先想到的就是“啤酒和尿布”的案例,那么如何发现“啤酒”和“尿布”之间的关联关系呢,就是寻找频繁项集。先来学习两个概念。1、支持度和可信度支持度(support)——数据集中包含该项集的记录所占的比例。可信度(confidence)——针对一条关联规则定义,如{尿布}--->{啤酒}的可信度为“支持度({尿布,啤酒}/支持度({尿布}))”。例如:支持度({尿布...原创 2020-01-06 17:05:31 · 3070 阅读 · 0 评论 -
机器学习笔记(10)——逻辑回归算法优化之随机梯度下降法
在上一篇文章《机器学习笔记(9)——深入理解逻辑回归算法及其Python实现》中,详细学习了逻辑回归算法的分类原理和使用梯度下降法来最小化损失函数的数学推导过程,从而拟合出分类函数的参数θ。1. 随机梯度下降还记得参数θ的迭代公式吗:可以看出,每次迭代更新参数θ都需要遍历整个数据集,计算复杂度取决于样本的个数和样本的特征值数,真实情况下,往往样本数不只100个,特征值也不只2个,那...原创 2019-03-12 22:59:52 · 4573 阅读 · 2 评论 -
机器学习笔记(9)——深入理解逻辑回归算法及其Python实现
逻辑回归是一种分类算法,它根据现有的数据对分类边界线建立回归公式,然后再用此公式进行分类。举个简单的例子,假设我们有两类数据分别用x和o表示,希望找到一条分类边界线,有了这条分类边界线,我们就可以对新样本进行分类了,逻辑回归算法的目标就是拟合出参数。为了得到合适的参数,我们需要学习3个知识点:Simoid函数、代价函数和梯度下降法,进而理解逻辑回归算法的思想。1. Sigmoid函数S...原创 2019-01-28 22:59:11 · 1919 阅读 · 0 评论 -
机器学习笔记(8)——C4.5决策树算法的完整Python代码
C4.5算法较之ID3算法主要有4点改进:采用信息增益率作为最优划分属性。 能够处理连续值类型的属性。 能够处理缺失值属性。 增加了剪枝处理,从而避免过拟合。其中第2、3、4点在之前文章中都详细讨论过,此文主要补充说明第一点信息增益率准则,并对C4.5算法给出完整的Python代码。一、信息增益率ID3算法中的信息增益准则对取值数目较多的属性有所偏好,例如西瓜数据集中,如果把“...原创 2018-12-10 16:37:55 · 23462 阅读 · 213 评论 -
机器学习笔记(7)——C4.5决策树中的缺失值处理
缺失值处理是C4.5决策树算法中的又一个重要部分,前面已经讨论过连续值和剪枝的处理方法:机器学习笔记(5)——C4.5决策树中的连续值处理和Python实现机器学习笔记(6)——C4.5决策树中的剪枝处理和Python实现现实任务中,通常会遇到大量不完整的样本,如果直接放弃不完整样本,对数据是极大的浪费,例如下面这个有缺失值的西瓜样本集,只有4个完整样本。在构造决策树时,处理含...原创 2018-11-12 23:07:05 · 20142 阅读 · 29 评论 -
机器学习笔记(6)——C4.5决策树中的剪枝处理和Python实现
1. 为什么要剪枝还记得决策树的构造过程吗?为了尽可能正确分类训练样本,节点的划分过程会不断重复直到不能再分,这样就可能对训练样本学习的“太好”了,把训练样本的一些特点当做所有数据都具有的一般性质,从而导致过拟合。这时就可以通过剪枝处理去掉一些分支来降低过拟合的风险。剪枝的基本策略有“预剪枝”(prepruning)和“后剪枝”(post-pruning):预剪枝是在决策树的生成过程中...原创 2018-10-26 14:21:27 · 20958 阅读 · 61 评论 -
机器学习笔记(5)——C4.5决策树中的连续值处理和Python实现
在ID3决策树算法中,我们实现了基于离散属性的决策树构造。C4.5决策树在划分属性选择、连续值、缺失值、剪枝等几方面做了改进,内容较多,今天我们专门讨论连续值的处理和Python实现。1. 连续属性离散化C4.5算法中策略是采用二分法将连续属性离散化处理:假定样本集D的连续属性有n个不同的取值,对这些值从小到大排序,得到属性值的集合。把区间的中位点作为候选划分点,于是得到包含n-1个...原创 2018-10-18 17:05:20 · 23849 阅读 · 135 评论 -
机器学习笔记(4)——ID3决策树算法及其Python实现
决策树是一种基于树结构来进行决策的分类算法,我们希望从给定的训练数据集学得一个模型(即决策树),用该模型对新样本分类。决策树可以非常直观展现分类的过程和结果,一旦模型构建成功,对新样本的分类效率也相当高。最经典的决策树算法有ID3、C4.5、CART,其中ID3算法是最早被提出的,它可以处理离散属性样本的分类,C4.5和CART算法则可以处理更加复杂的分类问题,本文重点介绍ID3算法。举个...原创 2018-09-27 16:07:37 · 38431 阅读 · 53 评论 -
机器学习笔记(3)——使用聚类分析算法对文本分类(分类数k未知)
聚类分析是一种无监督机器学习(训练样本的标记信息是未知的)算法,它的目标是将相似的对象归到同一个簇中,将不相似的对象归到不同的簇中。如果要使用聚类分析算法对一堆文本分类,关键要解决这几个问题:如何衡量两个对象是否相似 算法的性能怎么度量 如何确定分类的个数或聚类结束的条件 选择哪种分类算法下面就带着这几个问题,以我工作中的一个业务需求为例,来学习一下怎么对中文文本进行聚类。(此文略长...原创 2018-09-14 11:37:13 · 52987 阅读 · 230 评论 -
机器学习笔记(2)——使用朴素贝叶斯算法过滤(中英文)垃圾邮件
在上一篇文章《使用朴素贝叶斯算法对文档分类详解》中,我们实现了用朴素贝叶斯算法对简单文档的分类,今天我们将利用此分类器来过滤垃圾邮件。1. 准备数据——文本切分之前算法中输入的文档格式为单词向量,例如['my', 'dog', 'has', 'flea', 'problems', 'help', 'please'],而实际情况中通常要处理的是文本(例如邮件),那么就要先将文本转换为词向量,...原创 2018-08-30 15:48:20 · 10090 阅读 · 9 评论 -
我的第一篇学习笔记——使用朴素贝叶斯算法对文档分类详解
朴素贝叶斯算法可以实现对文档的分类,其中最著名的应用之一就是过滤垃圾邮件。先做一个简单的分类,以论坛的留言为例,构建一个快速的过滤器,来区分哪些留言是负面言论,哪些是正面言论。我对算法思路的理解:首先计算训练集中每个词语分别在正面(负面)文档中出现的概率以及正面(负面)文档的概率,再计算待分类样本中的每个词语属于正面(负面)文档的概率和正面(负面)文档概率的乘积,即为该样本属于正面(负面)样本...原创 2018-08-28 14:38:01 · 2705 阅读 · 3 评论