机器学习
文章平均质量分 80
猛男技术控
苦心钻研!
勇于实践!
不负韶华!
展开
-
梯度下降系列博客:5、随机梯度下降代码实战
因此,我们不是对数据集的所有训练示例进行计算,而是随机抽取一个示例并对其进行计算。但是,如果我们的数据集有大量训练示例和/或特征,那么计算参数值的计算量就会很大。**注意:**请注意,我们的成本函数不一定会下降,因为我们每次迭代只取一个随机训练样本,所以不要担心。接下来,我们将计算与我们的预测相关的成本。维度:预测值 = (1, 1)+(200, 3)*(3,1) = (1, 1)+(200, 1) = (200, 1)此外,在这种情况下,由于我们只有一个训练示例,因此我们不需要对所有示例执行求和。原创 2023-02-06 17:31:11 · 977 阅读 · 0 评论 -
梯度下降系列博客:4、小批量梯度下降算法代码实战
小批量梯度下降 (MBGD) 算法的工作原理在批量梯度下降 (BGD) 算法中,我们考虑算法所有迭代的所有训练示例。然而,在随机梯度下降 (SGD) 算法中,我们只考虑一个随机训练示例。现在,在小批量梯度下降 (MBGD) 算法中,我们在每次迭代中考虑训练示例的随机子集。由于这不像 SGD 那样随机,我们更接近全局最小值。然而,MBGD 很容易陷入局部最小值。让我们举个例子来更好地理解这一点。每次迭代的训练示例数 = 100 万 = 1⁰⁶迭代次数 = 1000 = 1⁰³。原创 2023-02-06 11:00:00 · 1027 阅读 · 0 评论 -
梯度下降系列博客:3、批量梯度下降代码实战
欢迎来到梯度下降系列的结局!在这篇博客中,我们将深入研究梯度下降算法。我们将讨论梯度下降算法的所有有趣风格以及它们在 Python 中的代码示例。我们还将根据每个算法中执行的计算次数来检查算法之间的差异。我们今天不遗余力,因此我们要求您在阅读文档时运行Python文件;这样做将使您对该主题有更准确的理解,从而看到它的实际应用。让我们开始吧!原创 2023-02-05 22:39:39 · 583 阅读 · 0 评论 -
梯度下降系列博客:1、梯度下降算法基础
维基百科正式定义短语梯度下降如下:在数学中,梯度下降是一种用于寻找可微函数的局部最小值的一阶迭代优化算法。梯度下降是一种机器学习算法,它迭代运行以找到其参数的最佳值。该算法在更新参数值时考虑函数的梯度、用户定义的学习率和初始参数值。单位向量:单位向量是幅度为 1 的向量。我们如何找到向量的长度或大小?考虑以下向量 u。矢量的长度然后计算为其所有分量平方和的平方根。函数**f(x, y)在向量 u(单位向量)方向上的导数由函数梯度与单位向量 u的****点积**给出。原创 2023-02-05 22:01:17 · 546 阅读 · 0 评论 -
梯度下降系列博客:2、梯度下降算法背后的数学直觉
欢迎!今天,我们正在努力开发一种强大的数学直觉,以了解梯度下降 算法如何为其参数找到最佳值。拥有这种感觉可以帮助您发现机器学习输出中的错误,并更加了解梯度下降 算法如何使机器学习如此强大。在接下来的几页中,我们将推导均方误差函数的梯度下降算法方程。我们将使用此博客的结果来编写梯度下降算法的代码。让我们深入研究吧!原创 2023-02-05 21:32:25 · 265 阅读 · 0 评论 -
PCA 主成分分析-清晰详细又易懂
PCA(Principal Component Analysis)是一种常用的数据分析方法。PCA 通过将原始数据变换为一组的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。网上关于 PCA 的文章有很多,但是大多数只描述了 PCA 的分析过程,而没有讲述其中的原理。这篇文章的目的是介绍 PCA 的基本数学原理,帮助读者了解 PCA 的工作机制是什么。当然我并不打算把文章写成纯数学文章,而是希望用直观和易懂的方式叙述 PCA 的数学原理,所以整个文章不会引入严格的数学推导。原创 2023-01-09 15:59:53 · 2797 阅读 · 0 评论 -
机器学习必备知识
误差bias:偏差,variance:方差偏差就是偏离真实值的程度,方差就是模型稳定性,下图可以直观的看出两者的概念high bias - low variance:许多个拟合模型都聚集在一堆,位置比较偏,无论什么样子的数据灌进来,拟合的模型都差不多,这个模型过于简陋了,参数太少了,复杂度太低了,这就是欠拟合low bias - high variance:所有拟合模型都围绕中间那个红色中心点(hint)均匀分布,但又不够集中,很散,这就意味着,数据一有风吹草动,拟合模型就跟着剧烈变化,这说原创 2021-04-02 18:57:34 · 293 阅读 · 0 评论 -
机器学习基本概念
损失函数对于线性回归模型,需要一个标准来对结果进行衡量,因此我们需要量化一个目标函数,使得程序可以不断优化,最终得到最优的结果。损失函数是一个非负实数函数,用来量化模型预测和真实值标签之间的差异。将线性回归模型假设函数带入损失函数:需要求解参数w和b看作是损失函数L的自变量。现在的任务就是求解最小化L时w和b的值,即核心目标优化式为:求解方法最小二乘法(least square method)在统计学中,求解w和b是使损失函数最小化的过程,称为线性回归模型的最小二乘"“参数估计”(para原创 2021-04-02 18:23:05 · 181 阅读 · 0 评论 -
numpy实现全连接网络进行mnist训练测试
import numpy as npimport matplotlib.pyplot as pltfrom sklearn.utils import shufflefrom sklearn.model_selection import train_test_splitfrom sklearn.preprocessing import minmax_scaleimport pickleimport structimport os"""定义几个要用到的函数"""def load_mnist原创 2021-03-08 20:40:17 · 651 阅读 · 1 评论 -
大数据预测实战-随机森林预测实战(四)-模型微调
接下来介绍下一位参赛选手——GridSearchCV(),它要做的事情就跟其名字一样,进行网络搜索,也就是一个一个地遍历,不能放过任何一个可能的参数组合。就像之前说的组合有多少种,就全部走一遍,使用方法与 RandomizedSearchCV()基本一致,只不过名字不同罢了。from sklearn.model_selection import GridSearchCV# 网络搜索param_grid = { 'bootstrap': [True], 'max_depth': [8,原创 2021-02-03 20:49:48 · 1419 阅读 · 0 评论 -
大数据预测实战-随机森林预测实战(四)-模型调参
之前对比分析的主要是数据和特征层面,还有另一部分非常重要的工作等着大家去做,就是模型调参问题,在实验的最后,看一下对于树模型来说,应当如何进行参数调节。调参是机器学习必经的一步,很多方法和经验并不是某一个算法特有的,基本常规任务都可以用于参考。先来看看那些参数可供选择from sklearn.ensemble import RandomForestRegressorrf = RandomForestRegressor(random_state = 42)from pprint import p原创 2021-02-03 18:59:15 · 2427 阅读 · 0 评论 -
大数据预测实战-随机森林预测实战(三)-数据量对结果影响分析
下面对比一下特征数量对结果的影响,之前两次比较没有加入新的天气特征,这次把降水、风速、积雪 3 项特征加入数据集中,看看效果怎样∶# 准备加入新的特征from sklearn.ensemble import RandomForestRegressorrf_exp = RandomForestRegressor(n_estimators= 100, random_state=0)rf_exp.fit(train_features, train_labels)# 同样的测试集prediction原创 2021-02-03 17:51:54 · 2776 阅读 · 0 评论 -
大数据预测实战-随机森林预测实战(三)-数据量对结果影响分析
数据量对结果影响分析接下来就要进行一系列对比实验,第一个问题就是当数据量增多时,使用同样的方法建模,结果会不会发生改变呢? 还是先切分新的数据集吧∶# 独热编码features = pd.get_dummies(features)# 提取特征和标签labels = features['actual']features = features.drop('actual', axis = 1)# 特征名字留着备用feature_list = list(features.columns)#原创 2021-02-03 17:13:51 · 2324 阅读 · 1 评论 -
大数据预测实战-随机森林预测实战(三)-数据与特征对模型的影响
数据与特征对随机森林的影响带着上节提出的问题,重新读取规模更大的数据,任务还是保持不变,需要分别观察数据量和特征的选寸结果的影响。导入工具包import pandas as pd读取数据features = pd.read_csv('data/temps_extended.csv')features新的数据中,数据规模发生了变化,数据量扩充到了2191条并且加入了新的天气指标:ws_1:前一天的风速prcp_1: 前一天的降水snwd_1:前一天的积雪深度既然有了新的特征,先来看看原创 2021-02-03 17:05:22 · 2223 阅读 · 0 评论 -
大数据预测实战-随机森林预测实战(二)-随机森林回归模型
随机森林气温预测数据+代码随机森林回归模型万事俱备,我们可以来建立随机森林模型啦,首先导入工具包,先建立1000个树试试吧,其他参数先用默认值,之后我们会再深入到调参任务中:# 导入算法from sklearn.ensemble import RandomForestRegressor# 建模rf = RandomForestRegressor(n_estimators= 1000, random_state=42)# 训练rf.fit(train_features, train_lab原创 2021-02-03 16:31:02 · 25854 阅读 · 5 评论 -
大数据预测实战-随机森林预测实战(一)-数据预处理
数据读取气温预测的任务目标就是使用一份天气相关数据来预测某一天的最高温度,属于回归任务,首先观察一下数据集∶# 数据读取import pandas as pdfeatures = pd.read_csv('data/temps.csv')features.head(5)该项目实战主要完成以下 3 项任务。使用随机森林算法完成基本建模任务∶包括数据预处理、特征展示、完成建模并进行可视化展示分析。分析数据样本量与特征个数对结果的影响∶在保证算法一致的前提下,增加数据样本个数,观察结果变原创 2021-02-03 12:49:07 · 9381 阅读 · 4 评论 -
人工智能数学基础-python数值计算实战
求极限求下列极限并用python编程求极限。求解:2. 求导求的导数并用python编程求导。求偏导已知 求在点(1,2)处的偏导数,并用python编程实现。(提示:复合函数求导,设、、求偏导带入求值方向导数及梯度求定积分p = 8n = 10000sum1 = 0 for i in range(1,n+1): sum1 += i**pprint(sum1/n**(p+1))...原创 2021-01-19 13:24:34 · 466 阅读 · 0 评论 -
梯度下降法-深度AI
文章目录概述概念理解场景假设数学场景梯度官方解释:通俗理解梯度求解目标函数损失函数实战演示求一元最值寻找最低点更新x代码实现:求多元最值求一元函数的参数概述梯度下降法,是一种基于搜索的最优化方法,它其实不是一个机器学习算法,但是在机器学习领域,许多算法都是以梯度下降法为基础的,不论是在线性回归还是Logistic回归还是其他深度学习算法中,它的主要作用就是通过迭代寻找目标函数的最优解。常用的梯度下降法有 3 种不同的形式:批量梯度下降法,简称 BGD,使用所有样本,比较耗时;随机梯度下降.原创 2021-01-14 18:56:23 · 242 阅读 · 0 评论 -
为什么沿梯度方向,函数变化最快???
很多时候,我们时间有限,对一些知识只能不求甚解,但这这些不求甚解的知识又会很困扰我们,总想着原理是啥,为啥这样做。就比如我们学梯度下降时,都知道梯度下降是机器学习、深度学习的核心优化算法,但为什么沿梯度方向,函数变化最快呢???问了不少人都不能说的很清楚,所以查阅了很多博客,视频,现分享给大家。导数导数的几何意义可能很多人都比较熟悉: 当函数定义域和取值都在实数域中的时候,导数可以表示函数曲线上的切线斜率。 除了切线的斜率,导数还表示函数在该点的变化率。比如中学学到的加速度a=ΔvΔta=\frac原创 2021-01-14 13:07:52 · 1743 阅读 · 2 评论 -
呕心沥血干完K-Means聚类——深度AI科普团队
K-Means简介K-Means 是一种非监督学习。K 代表的是 K 类,Means 代表的是中心,它有点像全自动分类。聚类方法几乎可以应用于所有对象,簇内的对象越相似,聚类的效果越好。你可以理解这个算法的本质是确定 K 类的中心点,当你找到了这些中心点,也就完成了聚类。所以我们要解决的就是:如何确定 K 类的中心点?如何将其他点划分到 K 类中?对亚洲足球队的水平,你可能也有自己的判断。比如一流的亚洲球队有谁?你可能会说伊朗或韩国。二流的亚洲球队呢?你可能说是中国。三流的亚洲球队呢?.原创 2020-12-08 10:48:56 · 508 阅读 · 0 评论 -
听说你还不懂哈夫曼树和哈夫曼编码
基本概念哈夫曼(Huffman)树又称最优树,是一类带权路径长度最短的树,在实际中有广泛的用途。基本概念路径:从树中一个结点到另一个结点之间的分支构成这两个结点之间的路径。路径长度:路径上的分支数目称作路径长度。树的路径长度:从树根到每一结点的路径长度之和。权:赋予某个实体的一个量,是对实体的某个或某些属性的数值化描述。 在数据结构中,实体有结点(元素)和边(关系)两大类,所以对应有结点权和边权。 结点权或边权具体代表什么意义,由具体情况决定。如果在一棵树中的结点上带有权值,则对应的就有带权树原创 2020-06-01 17:10:47 · 2066 阅读 · 25 评论 -
支持向量机——深度AI科普团队
1. 支持向量机(SVM)支持向量机是一个功能强大并且全面的机器学习模型,它能够执行线性或非线性分类、回归,甚至是异常值检测任务。SVM特别适用于中小型复杂数据集的分类。1.1 线性SVM分类SVM对特征的缩放非常敏感。与Logistic回归分类器不同的是,SVM分类器不会输出每个类别的概率。软间隔分类:如果我们严格地让所有实例都不在街道上,并且位于正确的一边,这就是硬间隔分类。硬间隔分...原创 2020-04-13 23:45:37 · 1602 阅读 · 0 评论 -
一个实例带你搞懂Apriori关联分析算法
关联分析算法关联分析是一种在大规模数据集中寻找有趣关系的任务。这些关系可以有两种形式:频繁项集或者关联规则。附算法分析以及详细代码示例原创 2020-05-31 16:13:01 · 5275 阅读 · 17 评论 -
从数学基础到贝叶斯理论到实践——深度AI科普团队
内容详细,附有贝叶斯原理分析,概率论知识基础,当然也少不了实战源码原创 2020-05-27 16:04:04 · 1461 阅读 · 8 评论 -
聚类算法详解——深度AI科普团队
简单易懂,适合入门和知识复习,附有项目实战源码聚类是一种无监督的学习,它**将相似的对象归到同一个簇中**。它有点像全自动分类。聚类方法几乎可以应用于所有对象,簇内的对象越相似,聚类的效果越好。原创 2020-05-26 11:14:44 · 2218 阅读 · 0 评论 -
写给小白的机器学习之决策树算法详解(附实战源码)
写给小白,虽然自己也是小白,嘿嘿,总结的还算详细吧,有GitHub实战*(附有数据集和详细注释)和可视化源码,可以自己试试...原创 2020-05-24 22:14:03 · 1330 阅读 · 0 评论 -
写给小白的机器学习之数据表示与特征工程详解(附实战代码)
数据类型有很多,在机器学习中,这些类型基本特征大致分为两类:一是如浮点数组成的连续特征二是通常并不是数值的分类特征,或者叫做离散特征通常无论你的数据包含那种类型的特征,数据表示方式都会对机器学习模型的性能产生巨大影响,这就要求我们要对数据进行处理,如数据放缩、特征扩充等等。对于某个特定应用来说,如何找到最佳数据表示,这个问题被称为特征工程(feature engineering)它是数据科学家和机器学习从业者在尝试解决现实世界问题时的主要任务之一。用正确的方式表示数据,对监督模型性能的影响比原创 2020-05-22 22:00:29 · 2147 阅读 · 18 评论 -
机器学习降维-深度AI科普团队
降维许多机器学习问题涉及训练实例的几千甚至上百万个特征。这不仅导致训练非常缓慢,也让我们更加难以找到好的解决方案。我们一般可以大量减少特征的数量,将棘手的问题转化成容易解决的问题。比如处理图像时,其边框周围很多像素对我们的分类任务无足轻重,可以删去;两个像素通常相似度很高,我们可以将其合并(例如,取两个像素强度的平均值),这样也不会丢失太多信息。除了加快训练,降维对于数据可视化也是非常有用的。...原创 2020-04-19 23:30:31 · 1111 阅读 · 0 评论 -
决策树随笔-深度AI科普团队
决策树原理决策树是一种多功能的机器学习算法,它可以实现分类和回归任务,甚至是多输出任务。它们功能强大,能够拟合 复杂的数据集。-优点:精度高、对异常值不敏感、无数据输入假定。缺点:计算复杂度高、空间复杂度高。适用数据范围:数值型和标称型。其工作原理很简单如图所示的流程图就是一个决策树,长方形代表判断模块(decision block),椭圆形代表终止模块(terminating blo...原创 2020-04-15 23:52:13 · 1305 阅读 · 0 评论