前文推荐 如何正确使用「K均值聚类」? KMeans算法是典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大.该算法认为簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标. K个初始聚类中心点的选取对聚类结果具有较大的影响,因为在该算法第一步中是随机地选取任意k个对象作为初始聚类中心,初始地代表一个簇.该算法在每次迭代中对数据集中剩余的每个对象,根据其与各个簇中心的距离赋给最近的簇.当考查完所有数据对象后,一次迭代运算完成,新的聚类中心…
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 100天搞定机器学习|Day9-12 支持向量机 100天搞定机器学习|Day11 实现KNN 100天搞定机器学习|Day13-14 SVM的实现 100天搞定机器学习|Day15 朴素贝叶斯 100天搞定机器学习|D…
100天搞定机器学习|1-38天 100天搞定机器学习|day39 Tensorflow Keras手写数字识别 前文我们用keras的Sequential 模型实现mnist手写数字识别,准确率0.9713.今天我们完成day40-42的课程,实现猫.狗的识别. 本文数据集下载地址 https://download.microsoft.com/download/3/E/1/3E1C3F21-ECDB-4869-8368-6DEBA77B919F/kagglecatsanddogs_3367a.…
最近事情无比之多,换了工作.组队参加了一个比赛.和朋友搞了一些小项目,公号荒废许久.坚持是多么重要,又是多么艰难,目前事情都告一段落,我们继续100天搞定机器学习系列.想要继续做这个是因为,一方面在具体应用中,发现很多之前遗漏的点,可以在这里查漏补缺,巩固知识点.另一方面,也是想大家一起打卡学习,一起探讨. 那么,继续学习.      本算法很简单,day7,原文作者仅简单介绍了kNN算法.   01k-NN算法   K最近邻(k-Nearest Neighbor,KNN)是数据挖掘分类技术中最…
机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 100天搞定机器学习|Day9-12 支持向量机 Day7,我们学习了K最近邻算法(k-NN),了解了其定义,如何工作,介绍了集中常用的距离和k值选择.Day11,通过一个案例实现该算法.   第一步:导入相关库 import n…
机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN Day7,我们学习了K最近邻算法(k-NN),了解了其定义,如何工作,介绍了集中常用的距离和k值选择.Day8,作者转回之前的逻辑回归内容,推荐了Saishruthi Swaminathan的一篇文章. 身处墙内,这个链接无法打开.不过也不用跳墙看原文,找了一下,发现已有博主翻译过…
机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 第九天直观了解SVM是什么以及如何使用它来解决分类问题 支持向量机(support vector machines)是一种二分类模型,基本模型是定义在特征空间上的间隔最大化的线性分类器,通过引入核函数,最终转化为一个凸二次规划问题…
前情回顾 机器学习100天|Day1数据预处理100天搞定机器学习|Day2简单线性回归分析100天搞定机器学习|Day3多元线性回归100天搞定机器学习|Day4-6 逻辑回归100天搞定机器学习|Day7 K-NN100天搞定机器学习|Day8 逻辑回归的数学原理100天搞定机器学习|Day9-12 支持向量机100天搞定机器学习|Day11 实现KNN100天搞定机器学习|Day13-14 SVM的实现100天搞定机器学习|Day15 朴素贝叶斯100天搞定机器学习|Day16 通过内核技…
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 100天搞定机器学习|Day9-12 支持向量机 100天搞定机器学习|Day11 实现KNN 100天搞定机器学习|Day13-14 SVM的实现 100天搞定机器学习|Day15 朴素贝叶斯 Day17,Avik-J…
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 100天搞定机器学习|Day9-12 支持向量机 100天搞定机器学习|Day11 实现KNN 100天搞定机器学习|Day13-14 SVM的实现 100天搞定机器学习|Day15 朴素贝叶斯 Day19,Avik-J…
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 100天搞定机器学习|Day9-12 支持向量机 100天搞定机器学习|Day11 实现KNN 100天搞定机器学习|Day13-14 SVM的实现 100天搞定机器学习|Day15 朴素贝叶斯 100天搞定机器学习|D…
前情回顾 机器学习100天|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 100天搞定机器学习|Day9-12 支持向量机 100天搞定机器学习|Day11 实现KNN 100天搞定机器学习|Day13-14 SVM的实现 100天搞定机器学习|Day15 朴素贝叶斯 100天搞定机器学习|D…
100天搞定机器学习|Day1数据预处理 100天搞定机器学习|Day2简单线性回归分析 100天搞定机器学习|Day3多元线性回归 100天搞定机器学习|Day4-6 逻辑回归 100天搞定机器学习|Day7 K-NN 100天搞定机器学习|Day8 逻辑回归的数学原理 100天搞定机器学习|Day9-12 支持向量机 100天搞定机器学习|Day11 实现KNN 100天搞定机器学习|Day13-14 SVM的实现 100天搞定机器学习|Day15 朴素贝叶斯 100天搞定机器学习|Day1…
 100天搞定机器学习(Day1-34) 100天搞定机器学习|Day35 深度学习之神经网络的结构 100天搞定机器学习|Day36 深度学习之梯度下降算法 本篇为100天搞定机器学习之第37天,亦为3Blue1Brown<深度学习之反向传播算法>学习笔记. 上集提到我们要找到特定权重和偏置,从而使代价函数最小化,我们需要求得代价函数的负梯度,它告诉我们如何改变连线上的权重偏置,才能让代价下降的最快.反向传播算法是用来求这个复杂到爆的梯度的. 上一集中提到一点,13000维的梯度向量是难以想…
往期回顾 100天搞定机器学习|(Day1-36) 100天搞定机器学习|Day37无公式理解反向传播算法之精髓 上集我们学习了反向传播算法的原理,今天我们深入讲解其中的微积分理论,展示在机器学习中,怎么理解链式法则. 我们从一个最简单的网络讲起,每层只有一个神经元,图上这个网络就是由三个权重和三个偏置决定的,我们的目标是理解代价函数对这些变量有多敏感.这样我们就知道怎么调整这些变量,才能使代价函数下降的最快. 我们先来关注最后两个神经元,我们给最后一个神经元一个上标L,表示它处在第L层.给定一…
本文是对100天搞定机器学习|Day33-34 随机森林的补充 前文对随机森林的概念.工作原理.使用方法做了简单介绍,并提供了分类和回归的实例. 本期我们重点讲一下: 1.集成学习.Bagging和随机森林概念及相互关系 2.随机森林参数解释及设置建议 3.随机森林模型调参实战 4.随机森林模型优缺点总结 集成学习.Bagging和随机森林 集成学习 集成学习并不是一个单独的机器学习算法,它通过将多个基学习器(弱学习器)进行结合,最终获得一个强学习器.这里的弱学习器应该具有一定的准确性,并且要有…
前情回顾 [第二天100天搞定机器学习|Day2简单线性回归分析][1],我们学习了简单线性回归分析,这个模型非常简单,很容易理解.实现方式是sklearn中的LinearRegression,我们也学习了LinearRegression的四个参数,fit_intercept.normalize.copy_X.n_jobs.然后介绍了LinearRegression的几个用法,fit(X,y).predict(X).score(X,y).最后学习了matplotlib.pyplot将训练集结果和…
编程中免不了要写配置文件,今天我们继续Python网络编程,学习一个比 JSON 更简洁和强大的语言----YAML .本文老胡简单介绍 YAML 的语法和用法,以及 YAML 在机器学习项目中的应用实例.欢迎大家一起学习,也欢迎点赞.在看.分享! 前篇:我开始学Python网络编程了 YAML YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写.YAML 的语法和其他高级语言类似,并且可以简单表达清单.散列表,标量等数据…
几张GIF理解K-均值聚类原理 k均值聚类数学推导与python实现 前文说了k均值聚类,他是基于中心的聚类方法,通过迭代将样本分到k个类中,使每个样本与其所属类的中心或均值最近. 今天我们看一下无监督学习之聚类方法的另一种算法,层次聚类: 层次聚类前提假设类别直接存在层次关系,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树.在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点.创建聚类树有聚合聚类(自下而上合并)和分裂聚类(自上而下分裂)两种方法,分裂聚类一般…
第一天机器学习100天|Day1数据预处理,我们学习了数据预处理.知道了,数据预处理是机器学习中最基础和最麻烦,未来占用时间最长的一步操作.数据预处理一般有六个步骤,导入库.导入数据集.处理缺失值.分类数据转化.分出训练集和测试集.特征缩放等.在处理数据过程中,必须得两个库是numpy和pandas,也用到sklearn.preprocessing中的Imputer,LabelEncoder, OneHotEncoder,StandardScaler. 算法本身很简单,之前也有文章做过算法的解读…
数据预处理是机器学习中最基础也最麻烦的一部分内容 在我们把精力扑倒各种算法的推导之前,最应该做的就是把数据预处理先搞定 在之后的每个算法实现和案例练手过程中,这一步都必不可少 同学们也不要嫌麻烦,动起手来吧 基础比较好的同学也可以温故知新,再练习一下哈 闲言少叙,下面我们六步完成数据预处理 其实我感觉这里少了一步:观察数据 [此处输入图片的描述][1] 这是十组国籍.年龄.收入.是否已购买的数据 有分类数据,有数值型数据,还有一些缺失值 看起来是一个分类预测问题 根据国籍.年龄.收入来预测是够会…
Day15,开始学习朴素贝叶斯,先了解一下贝爷,以示敬意. 托马斯·贝叶斯 (Thomas Bayes),英国神学家.数学家.数理统计学家和哲学家,1702年出生于英国伦敦,做过神甫:1742年成为英国皇家学会会员:1763年4月7日逝世.贝叶斯曾是对概率论与统计的早期发展有重大影响的两位(贝叶斯和布莱斯·帕斯卡Blaise Pascal)人物之一. 贝叶斯在数学方面主要研究概率论.他首先将归纳推理法用于概率论基础理论,并创立了贝叶斯统计理论,对于统计决策函数.统计推断.统计的估算等做出了贡献.…
提示:建议先看day36-38的内容 TensorFlow™ 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库.节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor).它灵活的架构让你可以在多种平台上展开计算,例如台式计算机中的一个或多个CPU(或GPU),服务器,移动设备等等. TensorFlow 最初由Google大脑小组(隶属于Google机器智能研究机构)的研究员和工程师们开发出来,用于机…
<Python数据科学手册>共五章,每章介绍一到两个Python数据科学中的重点工具包.首先从IPython和Jupyter开始,它们提供了数据科学家需要的计算环境:第2章讲解能提供ndarray对象的NumPy,它可以用Python高效地存储和操作大型数组:第3章主要涉及提供DataFrame对象的Pandas,它可以用Python高效地存储和操作带标签的/列式数据:第4章的主角是Matplotlib,它为Python提供了许多数据可视化功能:第5章以Scikit-Learn为主,这个程序库…
Boosting算法 Boosting是一种用来提高弱分类器准确度的算法,是将"弱学习算法"提升为"强学习算法"的过程,主要思想是"三个臭皮匠顶个诸葛亮".一般来说,找到弱学习算法要相对容易一些,然后通过反复学习得到一系列弱分类器,组合这些弱分类器得到一个强分类器. Boosting算法要涉及到两个部分,加法模型和前向分步算法. 加法模型就是说强分类器由一系列弱分类器线性相加而成.一般组合形式如下: $$F_M(x;P)=\sum_{m=1}^n…
昨天我们学习了支持向量机基本概念,重申数学推导原理的重要性并向大家介绍了一篇非常不错的文章.今天,我们使用Scikit-Learn中的SVC分类器实现SVM.我们将在day16使用kernel-trick实现SVM. 导入库 import numpy as np import matplotlib.pyplot as plt import pandas as pd 导入数据 数据集依然是Social_Network_Ads,下载链接: https://pan.baidu.com/s/1cPBt2…
算法部分不再细讲,之前发过很多: [算法系列]决策树 决策树(Decision Tree)ID3算法 决策树(Decision Tree)C4.5算法 决策树(Decision Tree)CART算法 ID3.C4.5.CART三种决策树的区别 实验: 导入需要用到的python库 import numpy as np import matplotlib.pyplot as plt import pandas as pd 导入数据集 dataset = pd.read_csv('Social_N…
3blue1brown系列课程,精美的动画,配上生动的讲解,非常适合帮助建立数学的形象思维,非常值得反复观看: http://www.3blue1brown.com/ 哔哩哔哩: https://space.bilibili.com/88461692 作者还把制作视频的用到的代码放到了 github 上,有兴趣的同学可以研究看看 Github: https://github.com/3b1b/manim 我们节选其中一部分内容,领略一下微积分的奥妙 要了解微积分的本质,我们从一个大家都知道的公式…
本文为3Blue1Brown神经网络课程讲解第二部分<Gradient descent, how neural networks learn >的学习笔记,观看地址:www.bilibili.com/video/av16144388前文我们已经搭建了一个包含两个隐藏层的神经网络,我们需要这样一种算法:网络得到训练数据后,算法会调整所有的权重和偏置值,提高网络对训练数据的表现.我们还希望这种分层结构可以举一反三,识别其他图像.训练好网络后,再给它未见过的带标记的数据作为测试,这样就能知道新图像分…
[如何正确使用「K均值聚类」? 1.k均值聚类模型 给定样本,每个样本都是m为特征向量,模型目标是将n个样本分到k个不停的类或簇中,每个样本到其所属类的中心的距离最小,每个样本只能属于一个类.用C表示划分,他是一个多对一的函数,k均值聚类就是一个从样本到类的函数. 2.k均值聚类策略 k均值聚类的策略是通过损失函数最小化选取最优的划分或函数. 首先,计算样本之间的距离,这里选欧氏距离平方. 然后定义样本与其所属类的中心之间的距离的总和为损失函数 其中为第l个类的均值或中心 ,是指示函数,取值1或…