机器学习之路
文章平均质量分 84
敲代码的乔帮主
走在梦想的大道上,跌跌撞撞,时而悲伤,时而难过失落,是什么又让我扬起头继续向前呢?是心中的那一朵彼岸之花,牵使着你我之间的约定,成为我心中那一股永不可灭的骨气,终究是信仰。
展开
-
机器学习数学基础总结(不断更新)
一、高数1.1二、线代2.1三、概率论3.1 独立同分布 iid 独立同分布independent and identically distributed (i.i.d.)在西瓜书中解释是:输入空间中的所有样本服从一个隐含未知的分布,训练数据所有样本都是独立地从这个分布上采样而得。独立:每次抽样之间没有关系,不会相互影响;同分布:每次抽样,样本服从同一个分布;独立同分布:i,i,d,每次抽样之间独立而且同分布。 独立同分布在机器学习...原创 2020-07-11 22:42:42 · 705 阅读 · 1 评论 -
XGBoost算法-代码实现和网格调参
这些超参数的合理设置对于模型的性能至关重要。通常,需要通过交叉验证等方法来调整这些参数,以找到最佳的模型配置。在实际应用中,这些信息帮助我们理解模型在不同配置下的表现,并选择最佳的模型参数进行最终的模型部署和预测。利用GridSearchCV算法,找出最合适的num_boost_round和学习率eta超参数。在XGBoost中,这些超参数控制着模型的训练过程和行为。进行的模型超参数优化和验证的细节。这段执行结果提供了通过。原创 2024-09-10 16:03:59 · 1108 阅读 · 0 评论 -
XGBoost算法-确定树的结构
我们在求解上面的w和obj的过程中,都是假定我们的树结构是确定的,因为当我们改变树中划分条件的时候,每个叶子节点对应的样本有可能是不一样的,我们的G和H也是不一样的,得到的最优w和最优obj肯定也是不一样的。到底哪一棵回归树的划分方式是最优的呢?很明显,obj最小的回归树肯定是最合理的,所以我们需要找出导致obj最小的那颗回归树。原创 2024-09-08 20:45:57 · 978 阅读 · 0 评论 -
XGBoost算法-目标函数
xgboost是一个非常强大,非常受欢迎的机器学习模型,其中最大的特色就是boosting(改进、推进),怎么改进呢?就是xgboost这个算法,它会先建立一颗简单的决策树,然后看这个决策树的预测结果,有哪些地方算错了,针对这些错误,来进行一些改进,又拿到一颗决策树,然后看第二颗决策树预测结果又哪些地方错了,然后再根据这些错误再做一些改进,通过这一次次的快速的改进,将错误最小化,最后xg可达到一个非常精确的结果。原创 2024-09-08 04:08:59 · 1249 阅读 · 0 评论 -
机器学习基础概念和名词
尽管机器学习从分类上而言只是人工智能(也就是常说的AI)的分支之一,但其本身也是一个相当巨大的命题。在未来的一段时间里,我将花时间在专栏写一些我比较熟悉的机器学习相关的概念和算法,最主要的目的是为了梳理自己的知识体系,也是希望和大家分享学习的历程和感悟,以达到交流的目的。这两年大数据火了,机器学习、神经网络、数据挖掘、强化学习等等这些名词都火了,然而我常常在想,把这些名词挂在嘴边的我们,究竟能否原创 2017-12-03 20:43:38 · 1013 阅读 · 0 评论 -
预测问题-机器学习思考
假设空间与泛化能力。泛化能力的含义在上文也有说明,为强调起见,这里再叙述一遍:泛化能力针对的其实是学习方法,它用于衡量该学习方法学习到的模型在整个样本空间上的表现。这一点当然是十分重要的,因为我们拿来训练模型的数据终究只是样本空间的一个很小的采样,如果只是过分专注于它们,就会出现所谓的“过拟合”(Over Fitting)的情况。当然,如果过分罔顾训练数据,又会出现“欠拟合”(Under Fitt...原创 2018-04-17 18:53:59 · 4844 阅读 · 0 评论 -
线性分类-基础知识
写在前面: 接下来我们将讨论向量空间中根据数据的特征向量和类别标签构造线性分类模型。首先,介绍关于向量空间、超平面和线性决策函数的基础知识 然后,重点介绍感知机、Fisher线性鉴别和logistic模型。基础知识部分:向量空间(又称线性空间)1.n维向量我们可以看一下数据库中是怎么表示一条记录的,假设该表有n个属性,那么R1表示的就是一个n维向量。每一个属性对应...原创 2019-09-21 17:16:48 · 1418 阅读 · 0 评论 -
简单线性回归(上)
0. 前提介绍:为什么需要统计量? 统计量:描述数据特征0.1 集中趋势衡量0.1.1均值(平均数,平均值)(mean){6, 2, 9, 1, 2}(6 + 2 + 9 + 1 + 2) / 5 = 20 / 5 = 40.1.2中位数 (median):将数据中的各个数值按照大小顺序排列,居于中间位置的变量给数据排序:原创 2017-12-11 18:30:34 · 398 阅读 · 0 评论 -
简单线性回归(下)
1. 简单线性回归模型举例:汽车卖家做电视广告数量与卖出的汽车数量:1.1 如何画出适合简单线性回归模型的最佳回归线?使sum of squares最小计算过程分子 = (1-2)(14-20)+(3-2)(24-20)+(2-2)(18-20)+(1-2)(17-20)+(3-2)(27-20)= 6 + 4 + 0 + 3 + 7= 20...原创 2017-12-11 18:31:10 · 462 阅读 · 0 评论 -
多元线性回归(上)
1. 与简单线性回归区别(simple linear regression)多个自变量(x)2. 多元回归模型y=β0+β1x1+β2x2+ … +βpxp+ε 其中:β0,β1,β2… βp是参数值,ε是误差值3. 多元回归方程E(y)=β0+β1x1+β2x2+ … +βpxp4. 估计多元回归方程y_hat=b0+b1x1+b2x2原创 2017-12-11 18:31:48 · 1307 阅读 · 0 评论 -
多元线性回归(下)
多元线性回归python代码实现:from numpy import genfromtxtimport numpy as npfrom sklearn import datasets, linear_modeldataPath = r"D:\eclipse\mars\project\DeepLearningBasicsMachineLearning\Datasets\Delivery...原创 2017-12-11 18:33:18 · 409 阅读 · 0 评论 -
非线性分类-决策树算法介绍
0、机器学习中算法的评价准确率 速度 强壮性 可规模性 可解释性1、什么是决策树(decision tree)决策树是一个类似于流程图的树结构:其中,每个内部结点表示在一个属性上的测试,每个分支代表一个属性输出,而每个树叶结点代表类或类分布。树的最顶层是根结点。2、它是机器学习中分类方法中一个重要的算法3、构造决策树的基本算法例子:“什么样的人买电脑”下图为数...原创 2017-12-04 14:07:30 · 653 阅读 · 0 评论 -
非线性分类-决策树(离散值、连续值问题数选择)
1.写在前面最近机器学习课上学了决策树相关知识,对于我之前的理解又加深了一步,故再次总结学习。我之前看的是麦子学院关于决策树的讲解,还有代码实现,当时也做了笔记。有兴趣的可以可以看一下。2.非线性问题对于分类问题,如果是可以找出一条直线分开说明是线性可分,其他我们一般称为非线性可分。对于线性不可分数据,采用非线性决策的方法。如图左侧为线性可分,右侧为线性不可分。2.1 线性扩展...原创 2019-10-11 10:45:34 · 2326 阅读 · 0 评论 -
非线性分类-决策树(划分选择问题)
1.写在前面前面写了关于决策树针对特征离散值和连续值,如何选择问题个数进行了探讨(https://blog.csdn.net/Suyebiubiu/article/details/102492274),下面我们将用一部分时间讨论“哪一个特征应该作为根节点,哪一些特征应该放在前面”,这样的选择问题,我们将其称为划分选择问题。2.纯度和非纯度的概念一般而言,随着划分过程不断执行,我们希望决...原创 2019-10-11 12:10:41 · 874 阅读 · 0 评论 -
非线性分类-决策树(剪枝处理)
1.剪枝处理剪枝操作是决策树中应对过拟合的一个主要手段,有时候会造成分支过多,这时候说明训练样本学习的太好了,导致了过拟合的存在,因此我们可以主动的去掉一些分支降低过拟合的风险。剪枝操作基本有预剪枝和后剪枝两个,预剪枝是说在决策树生成过程中,对每一个节点在划分前进行估计,若当前节点的划分不能带来决策树泛化性能提升,则停止划分,并将当前节点标记为叶子节点。后剪枝操作是指在训练完后,生成一个完...原创 2019-10-11 15:14:52 · 518 阅读 · 0 评论 -
非线性分类-决策树算法实现(scikit-learn)
1、python本课程的机器学习的算法都是基于python语言实现的,所以你需要有一定的python语言基础。2、python机器学习的库:scikit-learn特性:1)简单高效的数据挖掘和机器学习分析2)对所有用户开放,根据不同需求高度可重用性3)基于Numpy, SciPy和matplotlib4)开源,商用级别:获得 BSD许可覆盖问题领域:...原创 2017-12-04 14:08:36 · 1029 阅读 · 0 评论 -
支持向量机(SVM)算法原理
1 背景最早是由 Vladimir N. Vapnik 和 Alexey Ya. Chervonenkis 在1963年提出 目前的版本(soft margin)是由Corinna Cortes 和 Vapnik在1993年提出,并在1995年发表 深度学习(2012)出现之前,SVM被认为机器学习中近十几年来最成功,表现最好的算法2 机器学习的一般框架训练集 =>原创 2017-12-04 18:32:45 · 742 阅读 · 0 评论 -
支持向量机(SVM)--线性不可分
1. SVM算法特性:1.1 训练好的模型的算法复杂度是由支持向量的个数决定的,而不是由数据的维度决定的。所以SVM不太容易产生overfitting 1.2 SVM训练出来的模型完全依赖于支持向量(Support Vectors), 即使训练集里面所有非支持向量的点都被去除,重复训练过程,结果仍然会得到完全一样的模型。 1.3 一个SVM如果训练得出的支持向量个数比较小,原创 2017-12-04 18:49:03 · 5336 阅读 · 4 评论 -
支持向量机(SVM)算法在人脸识别上的应用
# -*- coding: gbk -*-# 利用SVM进行人脸识别实例:from __future__ import print_functionfrom time import timeimport loggingimport matplotlib.pyplot as pltfrom sklearn.cross_validation import train_test_spl原创 2017-12-04 18:51:36 · 3016 阅读 · 0 评论 -
支持向量机(SVM)算法代码
1 sklearn实现svm的小例子from sklearn import svmX = [[2,0],[1,1],[2,3]]y = [0,0,1]clf = svm.SVC(kernel = "linear")clf.fit(X,y)print(clf)print(clf.support_vectors_)print(clf.support_)print(cl...原创 2017-12-04 18:44:04 · 958 阅读 · 0 评论 -
手推支持向量机01-硬间隔SVM-模型定义(最大间隔分类器)
目录1.写在前面2.硬间隔SVM(hard-margin SVM)1.写在前面 支持向量机SVM是机器学习中非常流行的分类算法,最近朋友推荐了机器学习-白板推导系列(六)-支持向量机SVM(Support Vector Machine)视频,感觉这个大佬讲的非常棒,之前写的关于svm的东西太浅显了,于是重新整理,方便以后复习。我们主要是从理论推导SVM是怎么一步一步演化到一个优化问题。从核心概念上讲,有一个口头禅:SVM有三宝,间隔、对偶、核技巧。 首先核技巧...原创 2020-07-19 15:39:58 · 973 阅读 · 1 评论 -
手推支持向量机02-硬间隔SVM-模型求解(引出对偶问题)
1.写在前面原创 2020-07-21 23:41:00 · 599 阅读 · 0 评论 -
手推支持向量机03-硬间隔SVM-模型求解(对偶问题之KKT条件)
目录1.写在前面2.KTT条件3.求最终的w*,b*和最终的决策函数1.写在前面 上面我们讲到了怎么对硬间隔SVM进行求解,我们我们先把带约束问题,转化为无约束问题,通过强对偶关系将minmax转为maxmin,对w,b求min,最终我们求出来最小值,然后关于λ求最大值。 我们最后圈出来的地方,可以变成min,只需要在后面加上符号。因为习惯上用最小化表达,并且这个位置把约束也补全了。 这篇博客我们重点看一下上面的优化函数怎么求...原创 2020-07-22 00:25:51 · 662 阅读 · 0 评论 -
手推支持向量机04-软间隔SVM-模型定义
1.写在前面原创 2020-07-26 15:57:06 · 376 阅读 · 0 评论 -
手推支持向量机05-约束优化问题-弱对偶性证明
1.写在前面原创 2020-08-02 17:45:45 · 440 阅读 · 0 评论 -
手推支持向量机06-约束优化问题-对偶关系的几何解释
发送到原创 2020-08-09 20:00:34 · 425 阅读 · 0 评论 -
手推支持向量机07-约束优化问题-对偶关系之slater condition的解释
范德萨发生原创 2020-08-12 18:37:33 · 1818 阅读 · 0 评论 -
手推支持向量机08-约束优化问题-对偶关系之KKT条件
目录1.写在前面2.什么是KKT条件(3组,5个条件)1.写在前面 上一节,我们介绍了slater条件,假如说我们遇到一个凸优化问题+slater条件,那么一定满足强对偶关系。强对偶关系是说p*是原问题的解,d*是对偶函数的解,满足p*=d*。p*对应最优解是x*,d*对应最优解是λ*和η*。怎么求出来这三个最优解呢?KKT就给定了这三者之间的一个关系,可以求出这三个最优解。并且KKT条件和强对偶关系属于充要条件,可以互相推导。我们这一节就介绍什么是KKT条件。2.什么...原创 2020-08-12 19:07:26 · 671 阅读 · 0 评论 -
神经网络算法
1. 背景1.1 以人脑中的神经网络为启发,历史上出现过很多不同版本 1.2 最著名的算法是1980年的 backpropagation算法2. 多层前馈神经网络(Multilayer Feed-Forward Neural Network)2.1 Backpropagation算法被使用在多层前馈神经网络上 2.2 多层前馈神经网络由以下部分组成(如下图):原创 2017-12-04 20:02:56 · 1310 阅读 · 0 评论 -
神经网络算法(python实现)
1. 关于非线性转化方程(non-linear transformation function)sigmoid函数(S 曲线)用来作为activation function: 1.1 双曲函数(tanh) 1.2 逻辑函数(logistic function)2. 实现一个简单的神经网络算法import numpy as npdef tanh(x): ret原创 2017-12-04 20:03:32 · 2045 阅读 · 0 评论 -
神经网络应用--异或判断、手写数字识别
1. 简单非线性关系数据集测试(XOR):X—>y 00–>0 01–>1 10–>1 11–>0调用上节课的神经网络程序,实现异或预测from NeuralNetwork import NeuralNetworkimport numpy as npnn = NeuralNetwork([2,2,1],'tanh')X = np.array([[0,0]原创 2017-12-06 23:53:44 · 422 阅读 · 0 评论 -
KNN算法
1. 综述:1.1 Cover和Hart在1968年提出了最初的邻近算法 1.2 KNN算法属于分类(classification)算法 1.3 输入基于实例的学习(instance-based learning), 懒惰学习(lazy learning)2. 例子:未知电影属于什么类型?3. 算法详述:3.1 步骤:原创 2017-12-04 15:05:58 · 383 阅读 · 0 评论 -
KNN算法的实现
1 Iris Plants Database介绍:150个实例特征值(4种):萼片长度,萼片宽度,花瓣长度,花瓣宽度(sepal length, sepal width, petal length and petal width)类别(3类):Iris setosa, Iris versicolor, Iris virginica.2. KNN实现(利用sklearn机...原创 2017-12-04 17:56:41 · 521 阅读 · 0 评论 -
机器学习-贝叶斯学习
机器学习-贝叶斯学习一:贝叶斯公式及解释:贝叶斯定理由英国数学家贝叶斯 ( Thomas Bayes 1702-1761 ) 发展,用来描述两个条件概率之间的关系,比如 P(A|B) 和 P(B|A)。按照乘法法则,可以立刻导出:P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。如上公式也可变形为:P(A|B)=P(B|A)*P(A)/P(B)。贝叶斯规则是概率统计...原创 2019-09-07 20:53:28 · 1026 阅读 · 2 评论 -
手推隐马尔科夫模型HMM(Hidden Markov Model)01-背景介绍
目录1.写在前面2.概率图模型3.HMM模型 3.1 HMM模型的5元组3.2 HMM模型中的两个假设3.3HMM模型中的三个问题1.写在前面 这篇文章带大家看一个比较有意思的模型-HMM,扩展起来就是Hidden Markov Model。HMM模型在深度学习流行之前,一直活跃在NLP领域,对该领域发展起到了非常大的作用,HMM可以处理自然语言处理和语音识别等领域。我们会在写HMM模型的过程中,将其所涉及到的知识全部串联起来。 当然了,在...原创 2020-08-23 14:12:25 · 680 阅读 · 0 评论 -
手推隐马尔科夫模型HMM(Hidden Markov Model)02-Evaluation评估问题
目录1.写在前面2.Evaluation评估问题3.前向算法-Forward Algorithm(O(N·T^2))4.后向算法-Backward Algorithm(O(N·T^2))1.写在前面 上一篇博客,我们重点介绍了HMM的一些基本概念,模型定义,说明了在使用HMM模型中的两个假设,引出在HMM中的三个重要的问题。HMM模型主要是用来解决三类问题:Evaluation问题、Learning问题、Decoding问题。这篇博客我们重点讲解Evaluation问...原创 2020-08-23 22:20:01 · 387 阅读 · 0 评论