自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(28)--拉格朗日乘子法,多约束拉格朗日乘子法物理意义和KKT条件

1. 拉格朗日乘子法这个问题我们之前涉及到过,在机器学习实战(基于scikit-learn和TensorFlow)学习心得(23)--逻辑回归 Logistic Regression的时候我们把带约束条件的方程通过拉格朗日乘子法合并为了一个方程.拉格朗日乘子法具体是什么样的呢?我们看这么一个式子在下面两个约束条件的情况下求得f的最小值.求最小值其实就是求偏导数等于0的点.如果只...

2020-03-14 23:08:53 859

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(27)--Nonlinear SVM Classification 非线性支持向量机,Polynomial Kern

向我们上一篇说的,SVM只能处理线性的分类,可是我们生活中很少有完美线性的东西,当碰到这种非线性问题得时候,我们可以用提高维度等等各种手段把非线性转为线性.一下图片转载自放羊的水瓶看上图,两种class交叉存在,不存在一条完美的直线能使两种class被分出来.如果要强行使用SVM的话会使模型性能极具下降,甚至到不能使用的情况.这时给原本的features加上polynomial fea...

2020-03-12 23:21:27 296

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(26)--Support Vector Machines 支持向量机基础知识

支持向量机(SVM)是功能强大且用途广泛的机器学习模型,能够执行线性或非线性分类,回归甚至离群值检测。它是机器学习中最受欢迎的模型之一。 SVM特别适合对复杂的中小型数据集进行分类。1. SVM classification现在回到线性回归看一个例子先看左边的图,可以看见紫线和橙线都能很好的区分两个类别,但是假设有新的instance输入,系统不一定能做出正确的判断,因为这两...

2020-03-12 20:52:01 303

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(25)--softmax回归及其计算公式

softmax regission好,接下来说一说softmax,上一个随笔介绍了logistic 回归,但是logistic基本上都是用在二分类问题上,也就是他能分辨出一个样本究竟是A还是B,但如果多出一个C选项的话系统就不能很好的工作了.而softmax就是用来处理多分类问题得.softmax regression的思想是这样的,当给定实例x时,Softmax回归模型首先为每个类别k计...

2020-03-12 00:41:55 367

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(24)--CROSS ENTROPY 交叉熵和logit

1. logitlogit又称为log-odds,odds又译为胜算.他的含义是事件发生的概率与事件不发生的概率之比如果一个事件发生的概率是p,那么不发生的概率就是1-p.则这个事件的odds是p/(1-p)那么log-odds就是log(p / (1 – p)).2.CROSS ENTROPY 交叉熵交叉熵起源于信息论。假设你想每天高效地传输有关天气的信息。如果有八个选项(...

2020-03-10 23:05:20 477

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(23)--逻辑回归 Logistic Regression

我看了很多的资料,大部分的资料将这款都是从前向后讲,先将公式,讲理论,然后再说怎么做,搞的人一头雾水.我这次从后往前讲,先将怎么做,再将为什么这么做.首先我们先看单纯的线性回归方程:如果我们用矩阵的形式表示这个函数就是那么y的取值范围是什么?是[].按照我之前说的,我们先讲我们要怎么做,再讲我们为什么要这么做.我们想把y的取值范围变成[0,1]怎么办呢?很简单,...

2020-03-09 17:51:24 374

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(22)--Elastic Net以及regression的选择

Elastic Net是介于Ridge回归和Lasso回归之间的中间回归。正则项是Ridge和Lasso的正则项的简单混合,可以控制混合比r。当r = 0时,Elastic Net等效于Ridge回归,当r = 1时,它等效于Lasso回归。他的cost function是:那么什么时候应该使用普通的线性回归,什么时候又用Ridge,Lasso或Elastic Net?至少一点正则化几乎是必...

2020-03-08 21:10:48 272

原创 原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(21)--Lasso Regression, ridge regression,范数以及范数等值线

从前面两个心得来看.两种regression其实都是给cost function加一个惩罚项,不同的是lasso加的是一个一次累加惩罚项,而ridge regression加的是一个二次累加惩罚项.用比较数学的话来说lasso加了一个l1范数的惩罚项而ridge加了一个l2范数的惩罚项.先来说说什么是范数1. 范数范数是一个长度概念,基本形态为当p=1时就称为l1范数,写作就是每个...

2020-03-08 19:54:05 598

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(20)--Lasso Regression,梯度下降法

与ridge regression一样,不过加的正则项不一样下图是lasso regression对不同的回归在不同的a值情况下对比与ridge regression相比,lasso可能会使某一个θ变成0,具体原因下一个学习笔记会写道.而lasso成本函数在θi= 0时是不可微的(对于i = 1,2,…,n),所以我们要使用次梯度矢量g代替任何θ= 0,让梯度下降仍然可以正常工作...

2020-03-08 11:02:26 740

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(19)--Ridge Regression

如何避免回归方程overfit,有很多种方法,但比较常见而且容易实施的方法就是约束回归方程参数的取值范围.Ridge Regression, Lasso Regression, and Elastic Net就是三种约束每个feature占比的方法.(这里说的占比指的是y=0.1*x1+2*x2,这个方程中明显看到feature x2占比大(前面的系数大)).1.Ridge Regressi...

2020-03-07 16:45:31 230

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(18)--Polynomial Regression 多项式回归和学习曲线

假设我们的系统散点是这样的从图中可以看出,这个分布形似二次函数,只单纯的使用线性回归去拟合数据是肯定不合适的.所以说我们要把单纯的一次线性回归扩展成多次多项式回归.如何使线性回归扩展成多项式回归呢?一种简单的方法是将每个feature都扩展为多次项,然后在此扩展上训练线性模型。原线性回归方程是:y=a(x1)+b(x2)+1二次多项式方程是:y=c(x1)^2 +d(x2)^2+a(x1...

2020-03-06 23:49:49 394

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(17)--梯度下降法

当我们需要寻找多元线性函数回归方程的时候,除了直接计算法,通过多次梯度的迭代求得最优的theta值.batch Gradient Descent批次梯度下降法,这个下降法就是按部就班的来计算梯度,找切线位置通过几次迭代找到最优解.注意,上面的函数中包含theta,所以说我们要随机设一个初始值以便开始迭代.计算出cost function的梯度之后就可以向最小梯度的方向迭代了.但要注意的...

2020-03-06 00:29:01 320

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(16)--最小二乘法求解线性回归以及多元线性回归参数

所谓线性回归方程其实就是最简单的一元方程,而我们需要做的就是找到那个最好的斜率使得这条线离所有的点的距离之和最小.用数学的说法是使所有点到直线的距离的均方差最小.上面是一组散点,我们想找到一条直线最契合这些散点的走向.上面就是这条曲线.那么我们相求得这个斜率就得使用正规方程组求解.这个方程式怎么来的呢?首先均方差的方程是根据矩阵的公式我们可以把MSE的公式拆成那么求得上...

2020-03-05 21:52:05 270

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(15)--Receiver Operator Characteristic

从定义上来讲,ROC(Receiver Operator Characteristic)是以TPR = TP / (TP + FN) = Recall为x轴,FPR = FP / (FP + TN)为y轴做的图相。翻译成中文来说就是假设我们要从一堆图片中找到5这个数字的图片. TPR就是正确识别出5的图片数量除以所有5的数量.FPR就是被误以为是5但其实并不是5的图片的数量除以总的不是5的图片...

2020-03-02 19:36:27 342

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(14)--Precision and Recall and F1

当我们考验一个classifier的好坏的时候,精准度并不是一个非常好的指标,对于不同的任务我们有两种衡量精准度的办法,precision(精确率)和recall(召回率)假设我们想要识别一组手写数字中的5从上图可知左上角是系统识别出来不是5而且标签也不是5的图片(正确的分类也叫true negative{TN})右上角是系统识别出来是5但是实际上不是5的图片,叫false positi...

2020-03-01 23:41:35 308

转载 机器学习实战(基于scikit-learn和TensorFlow)学习心得(13)--confidence interval

转载

2020-03-01 14:54:49 255

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(12)---cross-validation,超参的选取等杂记

这是一个很好的用来测试model是否好用的工具,可以在测试集量不够大的时候增加检测model是否好用的一种重要的方法.但c-v有利有弊.他会大幅度增加机器计算的负担以及大幅度延长调试时间.需要自我取舍....

2020-02-29 23:12:42 321

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(11)--数据的结构

读了上一篇文章中介绍的iris_data,其中有一些数据结构不是很清晰本篇介绍数据结构data数据就是上图中的da,指的是每一个instance的具体值feature_name指的是上图中的f_n指的是每种feature的名字target_name就是上图中的t_ntarget指的是每一个instance所对应的target的编号,上图中五个instance的类别都是setosa,所以他...

2020-02-28 15:44:50 178

转载 机器学习实战(基于scikit-learn和TensorFlow)学习心得(10)--Sklearn三大模型 - Transformer、Estimator、Pipeline

此篇心得引用自白尔摩斯

2020-02-28 14:59:19 667

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(9)--one-hot encoding

当我们想在model里训练文字类的数据的时候,比如房子距离海边的距离这种描述(<1H OCEAN,INLAND,ISLAND,NEAR BAY, NEAR OCEAN)我们可以简单的给这五种描述赋值1-5,但结果却不好. 这五种其实是完全不同的五种类型,如果我们用1-5进行编码那么1跟2的相似度肯定要大于1跟5,机器就会产生错觉.为了避免这种误差.one-hot encoding就派上用场...

2020-02-27 17:05:14 227

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(8)--SCIKIT-LEARN DESIGN

原文及翻译:Scikit-Learn’s API is remarkably well designed. The main design principles are:Consistency. All objects share a consistent and simple interface:Scikit-Learning的API设计得非常好。主要的设计原则是:一致性。所有对象共享一...

2020-02-26 23:23:05 573

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(7)--数据的筛选

当我们train数据的时候,我们想当然的想让数据之间的联系更加紧密,但更紧密不意味着更好的性能.当我们研究median income和median house pricing的时候,我们可以从图上观测到图片中在450000和350000的地方有两条比较明显的横线.对于这种情况,我们应该适当的去除掉这些数据以保证我们的model不会过分的关注到这点以至于错误的分析了这两个features的关系...

2020-02-26 20:42:15 205

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(6)--standard correlation coefficient

standard correlation coefficient,又称皮尔逊相关系数.是机器学习中重要的一个工具,计算相关系数我们就可以得到两个向量之间的相关程度.从而可以更好的筛选我们需要统计训练的feature.拿实例来说,房价的高低跟很多系数都有关系,但我们想要训练一个model,我们不可能把所有的features都用来训练,我们需要找到跟房价最后关系的几个.那么用PCCs(皮尔逊相关系数...

2020-02-26 15:31:05 514

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(5)--stratified sampling

当我们要做电话调查的时候,为了提高我们的准确性,我们应该尽可能地还原真实数据中各个不同种类所占的比例,比如说男性女性的比例,各个收入阶层的比例等等.而为了确保机器学习的test_set能安比例取到各种数据,我们就应该对数据进行分组取.首先先用pt.cut函数处理date_set.假设我们有一个叫housing["income_cat"]=pd.cut(housing["median_inc...

2020-02-25 23:56:52 336 1

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(2)--机器学习系统的分类

机器学习系统的分类第一种分类方法: 是否有人监督学习监督学习: 每个被用于学习的数据都有其相应的类型,机器从每种类型的数据中总结出各自类型的特点用于进行判断. 垃圾邮件过滤器就是典型的监督学习,训练程序的邮件都被告知了其是不是垃圾邮件,而系统通过总结归纳垃圾邮件与正常邮件各自的特征从而形成一个判断器,当有新的邮件输入到系统中时,判断其会根据输入邮件的特征自动归类邮件.另一类监督学习是回...

2020-02-25 22:29:17 337

原创 机器学习实战(基于scikit-learn和TensorFlow)学习心得(1)--初识机器学习

机器学习最初的雏形是垃圾邮件过滤器 1990年代 他虽然没有自我感知能力但是根据邮件内容判断该邮件是否为垃圾邮件已经具有机器的的最初模型.在进入到机器学习算法之前我们先搞懂几个问题什么是机器学习1959年阿瑟·塞缪尔给出了机器学习的定义MachineLearning is the field of study that gives computers the ability to...

2020-02-25 22:24:23 298

空空如也

空空如也

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

TA关注的人

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