
机器学习笔记
文章平均质量分 96
这里主要是记录在学习机器学习算法的过程中的一些心得和知识做一些总结, 主要包括主流的机器学习算法,sklearn中的一些知识。
翻滚的小@强
毕业于某985高校,计算机技术专业,研究方向是数据挖掘和时空序列预测,在学校学习过一些机器学习和深度学习的皮毛,入门过推荐系统,计算机视觉以及NLP和大数据等领域,目前在做大数据分析和挖掘相关的工作, 对人工智能,大数据等各种前沿计算机技术以及其他领域的新事物都特别感兴趣,一直奔跑在学习的路上, 欢迎伙伴们一块学习, 一起交流呀......
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
西瓜书重温(七): 贝叶斯分类器(手推+代码demo)
1. 写在前面今天开始学习西瓜书第七章,有关贝叶斯分类器的基本知识, 贝叶斯决策论是在概率框架下实施决策的基本方法,对分类任务,在所有相关概率已知时, 贝叶斯决策论考虑如何基于概率和误判损失选择最优类别标记。当然,这个学习过程和我们之前学习的像SVM,神经网络等思路不太一样,这其实涉及到统计学界参数估计的两个经典学派: 频率学派和贝叶斯学派了,当然,也产生了两种相差比较远的估计方法(极大似然估计与贝叶斯估计), 另外还有两个我们常听到的名字生成模型与判别模型等。 这些东西都是啥? 背后又有哪些有意思的故原创 2022-06-24 19:15:20 · 2184 阅读 · 4 评论 -
西瓜书重温(五): 神经网络手推版
1. 写在前面这个系列大约有5个多月的时间没有更新了, 这段时间经历了主要是在忙实习的事情,公司里是很难静下心来去阅读西瓜书这样的宝书的,所以呢,一直搁置。而现在回到学校, 算是有一些时间,打算把这个系列接上。虽然这里面的知识比较偏理论,可能给我们的感觉是不太实用,并且写的有些省略,晦涩难懂,对初学者也不是很友好, 但里面有很多重要的思想是我们解决实际问题中会考虑到的,而我之所以想重温一遍,完全是因为兴趣驱动,而这次重温,我也会尽量结合着其他参考资料,对西瓜书的知识作补充,使其连贯,另外就是尝试用更加白话原创 2022-02-08 22:01:17 · 1955 阅读 · 3 评论 -
西瓜书重温(四): 决策树手推版
1. 写在前面2. 信息与信息熵什么是信息?当一件事情(宏观态)有多种可能的情况(微观态)时,这件事情(宏观态)对某人(观察者)而言,具体是哪种情况(微观态)的不确定性叫做熵(Entropy)宏观态,指的是某个事件, 不考虑内部细节的状态微观态,只各种具体的可能,考虑具体细节的状态能够消除该人对这件事情(宏观态)不确定的事物叫做信息。而不能够消除某人对某件事情不确定性的事物叫做噪音, 噪音是干扰某人获得信息的事物。数据是噪音与信息的混合,需要用知识将其分离信息性质:同一个观察者对同原创 2021-05-19 22:24:33 · 1973 阅读 · 19 评论 -
西瓜书重温(三): 线性模型手推版
1. 写在前面今天复习的是线性模型, 对应的西瓜书第3章内容, 结合着白板推导和统计学习方法, 再对知识进行一波串联,顺便把之前的笔记重新梳理合并到一块来了, 这篇文章的内容主要是先整理线性回归模型,这是个比较简单的模型了, 主要过一下优化目标和相关公式推导,顺便走一下最小二乘。 然后整理逻辑回归, 这个也是面试非常喜欢考的内容, 会整理逻辑回归的来历和各种公式的推导。 然后就是LDA,也是整理相关的思路和公式推导, 最后想过一下最大熵模型, 这个模型是统计学习方法上的模型,之前就没怎么看明白,而这次想借原创 2021-05-11 20:38:22 · 1316 阅读 · 16 评论 -
西瓜书重温(一):绪论,可不仅仅是简单介绍
1. 写在前面这次重温周志华老师的《机器学习》, 第一是找工作需要,第二是内在驱动,自己也确实想学习关于算法的一些底层知识了, 吴军老师在《数学之美》里面说: “技术分为道和术两种, 具体的做事方法是术, 做事的原理和原则是道, 追求术的人一辈子工作很辛苦,而只有掌握了事情的本质和精髓才能在工作中游刃有余”, 西瓜书我觉得应该就是道的层面去总结机器学习, 虽然我感觉这本书对初学者不是很友好 ,因为我第一次读这本书的时候是上一年比这早些时候, 那时候给我的体会是完全不知所云或者是停留在皮毛根本无法深入,即使原创 2021-05-10 16:58:55 · 742 阅读 · 2 评论 -
机器学习中的评估指标与损失函数
1. 写在前面在准备找工作面试时, 发现机器学习中的评估指标和损失函数是一个经常要问题的话题, 对于一个算法工程师,衡量模型的好坏以及怎么根据出现的问题进行调整是必备的技能,损失函数代表着模型的优化方向, 而评估函数评估模型的表现性能, 这俩还是不太一样的。 之前也写过一些文章,对这些东西进行过整理, 但是发现依然有一些不知道的点,所以这里再转发一篇文章, 因为在里面发现了一些自己之前不知道的内容, 感觉整理的挺好的, 正好和我之前的互补下。文章来自这里https://blog.youkuaiyun.com/Yasi转载 2021-03-29 00:19:25 · 4404 阅读 · 1 评论 -
西瓜书重温(六): 硬核支持向量机SVM(手推版)
1. 写在前面今天这篇文章是支持向量机SVM的整理,这是机器学习中非常重要的算法之一,也是面试中非常受到面试官青睐的算法, SVM的公式推导几乎是面试必备知识点, 记得之前学习这块内容的时候, 心里非常的抵触这块内容,因为这块总感觉内容极多且公式复杂,不是太想看, 这次重新阅读,同时看了几个老师的视频加以理解之后,才发现原来支持向量机是数学上如此漂亮的算法,也是形式上如此简洁清晰的算法,支持向量机的逻辑性其实是很强的,背后也仅仅只有一条主线在支撑,从表面上看,会看到SVM的种类繁多,从线性可分到线性近似可原创 2021-02-13 18:21:14 · 1434 阅读 · 4 评论 -
西瓜书重温(二): 模型评估与选择
1. 写在前面寒假在家的时间想重新阅读周志华老师的《机器学习》, 第一是找工作需要,第二是内在驱动,自己也确实想学习关于算法的一些底层知识了, 吴军老师在《数学之美》里面说: “技术分为道和术两种, 具体的做事方法是术, 做事的原理和原则是道, 追求术的人一辈子工作很辛苦,而只有掌握了事情的本质和精髓才能在工作中游刃有余”, 西瓜书我觉得应该就是道的层面去总结机器学习, 虽然我感觉这本书对初学者不是很友好 ,因为我第一次读这本书的时候是上一年比这早些时候, 那时候给我的体会是完全不知所云或者是停留在皮毛根原创 2021-02-03 23:03:50 · 1781 阅读 · 7 评论 -
从LeetCode上的“x平方根“再到最优化问题中的牛顿和拟牛顿(知识在某种层面上是相通的呀)
1. 写在前面今天在LeetCode上刷二分搜索相关题目的时候, 无意间刷到了一道"x的平方根"的题目, 这个题当时用的二分查找的思路A掉了, 但看过后面的题解之后,发现还可以使用叫做牛顿迭代法的思路,就顺着这个思路深层次的看了一下, 竟然发现最优化问题里面的牛顿法竟然是从这里过来的,之前在这篇文章中也稍微整理了一点牛顿法的知识,但发现停留在了然的层面, 今天在LeetCode上发现了牛顿法的所以然,通过查阅的一些资料借机会再把这个脉络梳理一遍吧。首先,要先了解一下曲线的线性逼近, 然后说一下牛顿迭代法原创 2021-01-03 17:33:16 · 447 阅读 · 1 评论 -
梯度提升树GBDT的理论学习与细节补充
1. 写在前面今天是梯度提升树GBDT的理论学习和细节补充, 之前整理过XGBOOST和Lightgbm, 在那里面提到了GBDT, 但是只是简单的一过, 并没有关注太多GBDT的细节, 所以这次借着整理推荐系统里面的GBDT+LR模型的机会, 重新过了一遍GBDT和LR的基础知识, 确实发现忽略了很多知识, 而GBDT和逻辑回归模型都是作为面试考核的大点, 所以有必要细一些了。关于逻辑回归的细节, 在这篇文章中进行了补充, 今天的重点是GBDT, GBDT全称梯度提升决策树,在传统机器学习算法里面原创 2020-09-09 08:35:25 · 6484 阅读 · 8 评论 -
逻辑回归、优化算法和正则化的幕后细节补充
1. 写在前面今天开始, 开始尝试进行机器学习算法的一些查缺补漏知识的整理, 主要还是之前没有注意的一些点吧, 之前的一篇补充了线性回归与梯度下降算法的一些细节, 这篇文章主要是对逻辑回归算法模型的细节梳理,以及常用的两种优化算法, 包括梯度下降和拟牛顿法, 最后就是L1和L2正则。这次梳理以重点知识为主, 白话为辅了哈哈 , 因为这些细节部分都是面试中容易出现的一些身影, 所以先初步整理一下, 到时候再简单复习回顾, 这次得严肃一点 ????大纲如下:逻辑回归算法(要点, 来历)常用的优化算法原创 2020-09-07 22:21:43 · 3861 阅读 · 0 评论 -
梯度下降算法的细节补充(凸函数, 导数, 偏导数,梯度, 方向导数以及负梯度下降最快背后的泰勒身影)
1. 写在前面https://www.cnblogs.com/key1994/p/11503840.html原创 2020-08-06 17:20:07 · 4076 阅读 · 3 评论 -
K近邻算法和线性回归的幕后细节
1. 写在前面今天开始, 开始尝试进行机器学习算法的一些查缺补漏知识的整理, 主要还是之前没有注意的一些点吧, 这次主要是KNN算法和线性回归的两个点, 这两个算法或许在大家看来或许都是两个比较简单的算法, 但是这次又偶然学习了一次, 发现还是有些知识是被忽略掉的, 所以借这个机会进行补充。 首先是KNN算法的kd树部分, 这里会通过一个具体的例子来说一下kd树的原理, 之前写白话KNN的时候, 这块知识是略掉的, 但感觉还是有必要了解一下这个东西的, 因为毕竟KNN我们知道, 如果拿一个新样本来判断它属原创 2020-08-02 18:25:52 · 1044 阅读 · 0 评论 -
我们真的明白生成模型和判别模型了吗?
1. 写在前面今天补了一下机器学习的数学知识,突然又遇到了判别模型和生成模型这两个词语,之前学习统计学习方法的时候也遇到过,当时就模模糊糊的,如今再遇到,发现我还是没明白, 但这次哪有轻易再放过去之理?所以查了很多资料,试图结合自己理解的,把这个知识点整理整理,毕竟这个知识点也是面试官非常喜欢问的一个问题。所以,下面我尽量把语言说的白话一些。2. 判定模型 VS 生成模型从本质上讲,生成模...原创 2020-02-17 17:23:09 · 1818 阅读 · 2 评论 -
TF-IDF? 这一篇就够了
今天用朴素贝叶斯做文本分类的时候,需要把普通的文本转成计算机可以识别的特征向量, 这里用到了一种TF-IDF的统计方法,所以先解释一下这个:什么是TF-IDF值呢?TF-IDF 是一个统计方法,用来评估某个词语对于一个文件集或文档库中的其中一份文件的重要程度。TF-IDF 实际上是两个词组 Term Frequency 和 Inverse Document Frequency 的总称,两者缩...原创 2020-02-11 22:59:02 · 3490 阅读 · 0 评论 -
算法模型评估之混淆矩阵,accuracy,查准率,查全率,AUC(ROC)等小总结
学习机器模型,少不了借助一些策略来评估模型的好坏,而准确率、精确率(查准率)、召回率(查全率)、F1值、ROC曲线的AUC值,都可以作为评价一个机器学习模型好坏的指标(evaluation metrics),而这些评价指标直接或间接都与混淆矩阵有关,前四者可以从混淆矩阵中直接计算得到,AUC值则要通过ROC曲线进行计算,而ROC曲线的横纵坐标又和混淆矩阵联系密切,所以在了解这些评价指标之前,先知道...原创 2019-12-13 15:09:43 · 9354 阅读 · 4 评论 -
机器学习处理数据集时,转换成OneHot向量的两种方式
在机器学习处理数据的时候,有时候需要把原始的数据集转换成OneHot向量的形式,模型才能够进一步训练,比如朴素贝叶斯模型等。这里整理两种把原始数据转换为one-hot向量的方式:第一种是使用sklearn.preprocessing中的LabelEncoder和OneHotEncoder进行编码看下面的例子:import numpy as npimport pandas as pdf...原创 2019-09-25 09:05:58 · 6318 阅读 · 0 评论 -
朴素贝叶斯的三个常用模型: 高斯、多项、伯努利的原理和解释
在学习用朴素贝叶斯模型做文本分类的时候, 发现朴素贝叶斯是基于三个常用的模型, 高斯, 多项式, 和伯努利,所以查资料发现了一篇比较好的博客解释着三个模型的原理和区别。 所以转载一下:原文出处:https://blog.youkuaiyun.com/qq_27009517/article/details/80044431 ...转载 2019-09-26 09:15:48 · 4680 阅读 · 2 评论 -
sklean.StratifiedShuffleSplit()函数深层次的理解
今天做一个机器学习项目,预测房价的问题, 里面学习到了一个函数StratifiedShuffleSplit()函数, 参考了一些文章讲解,但是有点模糊,所以自己就又思考了很久,搞明白了这个函数。 这里记录一下。这是函数的原型:sklearn.model_selection.StratifiedShuffleSplit(n_splits=10, test_size=’default’, trai...原创 2019-09-27 22:03:58 · 5660 阅读 · 11 评论 -
十大机器学习算法的一个小总结
在公众号看到来一篇不错的文章,讲解机器学习算法的,感觉挺好的,所以这里对常用的机器学习算法做一个小的总结, 然后根据学习李航老师的《统计学习方法》做得笔记,对这些算法进行补充。简介 关于机器学习算法的研究已经获得了巨大的成功,哈佛商业评论甚至将数据科学家称为二十一世纪最具诱惑力的工作。机器学习算法是在没有人为干涉的情况下,从大量的数据和历史经验中学习数据的结构并提升对某一目标的估计的算法。...原创 2019-10-11 19:55:00 · 10304 阅读 · 0 评论 -
我们真的了解PCA吗?
今天上了一节数学模型的课, 正好讲到PCA(主成分分析方法), 有几个地方没有太清楚,所以通过查阅一些博客和资料,在这里稍微整理一下, 做一个知识的整合。1、 简介 PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。 在机器学习和深度学习领域...原创 2019-09-21 22:15:00 · 669 阅读 · 0 评论