自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

The Zen of Data Analysis

Discover yourself in Data Analysis

  • 博客(68)
  • 收藏
  • 关注

原创 SVC在非线性数据上的推广

为了能够找出非线性数据的线性决策边界,我们需要将数据从原始的空间投射到新空间中。是一个映射函数,它代表了某种非线性的变换,如同我们之前所做过的使用r来升维一样,这种非线性变换看起来是一种非常有效的方式。使用这种变换,线性SVM的原理可以被很容易推广到非线性情况下,其推导过程和逻辑都与线性SVM一模一样,只不过在定义决策边界之前,我们必须先对数据进行升维度,即将原始的转换成。如此,非线性S...

2019-10-27 20:02:07 215

原创 机器学习:线性SVM转换拉格朗日对偶函数和决策函数

拉格朗日函数转换为拉格朗日对偶函数Why need求极值,最简单的方法还是对参数求导后让一阶导数等于0。先来试试对拉格朗日函数求极值,在这里对参数向量和截距分别求偏导并且让他们等于0。这个求导过程比较简单:由于两个求偏导结果中都带有未知的拉格朗日乘数αi,因此还是无法求解出ω和b,必须想出一种方法来求解拉格朗日乘数αi。幸运地是,拉格朗日函数可以被转换成一种只带αi,不带ω和b的形式,这...

2019-10-26 07:09:41 1297

原创 机器学习:线性SVM损失函数转换拉格朗日乘数

线性SVM的拉格朗日对偶函数和决策函数有了损失函数,就需要对损失函数进行求解。这个求解过程异常复杂,涉及到的数学的难度不是推导损失函数的部分可比。并且,在sklearn当中,我们作为使用者完全无法干涉这个求解的过程。因此作为使用sklearn的人,这部分属于进阶内容。之前得到了线性SVM损失函数的最初形态:minω,b∣∣ω∣∣22min_{ω,b}\frac {{||ω||}^2}2min...

2019-10-20 21:55:00 724

原创 机器学习:线性SVM的损失函数

要理解SVM的损失函数,先定义决策边界。假设现在数据中总计有个训练样本,每个训练样本i可以被表示为(xi)(x_i)(xi​),其中是这样的一个特征向量,每个样本总共含有个特征。二分类标签的取值是{-1, 1}。如果n等于2,则有,分别由我们的特征向量和标签组成。此时我们可以在二维平面上,以为横坐标, 为纵坐标, 为颜色,来可视化我们所有的N个样本:我...

2019-10-20 12:20:33 860

原创 机器学习:支持向量机SVM

支持向量机(SVM,也称为支持向量网络),是机器学习中获得关注最多的算法没有之一。它源于统计学习理论,与集成算法一样,也是强学习器。从算法的功能来看,SVM几乎囊括了所有常用算法的功能:有监督学习:线性二分类与多分类(Linear Support Vector Classification)非线性二分类与多分类(Support Vector Classification, SVC)普通连续...

2019-10-19 21:48:14 766

原创 机器学习:算法模型的偏差 vs 方差

一个集成模型(f)在未知数据集(D)上的泛化误差E(f;D),由方差(var),偏差(bais)和噪声(ε)共同决定。E(f;D)=bias2(x)+var(x)+ϵ2E(f;D)=bias^2(x)+var(x)+\epsilon^2E(f;D)=bias2(x)+var(x)+ϵ2关键概念:偏差与方差观察下面的图像,每个点就是集成算法中的一个基评估器产生的预测值。红色虚线代表着这些预测值...

2019-10-19 12:20:03 1203

原创 机器学习模型的评估指标

机器学习的参数调整是为了更好的模型拟合度,那么其评估标准是什么,如何调整参数来提升模型的整体效果呢?调参的方式总是根据数据的状况而定,所以没有办法一概而论。通过画学习曲线,或者网格搜索,能够探索到调参边缘(代价可能是训练一次模型要跑三天三夜),“业界广泛流传:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已”。但是在现实中,高手调参恐怕还是多依赖于经验,而这些经验,来源于:1...

2019-10-19 11:13:38 504

原创 sklearn机器学习:AdaBoost回归器

上篇博文讨论了AdaBoost分类器,接下来一起看一下AdaBoost回归器如何工作。核心参数至于弱分类器,还是使用决策树,用一个小例子一起来看AdaBoostRegressor的使用。#AdaBoostRegressor#导入所需的模块和包import numpy as npimport matplotlib.pyplot as pltfrom sklearn.tree imp...

2019-10-18 22:23:29 4822

原创 sklearn机器学习:AdaBoost分类器

AdaBoostAdaBoost,是英文"Adaptive Boosting"(自适应增强)的缩写,由 Yoav Freund 和 Robert Schapire在1995年提出。它的自适应在于:前一个基本分类器分错的样本会得到加强(也就是得到更高的权重),加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭...

2019-10-18 21:59:08 8030

原创 sklearn机器学习:随机森林回归器RandomForestRegressor

sklearn随机森林回归器类的格式sklearn.ensemble.RandomForestRegressor (n_estimators=’warn’, criterion=’mse’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’au...

2019-10-18 16:43:30 39829 2

原创 sklearn机器学习:随机森林分类器RandomForestClassifier

以下以随机森林为例讨论集成算法。sklearn随机森林分类器随机森林是非常具有代表性的Bagging集成算法,它的所有基评估器都是决策树,分类树组成的森林就叫做随机森林分类器,回归树所集成的森林就叫做随机森林回归器。我们先来看RandomForestClassifier,随机森林分类器。class sklearn.ensemble.RandomForestClassifier (n_est...

2019-10-16 22:05:25 21173 2

原创 机器学习:集成算法概述

集成学习(Ensemble learning)就是将若干个弱分类器通过一定的策略组合之后产生一个强分类器,是时下非常流行的机器学习算法,它本身不是一个单独的机器学习算法,而是通过在数据上构建多个模型,集成所有模型的建模结果。基本上所有的机器学习领域都可以看到集成学习的身影,在现实中集成学习也有相当大的作用,它可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易...

2019-10-16 19:44:49 789

原创 sklearn机器学习:基于密度的聚类算法DBSCAN

DBSCANK-Means是最常见的聚类方法,能够实现快速聚类,但局限于其算法构架,K-Means对非球形边界的数据很难达到一个较好的分类效果,因此我们需要借助另外的数学理理论工具对其进行进一步的完善。这里介绍一种利用密度进行聚类的方法:DBSCAN。一方面作为聚类算法的补充内容,一方面需要掌握面一个新算法如何利用scikit-learn快速上手应用实践的方法,当然最重要的一点,是要树立关于...

2019-10-15 06:42:10 5220

原创 sklearn机器学习:K-Means之提前停止迭代

重要参数max_iter & tol:让迭代停下来之前描述K-Means的基本流程时我们提到过,当质心不再移动,K-Means算法就会停下来。但在完全收敛之前,我们也可以使用max_iter,最大迭代次数,或者tol,两次迭代间Inertia下降的量,这两个参数来让迭代提前停下来。有时候,当我们的n_clusters选择不符合数据的自然分布,或者为了业务需求,必须要填入与数据的自然分布不...

2019-10-14 21:58:57 3073

原创 sklearn机器学习:K-Means初始质心怎么放

重要参数init & random_state & n_init在K-Means中有一个重要的环节,就是放置初始质心。init如果有足够的时间,K-means一定会收敛,但Inertia可能收敛到局部最小值。是否能够收敛到真正的最小值很大程度上取决于质心的初始化。init就是用来帮助我们决定初始化方式的参数。random_state初始质心放置的位置不同,聚类的结果很可...

2019-10-14 21:35:22 9174

原创 机器学习:聚类算法的模型评估指标:轮廓系数

不同于分类模型和回归,聚类算法的模型评估不是一件简单的事。在分类中,有直接结果(标签)的输出,并且分类的结果有正误之分,所以使用预测的准确度,混淆矩阵,ROC曲线等指标来进行评估。但无论如何评估,都是在”模型找到正确答案“的能力。而回归中,由于要拟合数据,我们有MSE均方误差,有损失函数来衡量模型的拟合程度。但这些衡量指标都不适用于聚类。如何衡量聚类算法的效果聚类模型的结果不是某种标签输出,...

2019-10-14 21:00:43 9242 1

原创 sklearn机器学习:K-Means

K-Means类的格式sklearn.cluster.KMeans (n_clusters=8, init=’k-means++’, n_init=10, max_iter=300, tol=0.0001, precompute_distances=’auto’, verbose=0, random_state=None, copy_x=True, n_jobs=None, algorithm=...

2019-10-14 20:21:21 331

原创 机器学习:基于原型的聚类技术K-Means

基于原型的簇此时簇是对象的集合,并且其中每个对象到定义该簇的原型的距离比到其他簇的原型的距离更近(或更加相似)。对于具有连续属性的数据,簇的原型通常是质心,即簇中所有点的平均值。当质心没有意义时(例如当数据具有分类属性时),原型通常是中心点,即簇中最有代表性的点。对于许多数据类型,原型可以视为最靠近中心的点;在这种情况下,通常把基于原型的簇看作基于中心的簇(center-based cluste...

2019-10-14 18:14:48 1399

原创 机器学习:无监督学习与聚类算法

决策树、线性和逻辑回归都是比较常用的机器器学习算法,他们虽然有着不不同的功能,但却都属于 “有监督学习” 的一部分,即是说,模型在训练的时候,即需要特征矩阵X,也需要真实标签y。机器器学习当中,还有相当一部分算法属于 “无监督学习” ,无监督的算法在训练的时候只需要特征矩阵X,不需要标签。无监督学习的代表算法有聚类算法、降维算法。聚类聚类分析提供由个别数据对象到数据对象所指派的簇的抽象。此外,...

2019-10-14 17:32:47 773

原创 sklearn机器学习:逻辑回归LogisticRegression参数解析之梯度下降

梯度下降:重要参数max_iter在上篇博文《sklearn机器学习:逻辑回归LogisticRegression参数解析之penalty & C》中,我们解析了参数penalty & C,本文重点讨论max_iter。逻辑回归的目的是求解能够让模型最优化、拟合程度最好的参数ω的值,即求解能够让损失函数J(ω)最小化的ω值。对于二元逻辑回归,有多种方法可以用来求解参数ω,最常...

2019-10-14 17:04:18 2669

原创 sklearn机器学习:逻辑回归LogisticRegression参数解析之penalty & C

LogisticRegression类的格式sklearn.linear_model.LogisticRegression (penalty=’l2’, dual=False, tol=0.0001, C=1.0, fit_intercept=True, intercept_scaling=1, class_weight=None, random_state=None, solver=’warn...

2019-10-14 14:05:27 18678 1

原创 机器学习:二元逻辑回归的损失函数

损失函数的概念和解惑在学习决策树时,曾经提到过两种模型表现:在训练集上的表现,和在测试集上的表现。建模,是追求模型在测试集上的表现最优,因此模型的评估指标往往是用来衡量模型在测试集上的表现的。然而,逻辑回归有着基于训练数据求解参数的需求,并且希望训练出来的模型能够尽可能地拟合训练数据,即模型在训练集上的预测准确率越靠近100%越好。因此,**使用”损失函数“这个评估指标,来衡量参数为的模型拟合...

2019-10-12 22:00:52 1520

原创 机器学习:为什么需要逻辑回归

线性回归对数据的要求很严格,比如标签必须满足正态分布,特征之间的多重共线性需要消除等,而现实中很多真实情景的数据无法满足这些要求,因此线性回归在很多现实情境的应用效果有限。逻辑回归是由线性回归变化而来,因此它对数据也有一些要求;已经有了强大的分类模型决策树,它的分类效力很强,并且不需要对数据做任何预处理。何况,逻辑回归的原理其实并不简单。要理解逻辑回归,必须要有一定的数学基础,必须理解损失函数...

2019-10-12 21:16:51 2234

原创 机器学习:逻辑回归原理

之前的几篇博文,我们接触了不少带“回归”二字的算法,回归树、线性回归、岭回归,无一例外都是区别于分类算法,用来处理和预测连续型标签的算法。然而,逻辑回归,是一种名为“回归”的线性分类器,其本质是由线性回归变化而来的,一种广泛使用于分类问题中的广义回归算法。要理解逻辑回归从何而来,要先从线性回归开始。线性回归是机器学习中最简单的回归算法,对任意样本iii,它写作一个几乎人人熟悉的方程:zi=ω0+...

2019-10-11 21:53:26 225

原创 sklearn机器学习:特征选择-Lasso

Lasso的核心作用:特征选择Lasso类的格式sklearn.linear_model.Lasso (alpha=1.0, fit_intercept=True, normalize=False, precompute=False, copy_X=True, max_iter=1000, tol=0.0001, warm_start=False, positive=False,random...

2019-10-11 11:48:47 12293 6

原创 机器学习:线性模型-多重共线性问题的解决-Lasso

除了岭回归,最常被提到的模型还有Lasso。Lasso全称最小绝对收缩和选择算子(least absolute shrinkage and selection operator),由于这个名字过于复杂,所以简称为Lasso。和岭回归一样,Lasso是被创造来作用于多重共线性问题的算法,不过Lasso使用的是系数ω的L1范式(L1范式是系数ω的绝对值)乘以正则化系数α,所以Lasso的损失函数表达式...

2019-10-11 10:36:20 3300

原创 sklearn机器学习:岭回归用于选取最优正则化系数α的类RidgeCV

上一篇博文《sklearn机器学习:岭回归Ridge》中,提到了最佳正则化参数α\alphaα取值选择的重要性。既然要选择α\alphaα的范围,不可避免地要进行最优参数的选择。岭迹图在各种机器器学习教材中,总是教导使用岭迹图来判断正则项参数的最佳取值。传统的岭迹图长这样,形似一个开口的喇叭图(根据横坐标的正负,喇叭有可能朝右或者朝左):这个以正则化参数为横坐标,线性模型求解的系数ω\om...

2019-10-11 09:36:56 6595 1

原创 sklearn机器学习:岭回归Ridge

在sklearn中,岭回归由线性模型库中的Ridge类来调用:

2019-10-10 18:28:21 1967

原创 机器学习:线性模型-多重共线性问题的解决-岭回归

在线性模型之中,除了线性回归之外,最知名的就是岭回归与Lasso了。这两个算法非常神秘,他们的原理和应用都不像其他算法那样高调,学习资料料也很少。这可能是因为这两个算法不是为了提升模型表现,而是为了修复漏洞而设计的(实际上,使用岭回归或者Lasso,模型的效果往往会下降一些,因为删除了一小部分信息),因此在结果为上的机器学习领域颇有些被冷落的意味。本文介绍一下岭回归。岭回归,又称为吉洪诺夫正则化...

2019-10-10 17:19:54 1875

原创 线性回归:多重共线性的相关数学推导

多元线性回归使用最小二乘法求解,对多元线性回归的损失函数求导,并得出求解系数的式子和过程:最后一步中需要左乘XTX的逆矩阵,而逆矩阵存在的充分必要条件是特征矩阵不存在多重共线性。什么是多重共线性,如何一步步从逆矩阵必须存在推导到多重共线性不能存在?逆矩阵存在的充要条件逆矩阵存在与否的意义和影响。一个矩阵什么情况下才可以有逆矩阵呢?来看逆矩阵的计算公式:A−1=1∣A∣A^{-1}=\L...

2019-10-10 13:33:26 2285

原创 回归类的模型评估指标R2

先来看一组代码:import numpy as nprng = np.random.RandomState(42)X = rng.randn(100, 80)y = rng.randn(100)cross_val_score(LR(), X, y, cv=5, scoring='r2')运行结果array([-179.12952605, -5.692624 , -15.61...

2019-10-10 10:05:33 8070 4

原创 回归类的模型评估指标2:是否拟合了足够的信息

回归类算法中,有两种不同的角度来看待回归的效果:第一,是否预测到了正确的数值。第二,是否拟合到了足够的信息。上篇博文已经讨论了第一种角度,本文讨论第二种角度:是否拟合了足够的信息对于回归类算法而言,只探索数据预测是否准确是不够的。除了数据本身的数值大小之外,还希望模型能够捕捉到数据的“规律”,比如数据的分布规律、单调性等,而是否捕获了这些信息并无法使用MSE来衡量。上图,红色线是真实...

2019-10-10 08:11:14 1013

原创 回归类的模型评估指标1:是否预测了正确的数值-MSE,MAE

建模的过程在sklearn当中其实非常简单,但模型的效果如何呢?接下来,看看多元线性回归的模型评估指标。回归类算法的模型评估一直都是回归算法中的一个难点,但不像无监督学习算法中的轮廓系数等评估指标,回归类与分类型算法的模型评估其实是相似的法则——找真实标签和预测值的差异。只不过,在分类型算法中,这个差异只有一种角度来评判,那就是是否预测到了正确的分类,而回归类算法中,有两种不同的角度来看待回归...

2019-10-09 15:22:38 806

原创 sklearn机器学习:线性回归LinearRegression

LinearRegression类格式sklearn.linear_model.LinearRegression (fit_intercept=True, normalize=False, copy_X=True,n_jobs=None)参数fit_intercept布尔值,可不填,默认为True是否计算此模型的截距。如果设置为False,则不会计算截距normalize布尔值,...

2019-10-09 14:41:59 840

原创 用最小二乘法求解多元线性回归的参数

最小二乘法如何求解多元线性回归残差平方和RSS最小化的参数向量?这种通过最小化真实值和预测值之间的RSS来求解参数的方法叫做最小二乘法。求解极值的第一步往往是求解一阶导数并让一阶导数等于0,最小二乘法也不能免俗。因此,首先在残差平方和RSS上对参数向量求导。这里的过程涉及少数矩阵求导的内容,需要查表来确定,感兴趣可以去维基百科去查看矩阵求导的详细公式的表格:https://en.wikip...

2019-10-09 11:17:00 7543

原创 线性回归家族-多元线性回归LinearRegression

多元线性回归的基本原理线性回归是机器学习中最简单的回归算法,多元线性回归指的就是一个样本有多个特征的线性回归问题,所以多元其实指的是多个特征。对于一个有个特征的样本而言,它的回归结果可以写作一个几乎人人熟知的方程:...

2019-10-09 10:10:18 291

原创 线性回归家族-概述

回归是一种应用广泛的预测建模技术,这种技术的核心在于预测的结果是连续型变量。KNN这样的分类算法的预测标签是分类变量量,多以{0,1}来表示,而无监督学习算法比如KMeans并不求解标签,注意加以区别。回归算法源于统计学理理论,它可能是机器器学习算法中产生最早的算法之一,其在现实中的应用非常广泛,包括使用其他经济指标预测股票市场指数,根据喷射流的特征预测区域内的降水量,根据公司的广告花费预测总...

2019-10-08 22:24:27 223 1

原创 机器学习:朴素贝叶斯算法的优缺点

朴素贝叶斯的主要优点朴素贝叶斯模型发源于古典数学理理论,有稳定的分类效率。对小规模的数据表现良好,能够处理多分类任务,适合增量式训练,尤其是数据量超过内存时,可以逐批地去增量训练。对缺失数据不太敏感,算法也比较简单,常用于文本分类。朴素贝叶斯的主要缺点理论上,朴素贝叶斯模型与其他分类方法相比,具有最小的误差率。但是,实际上并非总是如此,因为,朴素贝叶斯模型给定输出类别的情况下,假设...

2019-10-08 20:57:34 4164

原创 机器学习:概率分类模型评估指标-ROC曲线

接受者操作特征(Receiver Operating Characteristic Curve,ROC)曲线是显示分类器真正率和假正率之间折中的一种图形化方法,也是最常用的评估分类模型好坏的可视化图形,在介绍ROC曲线之前,先回归之前介绍过的混淆矩阵。回顾混淆矩阵ROC曲线该曲线的横坐标为假正率(False Positive Rate, FPR),N是真实负样本的个数,FP是N个负样本中...

2019-10-08 20:50:54 814

原创 sklearn机器学习:贝叶斯的样本不均衡问题

贝叶斯由于分类效力不算太好,因此对样本不平衡极为敏感,本文将讨论样本不平衡问题会如何影响到贝叶斯。先看代码:import numpy as npfrom sklearn.naive_bayes import MultinomialNB, GaussianNB, BernoulliNBfrom sklearn.model_selection import train_test_splitf...

2019-10-08 20:43:19 2560 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除