![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
zsffuture
hello world
展开
-
在校生如何学习机器学习和深度学习?
以下都是个人的一些见解,如果有更好的学习方法欢迎交流本方法适合在校学生学习,急于工作和使用的可以跳过了进入正题:当你需要学习一个新领域知识的时候,你想怎么学?买一本教材看?看官方文档?看博客?还是直接培训?直接看书是不是感觉超级难,看的想睡觉,看论文也差不多吧,看博客始终没有总体轮廓,很乱,时间长了会使你的学习兴趣下降。还有好多人学习机器学习和深度学习有个错误,刚开始学习就去啃DNN和CNN,然后...原创 2018-06-06 12:29:44 · 4177 阅读 · 18 评论 -
机器学习--线性回归1(一元线性回归、多元线性回归,误差性质)
前面几节都是监督学习方面的算法,监督学习是指有目标变量或预测目标的机器学习方法,回归与分类的不同,就在于其目标变量是连续数值型,而分类的目标变量是标称型数据,其实前面的Logistic回归就是回归的一种,他们的处理方法大同小异,在这里系统的讲解一下回归的来龙去脉,理解影响回归的因素,知道如何处理这方面的问题,系统的梳理一下。本节将从最简单的一元线性回归开始,然后是多元,逐次深入, 下面就开始介绍线...原创 2018-10-29 15:16:48 · 26382 阅读 · 1 评论 -
机器学习--组合分类方法之AdaBoost算法
组合分类器是一个复合模型,由多个分类器组合而成,个体分类器投票,组合分类器基于投票返回的标号预测,因此组合分类器通常比他的成员分类器更准确,通常组合分类器包含袋装、提升和随机深林,本节将主要讲解Adaboost算法,袋装很简单,大家可以自行百度。 下面先从感性方面认识一下Adaboost(Adaptive Boosting 自适应提升)算法,然后先举一个简单的例子,再然后从数学方面分析...原创 2018-10-26 14:36:26 · 3025 阅读 · 1 评论 -
机器学习--线性回归3(使用LAR算法进行求解Lasso算法)
上一节我们详细的介绍了岭回归算法和lasso算法的来历和使用,不过还没有详解lasso的计算方式,本节将进行全面的详解,在详解之前,希望大家都理解了岭回归和lasso 的来历,他们的区别以及使用的范围。下面将开始详解求解过程:一样的,讲解之前先把本节需要的基础知识和大家讲讲,这样更容易理解:本节需要大家理解方差、协方差以及相关系数,下面我们逐一来看一下,如果方差、协方差、相关系数的意义不理...原创 2018-10-31 14:12:26 · 5350 阅读 · 0 评论 -
机器学习--支持向量机实战(三)完整版SMO算法实现
完整版和简化版的smo不通之处在于alpha的选择方式上,alpha的更改和代数运算和简化版本,完整版的alpha的选择方式采用了启发式进行选择,前面文章已经详解了,这里再简单的叙述一下: Platt SMO算法是通过一个外循环来选择第一个alpha值的,并且其选择过程会在两种方式之间进行交替即:一种方式是在所有数据集上进行单遍扫描,另一种方式则是在非边界alph...原创 2018-10-24 12:43:58 · 2697 阅读 · 0 评论 -
机器学习--组合分类方法之AdaBoost算法实战(单层决策树原理代码详解)
详细原理请看我的这篇文章,那里是纯理论说明,大量的数学推倒,建议大家多看看数学推倒,因为那才是本质,只有理解了本质你才知道如何使用这个算法,这个算法的优缺点你才会深入理解,搞算法其实就是搞数学,代码实现早都存在了,只是我们有没有能力修改或者优化这个算法?而想完成这个任务,深入理解是第一步,本节只是简单的实现。AdaBoost AdaBoost的一般流程如下所示:(1)收集数据(2...原创 2018-10-27 18:13:55 · 2017 阅读 · 0 评论 -
机器学习--线性回归2(共线性问题、岭回归、lasso算法)
上一节我们讲了线性回归的一元线性回归和多元线性回归,其中多元线性回归在求解的过程中又分为满秩和非满秩的情况,进而引出了的最大释然估计进行处理,后面详细的对回归误差进行了分析,最后误差来源于平方偏置、方差和不可消除的误差三个方面,详细对比了前两个的关系,然后我们又引出了正则化回归,其实就是岭回归,原因也简单的提了一下,本节将详细的对此进行分析,吃透原理,在遇到问题时才知道如何处理它,废话不多说,下面...原创 2018-10-30 18:04:05 · 8516 阅读 · 3 评论 -
机器学习--线性回归4(线性拟合、局部线性拟合实战)
前面三节,我们从最简单的一元线性回归到多元线性回归,讨论了,损失函数到底由那几部分组成(这点我觉很重要,因为它不仅仅存在线性回归中还存在其他机器学习中,因此有必要搞明白他,有兴趣的请看这篇文章),后面详细讨论了多元线性回归,主要介绍了多元线性回归的共线性问题,为了解决共线性问题引出了岭回归,然而岭回归存在缺点,因此又引出了lasso算法,此算法是解决共线性和选择特征很有效的方法(不懂的请看这篇文章...原创 2018-11-01 12:05:38 · 11900 阅读 · 2 评论 -
机器学习--聚类分析(划分方法,层次方法、密度方法)
本节学习聚类分析,聚类属于无监督学习,其中聚类的方法有很多种常见的有K-means、层次聚类(Hierarchical clustering)、谱聚类(Spectral Clustering)等,在这里,上来不会直接介绍这些理论,需要一些基础知识铺垫,和前面一样,一上来就直接介绍聚类算法,显得太突兀,会简单介绍几种,然后重点介绍如何使用这些算法。在知乎看到这个图,挺好的:我们也按照这个...原创 2018-11-06 15:34:14 · 31702 阅读 · 0 评论 -
机器学习--线性回归5(岭回归、LAR算法实现LASSO算法实战)
岭回归算法:岭回归原理不懂的,请先搞懂岭回归的原理在实现,只看代码不懂原理和不学差不多,不懂的请看什么是岭回归,下面直接给出岭回归的优化公式:经过化简以后的目标公式为: 原始的最小二乘法的无偏估计优化目标公式为: 岭估计(有偏估计)的优化目标公式: ...原创 2018-11-02 14:56:12 · 1895 阅读 · 0 评论 -
机器学习--详解CART树剪枝原理和过程
这一节主要讲前面多次的提到的决策树问题,前面的决策树生成算法递归的产生决策树,直到不能继续分支或者达到要求为止,这样的决策树往往对训练数据的分类很准确,因为他就是基于训练数据的熵或者基尼不存度进行分类的,因此对训练数据的会产生过拟合现象,而对未知的数据则没有那么准确。过拟合的本质原因是决策树在训练时追求如何提高训练数据的准确度,而没有考虑构件出的决策树的复杂性,直观上我们能想象出当决...原创 2018-11-04 17:13:56 · 9647 阅读 · 13 评论 -
阶段性总结、反思、计划
机器学习目前就告一段落了,但并不是结束了,还有很多知识都没讲,如PCA、LDA、梯度提升、聚类中的更复杂的聚类方法等都没有讲,这些知识我打算做项目遇到后再详细的介绍,效果可能会更好,另外就是已经讲的都是基础的东西,同时也是很深入的知识,基本上每个算法我都深入挖掘了。这些知识将为我下面的深度学习打下基础。 如果真有人看到,我还是先给大家说说学习理论的难点,然后再说...原创 2018-11-07 16:07:52 · 1540 阅读 · 1 评论 -
2018年度总结和2019年度计划
回顾20182018这一年基本上按照2017年的预定计划完成了任务,制定的计划基本都完成了,少部分还在继续,期间收获了很多也失去了很多,得失在于自己的权衡,总体来说是收获的较多。2017年7月份开始系统学习AI方面的内容,之前一直在关注这个行业,因为和我的专业很相近,因此开始是从机器学习开始的,刚开始学习确实挺难的,这就需要个人的学习能力和理解能力以及学习安排了,同时也和个人的执行能力,自我管...原创 2019-01-06 15:37:40 · 5855 阅读 · 10 评论 -
机器学习--支持向量机(六)径向基核函数(RBF)详解
前面讲解了什么是核函数,以及有效核函数的要求,到这里基本上就结束了,很多博客也是如此,但是呢这些只是理解支持向量机的原理,如何使用它讲解的却很少,尤其是如何选择核函数更没有人讲,不讲也是有原因的,因为核函数的选择没有统一的定论,这需要使用人根据不同场合或者不同问题选择核函数,选择的标准也没有好的指导方法,一般都是尝试使用,所以选择核函数就需要看使用者的经验了,研究者们也在一直研究这种方法,这方面的...原创 2018-10-21 18:09:02 · 97473 阅读 · 5 评论 -
机器学习--支持向量机实战(二)简易SMO算法实现
该简易算法其实完成的任务很简单,就是违反KKT条件的alpha进行符合KKT条件,然后通过不在边界的点进行迭代,然后使其alpha稳定下来下面的代码基本每一句都进行了详细的解释,具体看代码,但是建议没搞懂参数是如何更新的同学,一旦把上一篇的参数更新方法彻底搞懂,下一篇将编写完整的SMO代码,然后在详细阐释其工作原理的来龙去脉,这个简单的smo算法主要集中在处理更新方面,并没有考虑优化计算速度,因此...原创 2018-10-23 10:32:54 · 1139 阅读 · 1 评论 -
机器学习--决策树(熵、信息增益(ID3)、C4.5、多方式源码实战)
谈决策树之前先做一些预备性知识:1.什么是信息?如何衡量信息的多少?怎么衡量? 信息:从广义上讲,是事物运动时发出的信号所带来的消息,是事物存在方式和运动规律的一种表现形式。不同的事物具有不同的存在方式和运动规律,从而构成了各种事物的不同特征。信息普遍存在于自然界、社会界以及人的思维之中,是客观事物本质特征千差万别的反应。信息分为两大类:自然信息与社会信息。 消息:消息是...原创 2018-09-28 19:58:56 · 5475 阅读 · 3 评论 -
机器学习--什么是梯度?为什么梯度方向就是函数上升最快的方向?本文将给你解惑
本打算把梯度放在神经网络来讲,学习机器学习实战时发现用到梯度下降最优算法,所以就把这个知识点深入讲一下,等后面实战到神经网络时,直接复制这里的,这次讲解会深入讲解,简明易懂是目的,虽然网上都有各种画图说明,但是还是不容易理解,本讲解一定会让大家理解的,讲解主要从问题出发,从简单的内容开始,这需要你对导数、向量、多远微分有点了解,进入正题:如果有基础的可以从下面的泰勒级数阅读:想...原创 2018-10-12 17:02:40 · 56508 阅读 · 65 评论 -
机器学习--详解贝叶斯公式、朴素贝叶斯的来龙去脉(附上多方式代码实现)
贝叶斯公式: 提到贝叶斯公式,首先需要从条件概率说起,因为他们都是基于条件概率发展而来的,既然条件概率那么重要,那么什么是条件概率呢? 条件概率是概率论中的一个重要而时用的概念,生活中我们总是无意识的使用它们,即所考虑的事件A已发生的条件下事件B发生的概率,例如生活中,我们能根据今天的天气去预测明天的天气,其实隐含的条件就是在知道今天的天气情况下去预测...原创 2018-10-08 16:01:01 · 14121 阅读 · 3 评论 -
机器学习--支持向量机(三)对偶问题、松弛变量详解
上篇讲到了对偶的式子即:但是什么是对偶?从哪里能体现到对偶的特性?上面的式子为什么是对求最大值?之前不是求最小问题吗?下面给大家讲解一下原因。先给出最初的求最小值的表达式,存在约束条件: 受限于 为了容易数学计算,通过拉...原创 2018-10-18 15:02:06 · 7045 阅读 · 2 评论 -
机器学习--支持向量机(一)什么是支持向量机
支持向量机的提出是为了解决线性无法分类的问题,想要深入理解就需要从线性分类开始探讨,找到线性分类的优缺点,然后在循序渐进的提出解决方法和思路进而引出支持向量机,在继续深入探讨支持向量机的特点,以及如何分类?分类的原理是什么,支持向量机的难点在哪里?如何解决?带着问题去探讨,这样才符合我们认识事物的规律,本篇讲述就按此进行。线性分类器:如图二维数据分类的例子,从 图...原创 2018-10-15 21:54:47 · 8119 阅读 · 7 评论 -
机器学习--支持向量机(四)SMO算法详解
上篇我们讲到,线性和非线性都转化为求解的问题即:求解的方法就是SMO算法,下面详细介绍SMO算法:在讲解SMO算法之前先说明一下讲解思路,首先先帮助大家理解这个式子,说明推倒的过程细节,然后和原论文对照,本文不打算刚开始就深入数学公式,先带大家感性认识一下SMO的算法实现过程,通过语言描述继续讲解,让大家对该算法有一个整体的认识 ,然后在循序渐进深入数学公式,吃透原理,这样符合知识的接...原创 2018-10-19 13:38:59 · 4309 阅读 · 4 评论 -
机器学习--支持向量机(二)拉格朗日乘子法详解
上节我们从线性回归模型出发详细阐述了支持向量的来源,以及为什么需要寻找支持向量,如何找到这决策函数等问题,最后问题转化为下面的求最大值问题: 先说明一下分类就是如果: ...原创 2018-10-16 21:20:55 · 10105 阅读 · 7 评论 -
机器学习--详解基于梯度下降的Logistic回归算法原理
先给出Logistic回归的sigmod函数数学表达式: 很简单的表达式,再看看它的性质,当时,,因此 当时,,因此Logistic回归之所以称为Logistic是...原创 2018-10-10 15:36:20 · 7677 阅读 · 3 评论 -
机器学习--支持向量机实战(一)SMO算法参数更新详解
1.回顾smo前面几节详细的介绍了支持向量机的理论,首先是从线性分类进行引入支持向量机,然后寻找最优超平面,即寻找最大间隔(目的是为了寻找最优超平面),为了解决约束条件引入了拉格朗日因子把约束添加到目标式子中,通过对偶方式把问题转移到求解拉格朗日因子上,同时为了解决离群值问题,引入了松弛变量,最后形式为只含有拉格朗日因子和kkt约束条件,即如下:该方程的解决就是使用SMO算法即Seq...原创 2018-10-22 21:38:42 · 7131 阅读 · 1 评论 -
机器学习--支持向量机(五)核函数详解
前面我们曾经引入二维数据的非线性的情况,但是那种非线性(并不是真正意义上的非线性)是通过松弛因子进行优化的,如果数据比之前还复杂怎么办呢?复杂到即使你怎么调节C你都无法进行分类,这个时候怎么办?如下例子:这个无论你怎么调节参数都无法在二维平面内进行线性分离了,但是我们也可以观察到,分离的办法就是在两个数据中间画一个圆就可分了,但是这非线性了,我们就想通过线性分离怎么办呢?这个时候可以通...原创 2018-10-20 17:54:51 · 8234 阅读 · 11 评论 -
机器学习--支持向量机实战(四)核函数实现
这节和上一节很像,不同的是,上一篇的是通过支持向量和待分类数据內积进行分类的,只是这里不同的是,在计算內积时使用核函数进行代替,这里参考的是机器学习实战中的核函数,如果前面理解的比较深入,读代码还是很简单的,这里的代码建议不要刚开始就去读核函数定义,建议先从测试核函数的代码读,然后搞清楚核函数的参数都代表什么,同时想想作者为什么这样使用,刚开始理解这些可能有点难,多读几遍,在读代码时建议时刻想着前...原创 2018-10-25 10:42:43 · 1779 阅读 · 0 评论 -
机器学习--组合分类方法之随机森林算法原理和实现(RF)
上一节我们详细的介绍了组合分类方法中的boosting提升算法中经典的adaboost提升算法,当然还有其他的提升算法例如:前向分步算法(adaboost算法是该算法的一个特殊情况,)、提升树算法(基于加法模型和前向分布算法),其中提升树的学习算法即损失函数有:平方误差损失函数、指数损失函数、梯度损失函数等在这里就不细讲他们了,因为他们的算法思想都是基于boost提升的,只是学习算法不同罢了,有兴...原创 2018-10-28 17:57:47 · 12272 阅读 · 1 评论 -
集成学习的前世今生(一)
本文将讨论一些众所周知的概念,如自助法、自助聚合(bagging)、随机森林、提升法(boosting)、堆叠法(stacking)以及许多其它的基础集成学习模型。为了使所有这些方法之间的联系尽可能清晰,我们将尝试在一个更广阔和逻辑性更强的框架中呈现它们,希望这样会便于读者理解和记忆。何为集成方法?集成学习是一种机器学习范式。在集成学习中,我们会训练多个模型(通常称为「弱学习器」)解决相同的问...原创 2019-09-16 16:06:27 · 3580 阅读 · 0 评论