从零开始的机器学习9-集成学习

初学者入门机器学习 (ML)的推荐教程 了解基本的机器学习概念并不难。有大量免费的在线博客文章、视频和编码教程可以引导您了解基础知识——从介绍性内容到常见应用程序,再到算法和应用技能。这篇文章总结了一些用于介绍 ML 的最佳免费选项。它按逻辑顺序排列,每个概念都建立在上一个概念的基础上。 阅读详情


智能控制与优化决策课题组制作。
对应周志华《机器学习》第八章内容。

一些问题

1.谈谈集成学习的概念和思想。

集成学习也被称为多分类器系统(multi-classifier system)、基于委员会的学习(committee-based learning)。

顾名思义,集成学习就是将多个个体学习器用某种策略组合起来成为强学习器,通常个体学习器是由已有的学习算法从训练数据中学习产生的。

集成学习示意图
①同质集成:
同质集成即集成中只包含同种类型的个体学习器,这些个体学习器亦被称为基学习器,产生这些基学习器的学习算法叫作基学习算法。

②异质集成
异质集成即集成中的个体学习器由不同的学习算法生成。 此时不再有基学习算法,相应的个体学习器一般不称为基学习器,而叫作组件学习器,或直接称个体学习器。

2.集成学习方法可以分为哪几类,并且分别阐述它们的特点。

根据个体学习器的生产方式划分,集成学习可以分为两大类:

①个体学习器间存在强依赖关系、必须串行生成序的列化方法。
代表有boosting方法:
Boosting是一族可将弱学习器提升为强学习器的算法。这族算法的工作机制类似:先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值T,最终将这个基学习器进行加权结合.

②个体学习器间不存在强依赖关系、可同时生成的并行化方法。
代表有Bagging和随机森林:
欲得到泛化性能强的集成,集成中的个体学习器应尽可能相互独立;虽然“独立”在现实任务中无法做到,但可以设法使基学习器尽可能具有较大的差异.给定一个训练数据集,一种可能的做法是对训练样本进行采样,产生出若干个不同的子集,再从每个数据子集中训练出一个基学习器.这样,由于训练数据不同,我们获得的基学习器可望具有比较大的差异.然而,为获得好的集成,我们同时还希望个体学习器不能太差.如果采样出的每个子集都完全不同,则每个基学习器只用到了一小部分训练数据,甚至不足以进行有效学习,这显然无法确保产生出比较好的基学习器.为解决这个问题,我们可考虑使用相互有交叠的采样子集.

3.在集成学习中,阐述针对二分类问题的AdaBoost算法实现过程。思考AdaBoost算法在每一轮如何改变训练数据的权值或概率分布?

在AdaBoost算法中,第一个基分类器ha是通过直接将基学习算法用于初始数据分布而得;此后迭代地生成t和at,当基分类器ht基于分布D2产生后,该基分类器的权重at应使得atht最小化指数损失函数AdaBoost算法在获得Ht-1之后样本分布将进行调整,使下一轮的基学习器ht能纠正H-1的一些错误.理想的ht能纠正Ht-1的全部错误。

AdaBoost算法的主要步骤:
①初始化训练数据的权值分布:
D 1 = ( w 11 , w 12 , ⋯   , w 1 i , ⋯   , w 1 N ) , w 1 i = 1 N ,   i = 1 , 2 , ⋯   , N . D_1=(w_{11},w_{12},\cdots,w_{1i},\cdots,w_{1N}),\\ w_{1i}=\frac{1}{N}, \ i=1,2,\cdots,N. D1​=(w11​,w12​,⋯,w1i​,⋯,w1N​),w1i​=N1​, i=1,2,⋯,N.
其中 D 1 D_1 D1​表示第一次迭代每个样本的权值, w 11 w_{11} w11​ 1表示第一次迭代时第一个样本的权值, N N N为样本总数。

②迭代:

  1. 使用拥有权值分布 D m ( m = 1 , 2 , ⋯   , N ) D_m(m=1,2,\cdots,N) Dm​(m=1,2,⋯,N)的训练样本进行学习,得到弱分类器: G m ( x ) : x ∈ { − 1 , 1 } G_m(x):x\in\{−1,1\} Gm​(x):x∈{−1,1}。
    弱分类器的性能指标通过以下误差函数的值 ϵ m \epsilon_m ϵm​来衡量:
    ϵ m = ∑ n = 1 N w m n I ( y m ( x n ) ≠ t n ) \epsilon_m=\sum_{n=1}^Nw_{mn}I(y_m(x_n)\neq t_n) ϵm​=n=1∑N​wmn​I(ym​(xn​)̸​=tn​)
  2. 计算弱分类器 G m G_m Gm​的话语权 α m \alpha_m αm​(即是权值),它表示 G m G_m Gm​在最终分类器中的重要程度。计算方法如下:
    a l p h a m = 1 2 log ⁡ 1 − e m e m alpha_m=\frac{1}{2}\log\frac{1-e_m}{e_m} alpham​=21​logem​1−em​​
    随着 e m e_m em​减小, α m \alpha_m αm​逐渐增大。该式表明,误差率小的分类器在最终分类器中的重要程度大.
  3. 更新训练样本的权值分布,用于下一轮迭代,被错误分类的样本权值增加,被正确分类的样本权值减小。计算方法如下:
    D m + 1 = ( w m + 1 , 1 , w m + 1 , 2 , ⋯   , w m + 1 , i , ⋯   , w m + 1 , N ) w m + 1 , 1 , = w w i Z m e − α m y i G m ( x i ) ,    i = 1 , 2 , ⋯   , N , D_{m+1}=(w_{m+1,1},w_{m+1,2},\cdots,w_{m+1,i},\cdots,w_{m+1,N})\\ w_{m+1,1},=\frac{w_{wi}}{Z_m}e^{-\alpha_my_iGm(x_i)},\ \ i=1,2,\cdots,N, Dm+1​=(wm+1,1​,wm+1,2​,⋯,wm+1,i​,⋯,wm+1,N​)wm+1,1​,=Zm​wwi​​e−αm​yi​Gm(xi​),  i=1,2,⋯,N,
    其中, D m + 1 D_{m+1} Dm+1​是用于下次迭代时的样本值, w m + 1 , 1 w_{m+1,1} wm+1,1​是下一次迭代时,第 i i i个样本的权值。 y i y_i yi​代表第 i i i个样本对应的类别(1 或 -1), G m ( x i ) G_m(x_i) Gm​(xi​)表示弱分类器对样本 x i x_{i} xi​的分类。若分类正确,则 y i G m ( x i ) y_iG_m(x_i) yi​Gm​(xi​)的值为1,反之为-1。其中 Z m Z_m Zm​是归一化因子,计算方法如下:
    Z m = ∑ i = 1 N w m i exp ⁡ ( − α m y i G m ( x i ) ) Z_m=\sum_{i=1}^Nw_{mi}\exp(-\alpha_my_iG_m(x_i)) Zm​=i=1∑N​wmi​exp(−αm​yi​Gm​(xi​))
    ③组合弱分类器,获得强分类器。
    首先,对所有迭代过的分类器加权求和:
    f ( x ) = ( ∑ m = 1 M α m G m ( x ) f(x)=(\sum_{m=1}^M\alpha_mG_m(x) f(x)=(m=1∑M​αm​Gm​(x)
    接着,将sign函数作用于求和结果,得到最终的强分类器 G ( x ) G(x) G(x):
    G ( x ) = s i g n ( f ( x ) ) = s i g n ( ∑ m = 1 M G m ( x ) ) G(x)=sign(f(x))=sign(\sum_{m=1}^MG_m(x)) G(x)=sign(f(x))=sign(m=1∑M​Gm​(x))
    sign函数:是一个逻辑函数,用于判断实数的正负号。其定义为:
    在这里插入图片描述

4.随机森林与集成学习之间有什么样的关系?

随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于集成学习方法。
随机森林的名称中有两个关键词,一个是“随机”,一个就是“森林”。“森林”我们很好理解,一棵叫做树,那么成百上千棵就可以叫做森林了,这也是随机森林的主要思想–集成思想的体现。然而,bagging的代价是不用单棵决策树来做预测,具体哪个变量起到重要作用变得未知,所以bagging改进了预测准确率但损失了解释性。

学习完决策树后,了解决策树简单直观,易于理解,数据还不用预处理的同时对异常点容错率还异常的高。然而应用实际中,决策树容易过于拟合,性能不稳定,这就是需要集成来解决。理论依据是:大数定律,在试验不变的条件下,重复试验多次,随机事件的频率近似于它的概率。偶然中包含着某种必然。

集成是什么?类似于你随机问几千个人复杂的问题,然后汇总他们的答案,此时你会发现他们的答案比专家更为详细、精准。在机器学习里面,我们都是利用某一中估算器训练模型,现在聚合多个估算器去训练拟合数据,我们成为集成学习,这种方法称为集成方法。随机森林就是集成学习的产物,是由一组决策树构成的,每棵树基于训练集中不同的三分之二随机子集进行训练,每棵树的生长不再是基于最好的特征,随机森林在树的生长上引入了更多的随机性,而是在一个随机生成的特征子集中选择最好的特征,这样随机森林用更高的偏差换取更低的方差。这样的话,随机森林也不会像决策树重要的特征出现在跟节点附近,不重要的特征出现在叶节点未知。对于随机森林我们需要计算一个特征在所有决策树上的平均深度去估算 特征的重要性(特征在很多方面能够得到应用,例如在银行贷款业务中能否正确的评估一个企业的信用度,关系到是否能够有效地回收贷款。但是信用评估模型的数据特征有很多,其中不乏有很多噪音,所以需要计算出每一个特征的重要性并对这些特征进行一个排序,进而可以从所有特征中选择出重要性靠前的特征)。这一点是随机森林的重要特点,应用于特征选择。最后只要统计每棵树的结果就可以得出相应的结论。

python实现基于单层决策树的AdaBoost算法。

import numpy as np

def loadSimData():
    '''
    输入:无
    功能:提供一个两个特征的数据集
    输出:带有标签的数据集
    '''
    datMat = np.matrix([[1. ,2.1],[2. , 1.1],[1.3 ,1.],[1. ,1.],[2. ,1.]])
    classLabels = [1.0, 1.0, -1.0, -1.0, 1.0]
    return datMat, classLabels

def stumpClassify(dataMatrix,dimen,thresholdValue,thresholdIneq):
    '''
    输入:数据矩阵,特征维数,某一特征的分类阈值,分类不等号
    功能:输出决策树桩标签
    输出:标签
    '''
    returnArray =  np.ones((np.shape(dataMatrix)[0],1))
    if thresholdIneq == 'lt':
        returnArray[dataMatrix[:,dimen] <= thresholdValue] = -1
    else:
        returnArray[dataMatrix[:,dimen] > thresholdValue] = -1
    return returnArray

def buildStump(dataArray,classLabels,D):
    '''
    输入:数据矩阵,对应的真实类别标签,特征的权值分布
    功能:在数据集上,找到加权错误率(分类错误率)最小的单层决策树,显然,该指标函数与权重向量有密切关系
    输出:最佳树桩(特征,分类特征阈值,不等号方向),最小加权错误率,该权值向量D下的分类标签估计值
    '''
    dataMatrix = np.mat(dataArray); labelMat = np.mat(classLabels).T
    m,n = np.shape(dataMatrix)
    stepNum = 10.0; bestStump = {}; bestClassEst = np.mat(np.zeros((m,1)))
    minError = np.inf
    for i in range(n):
        rangeMin = dataMatrix[:,i].min(); rangeMax = dataMatrix[:,i].max()
        stepSize = (rangeMax - rangeMin)/stepNum
        for j in range(-1, int(stepNum)+1):
            for thresholdIneq in ['lt', 'gt']:
                thresholdValue =  rangeMin + float(j) * stepSize
                predictClass = stumpClassify(dataMatrix,i,thresholdValue,thresholdIneq)
                errArray =  np.mat(np.ones((m,1)))
                errArray[predictClass == labelMat] = 0
                weightError = D.T * errArray
                #print "split: dim %d, thresh: %.2f,threIneq:%s,weghtError %.3F" %(i,thresholdValue,thresholdIneq,weightError)
                if weightError < minError:
                    minError = weightError
                    bestClassEst = predictClass.copy()
                    bestStump['dimen'] = i
                    bestStump['thresholdValue'] = thresholdValue
                    bestStump['thresholdIneq'] = thresholdIneq
    return bestClassEst, minError, bestStump

def adaBoostTrainDS(dataArray,classLabels,numIt=40):
    '''
    输入:数据集,标签向量,最大迭代次数
    功能:创建adaboost加法模型
    输出:多个弱分类器的数组
    '''
    weakClass = []#定义弱分类数组,保存每个基本分类器bestStump
    m,n = np.shape(dataArray)
    D = np.mat(np.ones((m,1))/m)
    aggClassEst = np.mat(np.zeros((m,1)))
    for i in range(numIt):
        print ("i:",i)
        bestClassEst, minError, bestStump = buildStump(dataArray,classLabels,D)#step1:找到最佳的单层决策树
        print ("D.T:", D.T)
        alpha = float(0.5*np.log((1-minError)/max(minError,1e-16)))#step2: 更新alpha
        print ("alpha:",alpha)
        bestStump['alpha'] = alpha
        weakClass.append(bestStump)#step3:将基本分类器添加到弱分类的数组中
        print ("classEst:",bestClassEst)
        expon = np.multiply(-1*alpha*np.mat(classLabels).T,bestClassEst)
        D = np.multiply(D, np.exp(expon))
        D = D/D.sum()#step4:更新权重,该式是让D服从概率分布
        aggClassEst += alpha*bestClassEst#steo5:更新累计类别估计值
        print ("aggClassEst:",aggClassEst.T)
        print (np.sign(aggClassEst) != np.mat(classLabels).T)
        aggError = np.multiply(np.sign(aggClassEst) != np.mat(classLabels).T,np.ones((m,1)))
        print ("aggError",aggError)
        aggErrorRate = aggError.sum()/m
        print ("total error:",aggErrorRate)
        if aggErrorRate == 0.0: break
    return weakClass

def adaTestClassify(dataToClassify,weakClass):
    dataMatrix = np.mat(dataToClassify)        
    m =np.shape(dataMatrix)[0]
    aggClassEst = np.mat(np.zeros((m,1)))
    for i in range(len(weakClass)):
        classEst = stumpClassify(dataToClassify,weakClass[i]['dimen'],weakClass[i]['thresholdValue']\
                                 ,weakClass[i]['thresholdIneq'])
        aggClassEst += weakClass[i]['alpha'] * classEst
        print (aggClassEst)
    return np.sign(aggClassEst)
if __name__  ==  '__main__':
    D =np.mat(np.ones((5,1))/5)
    dataMatrix ,classLabels= loadSimData()
    bestClassEst, minError, bestStump = buildStump(dataMatrix,classLabels,D)
    weakClass = adaBoostTrainDS(dataMatrix,classLabels,9)            
    testClass = adaTestClassify(np.mat([0,0]),weakClass)
机器学习——python机器学习第2版笔记 python机器学习第二版笔记1 赋予计算机从数据中学习的能力1.1 构建把数据转换成知识的智能1.2 三种不同类型的机器学习1.3 基本术语与符号1.4 构建机器学习系统的路线图1.5 用python进行机学习2 训练简单的机器学习分类算法2.1 人工神经元——机器学习早期历史一瞥2.2 在python中实现感知器学习2.3 自适应神经元和学习收敛3 scikit-learn机器学习分类器一览3.1 选择分类算法3.2 了解scikit-learn软件库的第一步——训练感知器3.3 基于逻辑回归的分类概率 阅读详情

相关推荐

C#实战:从零构建你的第一个AI分类模型【ML.NET入门】

本文为C#开发者提供了使用ML.NET构建首个AI分类模型的实战入门指南。通过房屋价格预测的经典案例,详细介绍了从环境搭建、数据定义、模型训练到评估部署的完整流程。文章旨在帮助.NET开发者利用熟悉的C#技术栈快速上手人工智能应用开发,无需深入Python生态。

weixin_29210759的博客 276

ML-Agents 创建一个新的训练环境 【ML-Agents 官方文档翻译(ML-Agent 1.9.1,Unity 2018-2020)】

Making a New Learning Environment 本教程将从头开始创建一个 Unity Environment,以用于训练 Reinforcement Learning(强化学习)Agent。 建议先阅读Getting Started,以便理解构建 Environment 用到的原理。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZA9IexFG-1637221255733)(images/mlagents-NewTutSplash.png)] 在本节示例

FutaAlice的博客 5153

Spark入门:从零到能跑的实战教程

Spark 的强大在于它统一了大数据处理的多种场景,从批处理到流处理,从 SQL 到机器学习。对于初学者来说,理解 Spark 的核心理念——内存计算和分布式抽象,是最重要的一步。接着,学会用 PySpark 搭建环境,能读数据、能写 SQL,基本上就入门了。剩下的路,就是通过实战去加深理解。写到这里,相信你对 Spark 已经有了一个比较完整的认识。下一步,不妨自己动手写几个 PySpark 脚本,跑一跑日志数据,或者尝试用 Spark SQL 做一个统计。

Morpheon的博客 1369

如何快速掌握机器学习:微软ML-For-Beginners完整学习指南

微软ML-For-Beginners是面向机器学习新手的全面课程,通过12周26个实践课程,帮助学习者掌握Python、Azure ML等工具进行数据预处理、模型训练及部署。本指南将详细介绍如何有效使用这份优质开源教程,从环境搭建到项目实战,助你系统入门机器学习。 ## 📚 课程概述:为什么选择ML-For-Beginners? ML-For-Beginners课程由微软云倡导者团队精心打造

gitblog_01093的博客 462

qt5.14.2+vs2019配置msvc2017编译器

qt5.14.2+vs2019配置msvc2017编译器 在使用qt编译程序时此前一直使用的是自带的MinGW 32-bit和64-bit,现在想使用msvc编译器。本次使用的是qt5.14.2,vs2019,需要配置msvc2017的32-bit和64-bit编译器。 1、首先安装好qt5.14.2和vs2019,其次在visual studio installer选择修改,然后选择msvc2017对应的组件,本次安装的是这两个 2、打开qt creator的工具–选项–kits–编译器,选择Manu

bangtanhui的博客 1万+

RC正弦波振荡电路实验全解析:如何通过调节电容电阻改变输出频率

本文深入解析RC正弦波振荡电路,重点阐述如何通过调节电容和电阻来精确改变输出频率。文章从文氏桥振荡电路的核心原理出发,详细介绍了电容粗调频段与电阻微调频率的实操策略,并分析了元件误差、寄生参数等对实测频率的影响,为电路设计与调试提供了从理论到实践的完整指南。

yhn456789的博客 1114

从零开始搭建Unity机器学习环境—Chapter1:常用训练参数解析

Unity ML-Agents组件

lennonmao的博客 1731

Ubuntu 系统下安装 OpenClaw(原 Clawdbot)的详细指南

Ubuntu 系统下安装 OpenClaw(原 Clawdbot)的详细指南

Science prince的博客 3535

BigQuery ML:用SQL实现机器学习工程化落地

机器学习工程化是指将模型开发、评估、部署与监控整合进可复用、可审计、可扩展的生产流程。其核心在于降低非必要复杂度,提升交付效率与系统鲁棒性。BigQuery ML 通过原生SQL接口,将特征工程、模型训练与在线预测深度嵌入数据平台,天然支持版本管理、数据快照与权限继承,显著缩短从假设验证到业务上线的周期。它并非替代Python生态,而是聚焦于结构化数据场景中高确定性、低迭代成本的建模环节,如用户分群、异常检测与销售预测。技术价值体现在免运维训练、零拷贝数据集成与SQL级可观测性,广泛应用于实时风控、智能运营

weixin_30239339的博客 426

FISCO BCOS 三、多群组部署以及新节点加入群组

本章主要以星形组网和并行多组组网拓扑为例,指导您了解如下内容:了解如何使用创建多群组区块链安装包;了解创建的多群组区块链安装包目录组织形式;学习如何启动该区块链节点,并通过日志查看各群组共识状态;学习如何向各群组发送交易,并通过日志查看群组出块状态;了解群组内节点管理,包括节点入网、退网等;了解如何新建群组。

qq_63235624的博客 2920

手把手教你学simulink(13.2)--构建一个单相并网逆变器Simulink仿真模型

基于Simulink的单相并网逆变器项目的详细仿真实例。这个项目将重点放在逆变器的详细建模、最大功率点跟踪(MPPT)控制策略、并网控制和仿真分析上。我们将使用MATLAB/Simulink来构建整个系统,并通过具体的代码和模块来实现各个功能。

MHD0815的博客 545

告别科研绘图9大痛点:ML Visuals界面交互深度优化指南

ML Visuals是一个由dair.ai社区发起的开源项目,致力于通过提供免费、专业且引人入胜的可视化图表和模板,帮助机器学习社区提升科学传播效果。目前该项目已拥有超过100个社区贡献的图表,用户可自由用于机器学习演示文稿或博客文章,无需申请使用许可,只需在使用时注明设计者或作者信息即可。 ## 科研绘图常见痛点解析 在科研工作中,绘图往往是一项耗时且复杂的任务。研究者们常常面临诸多挑战,比

gitblog_00751的博客 398

金融领域图注意力网络的创新应用

随着金融市场的日益复杂和数据量的爆炸式增长,传统的数据分析方法在处理金融数据的复杂关系和结构时面临诸多挑战。图注意力网络(Graph Attention Network,GAT)作为一种新兴的深度学习技术,能够有效处理图结构数据,挖掘数据中的潜在关系。本文的目的在于深入探讨图注意力网络在金融领域的创新应用,涵盖风险评估、投资决策、欺诈检测等多个方面。通过理论分析、算法实现和实际案例展示,为金融从业者和研究者提供全面的技术参考,推动图注意力网络在金融领域的广泛应用。

AI云原生与云计算技术学院 721

探索未来视觉:Core ML 示例项目解析与推荐

探索未来视觉:Core ML 示例项目解析与推荐 在人工智能与移动应用的交界处,有一个令人兴奋的探索领域——利用深度学习技术增强应用程序的能力。今天,我们要向您介绍的是一个巧妙融合了Core ML、Vision框架以及Swift 4的示例项目——《Core-ML-Sample》。 项目介绍 《Core-ML-Sample》是一个基于Inception V3网络的示范应用,专为对苹果新技术充满好奇...

gitblog_00647的博客 1136

利用dpabi和restplus提取ROI灰质体积学习笔记

目录前言一、数据准备二、利用dpabi提取ROI灰质体积三、restplus提取ROI灰质体积 前言 我利用SPM/CAT12进行灰质、白质、脑脊液分割之后分别已经得到各自的图像文件,在全脑水平已经做了统计分析。如果还想要进一步进行ROI的统计分析或者与量表等临床资料做相关分析,就需要提取ROI灰质体积。几个月没动过这数据了,突然心血来潮想学一下如何提取ROI灰质体积,以此篇博客记录我的提取ROI灰质体积学习过程。提取ROI灰质体积的方法及软件有许多种,本人尝试了dpabi和restplus。 一、数据准备

weixin_52073820的博客 9224

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

一年掌握机器学习:ml-mastery-zh的循序渐进学习计划 [特殊字符]

想要在一年内掌握机器学习吗?ml-mastery-zh项目为你提供了一个完整、系统的机器学习学习路径!这个开源项目翻译了Machine Learning Mastery博客的精华内容,涵盖从基础概念到高级应用的方方面面,是中文学习者快速入门机器学习的终极指南。无论你是零基础的新手,还是有一定经验的开发者,这个项目都能帮助你建立坚实的机器学习知识体系。 ## 📚 为什么选择ml-mastery-

gitblog_00076的博客 879

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

GHelper:一个免费 exe 搞定华硕笔记本风扇、显卡与功耗管理

GHelper 是华硕笔记本的轻量级 Armoury Crate 替代工具。它开源免费,单个 exe 文件,不装任何后台服务。适合想在 ROG 幻、天选、无畏、ROG Ally 上管理风扇与显卡模式的用户。 ## GHelper 对比 Armoury Crate:差别一眼看清 | 维度 | Armoury Crate | GHelper | |---|---|---| | 安装形式 | 完整安

gitblog_00034的博客 453

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

从零开始学 ML.NET:.NET 开发者的 AI 入门指南

ML.NET 是一个面向.NET开发者的原生机器学习框架,让开发者无需切换技术栈就能在业务系统中集成AI功能。文章从零开始介绍ML.NET,包括其核心概念(如MLContext、特征、标签、管道和模型)、环境搭建步骤,以及一个完整的客户流失预测实战案例。通过C#代码示例展示数据准备、模型训练和预测流程,强调ML.NET部署简单(模型打包为zip文件)、数据安全可控等优势,适合业务系统内嵌的预测分析场景,而非前沿AI研究。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 361

从零开始的推荐系统学习之路(七)---- 西瓜书开啃之旅 第八章(集成学习)

【代码】从零开始的推荐系统学习之路(六)---- 西瓜书开啃之旅 第八章(集成学习)

Love 6's Private Blog 787

CoreML 机器学习(一)

我们正处于一个新时代的计算边缘,在这个时代,计算机更多地成为我们的伴侣而不是工具。我们口袋里的设备将很快更好地理解我们的世界和我们自己,这将对我们如何与之互动和使用它们产生深远的影响。但目前,许多这些令人兴奋的进步都停留在研究人员的实验室里,而不是设计师和开发者的手中,这使得它们对用户可用和可访问。这并不是因为细节被锁起来;相反,在大多数情况下,它们是免费可用的。这种差距部分是由于我们满足于坚持我们所知道的,让用户做所有的工作,让他们点击按钮。如果其他什么都没有,我希望这本书能让你对现有的东西感到好奇,以及

龙哥盟 999

SkillsBot上机器学习12个 Skill必装的技能

采集时间:2026-03-14本文档整理了机器学习分类第一页共Skill 技能,供参考选用。

u014496893的博客 841

优快云日报190829:机器学习从零开始,技术干货分享!

优快云日报来啦!给大家奉上当日最新鲜的技术干货! 热门项目|机器学习从零开始 机器学习从零开始。Bare Bones NumPy机器学习模型和算法的实现,重点是可访问性。旨在涵盖从线性回归到深度学习的所有内容。 从头开始实现一些基本机器学习模型和算法的Python。 该项目的目的不是生成尽可能优化和计算效率的算法,而是以透明和可访问的方式呈现它们的内部工作方式。 移动开发|反思|Androi...

优快云 官方博客 2624

Python 机器学习系统设计指南(一)

机器学习是计算世界已经看到的最大趋势之一。机器学习系统具有深刻而令人兴奋的能力,能够为各种惊人的应用提供重要见解,从开创性和拯救生命的医学研究到发现我们宇宙的基本物理方面;从为我们提供更好、更清洁的食物到网络分析和经济建模。事实上,我们生活中几乎没有任何一个领域不被这项技术以某种方式触及。每个人都想进入机器学习领域,为了在这个领域获得足够的认可,必须能够理解和设计一个服务于项目需求的机器学习系统。第 1 章、机器学习中的思考,让你从机器学习的基础知识开始,正如标题所说,它将帮助你在机器学习范式中思考。您将学

龙哥盟 1677

万字长文带你从零开始认识机器学习

版权说明:本文系转载。 本文中的所有文字,图片,代码的版权都是属于作者和博客园共同所有。 在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。当然,本文也面对一般读者,不会对阅读有相关的前提要求。 在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢? 我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻 这幅图上上的三人是.

程序员小陶的大数据分享 639

从零开始:白话sklearn.ensemble.GradientBoostingRegressor

问题源: sklearn.ensemble.GradientBoostingRegressor( loss=’ls’, learning_rate=0.1, n_estimators=100, subsample=1.0, criterion=’friedman_mse’, min_samples_split=2, min_samples_leaf=1, min_weight_...

zhsworld的博客 1万+

从零开始手写机器学习框架:我的深度学习之旅

这个项目是一个从零开始手写的机器学习框架,专门用于实现MNIST手写数字识别。通过实现每个组件,我深入理解了机器学习的底层原理。这个手写机器学习框架项目让我从一个后端研发的角度,深入理解了机器学习的核心原理。通过从零开始实现每个组件,我不仅掌握了理论知识,更重要的是培养了解决实际问题的能力。关键收获:理论理解:深入理解了机器学习的数学原理实践能力:能够实现完整的机器学习框架问题解决:学会了如何为新场景设计解决方案学习策略:找到了适合自己的学习方法参数调优:理解了超参数对模型性能的巨大影响。

工业 AI 工程手记 1258
上一篇: 从零开始的机器学习8-贝叶斯分类器
LogHouse
博客等级 码龄9年 14粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值