机器学习
崔振凯
这个作者很懒,什么都没留下…
展开
-
机器学习“傻瓜式”理解(17)集成学习
集成学习所谓的集成学习,举个栗子来说,假如我们需要解决一个分类问题,我们不仅仅通过例如KNN这样的算法来进行解决,我们可以让多种算法参与分类预测的过程,例如下图:再举个栗子来说,假如我们5个人准备去吃饭,在面临选择店铺时,假如有4个人都觉得A店的食物物美价廉,我们就会选择A店作为我们最终的吃饭的店铺,这就是生活中的集成思维的栗子。scikit-learn中的集成分类代码:import n...原创 2020-04-17 14:48:22 · 186 阅读 · 0 评论 -
机器学习“傻瓜式”理解(16)决策树
原创 2020-04-17 13:55:48 · 159 阅读 · 0 评论 -
机器学习“傻瓜式”理解(15)SVM(2)
SVM中的非线性数据进行分类实际的生产活动中我们遇到的数据大多数不能进行严格的区分的,为了解决这种问题,目前为止我们可以通过两种方式来解决:①直接利用多项式项进行解决。②利用内核函数(scikit已经封装好的)下面我们将通过代码的方式进行验证。1.添加多项式项import numpy as npimport matplotlib.pyplot as pltfrom sklearn ...原创 2020-04-06 09:05:26 · 248 阅读 · 0 评论 -
机器学习“傻瓜式”理解(14)SVM(1)
SVM(Support Vector Machine):支撑向量机(重点)基本介绍在我们进行机器学习的过程中,会不可避免的出现“不适定问题”,所谓的不适定问题便是值得我们在进行决策的时候,决策边界不唯一,可能会偏向某一样本类型,模型的泛化能力差,其原因可能是模型由训练数据集所得,训练数据集中没有包含所有类型的所有样本,训练数据集中的样本的分布,可能并不能准确的反应不同样本之间的分布规律,并且通...原创 2020-04-05 10:29:38 · 221 阅读 · 0 评论 -
机器学习“傻瓜式”理解(13)混淆矩阵(评价分类结果)
之前的章节我们介绍了多种机器学习算法:KNN->用于解决分类问题线性回归->用于解决回归问题逻辑回归->既可以解决分类问题,又可以解决回归问题。。。总体来说,我们机器学习的算法要解决的问题分为两大类,分别为:分类问题和回归问题。从之前的内容来看,我们通过众多的机器学习算法得到的模型需要进行评估。评价回归问题:MSE,MAE,RMSE,R^2(目前学习为止最好的评价算...原创 2020-04-03 10:51:14 · 3050 阅读 · 0 评论 -
机器学习“傻瓜式”理解(12)逻辑回归
逻辑回归算法基础理解前面我们讲到过线性回归算法和多项式回归算法,算法的本质以及目的便是求出 ý = f(x),如果给函数输入一个预测样本 x ,经过 f(x) 运算后得到一个 ý;但是这种方法存在问题,那便是,我们得到的预测值是处在负无穷到正无穷之间的,没有限制,这样做的弊端很大。但是逻辑回归不同,逻辑回归的原理是将样本的特征和样本发生的概率结合起来,预测样本发生的概率,然后再对样本发生的概...原创 2020-03-11 16:23:20 · 786 阅读 · 0 评论 -
机器学习“傻瓜式”理解(11)模型泛化
上一节我们了解到,我们在机器学习领域要解决的主要问题便是高方差的问题,主要的解决的办法便是模型泛化,其功能的概括来说便是通过限制超参数的大小,来解决过拟合或者模型含有巨大的方差误差这样的问题。岭回归(Ridge Regression)岭回归也是模型正则化一种方式,通过加入模型正则化的方式来更好的解决模型过拟合的线性的产生。根数数学的常识,我们拟合住的模型的上下抖动的幅度主要受参数的影响,因...原创 2020-03-10 16:00:40 · 414 阅读 · 0 评论 -
机器学习“傻瓜式”理解(10)模型评估
过拟合与欠拟合问题我们进行机器学习的目标是寻找出一个模型,使得这个模型对于我们的预测点能够给予准确的解答,而不是让其最大程度的拟合我们的训练数据集的样本点。我们将这种能力称之为模型的泛化能力。(解决模型泛化能力可以称之为机器学习领域十分重要的问题。)评价方法我们在之前的KNN中讲过均方误差(MSE),主要用来描述两组数之间的相同程度。我们通过对X_predict预测出y_predict,然后...原创 2020-03-10 13:29:33 · 271 阅读 · 0 评论 -
机器学习“傻瓜式”理解(9)多项式回归(第一部分:基础理解+应用)
基础理解:之前我们提到过多元线性回归,多元线性回归指的是每一个特征与目标值(y)呈线性关系,但多项式回归指的是样本特征与目标值(y)呈非线性关系,例如:y = ax^2 + bx + c,其中x^2可以看做是人为添加的另一个特征。从而我们也可以得出多项式回归的操作步骤:在现有的模型基础上加上x^2,然后后面的操作便和线性回归中实现的一样。线性回归传送门多项式回归是对线性回归算法的改进,使得...原创 2020-03-08 20:59:35 · 388 阅读 · 0 评论 -
机器学习“傻瓜式”理解(8)PCA(基础理解+梯度上升)
PCA(Principal Components Analysis)基础理解以及公式推导我们在机器学习的过程中需要实现数据的优化处理,降维处理是实现数据优化的手段,主成分分析则是实现数据降维的主要手段。主成分分析便是在我们所有的数据特征中选出主要影响我们最终预测结果的一些特征,但是值得注意的是,PCA不是进行特征选择的过程,而是将高维空间的数据映射到低维空间,低维空间的每个维度,是原始的高维空...原创 2020-03-08 15:57:50 · 223 阅读 · 0 评论 -
机器学习“傻瓜式”理解(7)梯度下降法(第二部分)
小批量梯度下降算法事实上,我们在实际的生产活动中,最经常使用的便是小批量梯度下降法,这种方法综合了随机梯度下降法和批量梯度下降法两种算法,一定程度上避免了他们的缺点,这种算法实现的思路便是每次计算优化的方向既不是查看所有的样本也不是查看单一的样本,而是每次抽取K个样本,把这k个样本的梯度作为优化方向。这样有两个优点:(1)较之批量梯度下降法,小批量梯度下降法运行速度更快。(2)较之随机梯度下...原创 2020-03-07 16:36:09 · 119 阅读 · 0 评论 -
机器学习“傻瓜式”理解(6)梯度下降法(第一部分)
基础理解看到梯度下降算法,首先我们应该去了解几个问题,这是什么?干什么用的?为什么会产生这个概念或者事物?实现的具体思路是什么?为什么这么实现,其背后的原理是什么?首先我们应该明确的一点是,所谓的梯度下降算法并不是一个机器学习算法,而是一个基于搜索的最优化算法。我们在上一节所讲到的线性回归算法的目标是最优化一个损失函数,这也是梯度下降算法的思路。而梯度上升算法是最大化一个效用函数。其次我们需...原创 2020-03-07 13:41:46 · 223 阅读 · 0 评论 -
机器学习“傻瓜式”理解(5)线性回归(简单+评估+多元)
1.基础理解:先来讲解简单线性回归,通过一张图基础理解一下:通过对上图的理解我们可以简单概括一下简单线性回归:只有一个特征,在多个数据集中我们尽可能的寻找一条直线能够最大程度的拟合这些数据,正如图片中所示,我们寻找除了一个目标函数,也就是损失函数,来最小化我们预测值与真实值之间的误差。总结线性回归的特点可得到:①线性回归如其名,主要用于解决回归问题,并且它是许多非线性回归模型的基础。...原创 2020-03-05 14:04:00 · 605 阅读 · 0 评论 -
机器学习“傻瓜式”理解(4)KNN算法(数据处理以及超参数)
数据处理以及超参数的理解首先我们需要了解到,我们在进行机器学习的过程中寻求的不是让训练处的在现有的数据集上达到最佳,而是我们需要让其在真实环境中达到最佳的效果。在上一节中我们将全部的数据集全部用于训练模型中,对于我们所训练出的模型无法知道其具体的准确度便投入真实环境使用,这样的做法极具风险性,而且我们也不推荐。解决方案:机器学习最常用的解决方案便是实现测试集和训练集的相互分离(此方法仍具有局限...原创 2020-03-04 13:43:10 · 2917 阅读 · 0 评论 -
机器学习“傻瓜式”理解(3)KNN算法(初步理解)
KNN(K近邻算法)基础理解面对这个算法需要蹦出来几个问题:KNN是什么?可以解决什么问题?怎么实现?有什么优缺点?首先,KNN我们通常称之为K近邻算法,通俗的理解便是如果我们认为两个特征之间他们足够相似,我们就有理由认为他们属于同一个类别。丰富上一小节的一张图以后:接着,通常情况下我们使用KNN是用来解决分类问题,当然,很少情况下我们也会使用它来解决回归问题。其主要的解决思路为:...原创 2020-03-03 15:47:55 · 398 阅读 · 0 评论 -
机器学习“傻瓜式”理解(2)基础概念理解
何为机器学习?举一个生活中的栗子,在邮箱系统中一定存在着这样一个功能:垃圾邮件过滤功能。问题便出现了:何为垃圾邮件?我们需要去编写一定的规则去帮助计算机去识别出垃圾邮件将其过滤掉。“去编写规则帮助计算机识别”这一动作我们便可将其为机器学习的过程。再举一个栗子,想象这样一个场景,将你自己视为一台“计算机”,你需要去面对年末考试,你需要进行大量的练习(读取大量数据并训练),然后去进行预测未知的题目...原创 2020-03-03 13:39:21 · 228 阅读 · 0 评论 -
机器学习“傻瓜式”理解(1)写在前面
介绍一波本人机器学习小白,通过在波波老师的讲解下以及加上自己的理解,来记录本人在学习机器学习过程中的感悟,分享通过自己的对机器学习的理解以及波波老师的讲解下,而自己封装的一个算法库。详细代码在本人的GitHub仓库中:CuiZhenKai中详细源码。贴上链接:CuiZhenKai的Git主页波波老师地址:推荐波波老师技术小白,中间如有不足,请各位路过的大神高抬贵手,给予指正。希望大家2...原创 2020-03-02 20:48:38 · 155 阅读 · 0 评论