自动机器学习之Auto-Keras入门

对于训练深度学习,设计神经网络结构是其中技术含高最高的任务,优秀的网络架构往往依赖建构模型的经验,专业领域知识,以及大量的算力试错。实际应用中往往基于类似功能的神经网络微调生成新的网络结构。

Auto-Keras是一个离线使用的开源库,用于构建神经网络结构和搜索超参数,支持RNN,CNN神经网络,它使用了高效神经网络搜索ENAS,利用迁移学习的原理将在前面任务中学到的权值应用于后期的模型中,效率相对较高。除了支持keras,它还提供TensorFlow他PyTorch的版本。

1. 安装
由于需要把输出的神经网络结构保存成图片,使用了pydot和graphviz图像工具支持,auto-keras支持torch等多种工具支持,因此,安装时会下载大量依赖软件。使用以下方法安装auto-keras:

conda create --name automl python=3.6
conda activate autokeras

# yum install graphviz  (root用户搞一下)
$ pip install pydot
$ pip install autokeras
$ pip install keras

 

2. 举例

本例中使用了mnist数据集,它是一个入门级的图像识别数据集,用于训练手写数字识别模型,例程自动下载训练数据,然后创建了图片分类器,训练时间设置为10分钟,模型在测试集上的正确率为99.21%。建议使用带GPU的机器训练模型,它比使用CPU训练速度快几十倍。

from keras.datasets import mnist
from autokeras import ImageClassifier
from autokeras.constant import Constant
import autokeras
from keras.utils import plot_model
    
if __name__ == '__main__':
    (x_train, y_train), (x_test, y_test) = mnist.load_data()
    x_train = x_train.reshape(x_train.shape + (1,))
    x_test = x_test.reshape(x_test.shape + (1,))
    clf = ImageClassifier(verbose=True, augment=False)
    clf.fit(x_train, y_train, time_limit=10 * 60)
    clf.final_fit(x_train, y_train, x_test, y_test, retrain=True)
    y = clf.evaluate(x_test, y_test)
    print(y * 100)
    clf.export_keras_model('model.h5')
    plot_model(clf, to_file='model.png')
# 返回值: 99.21

上述程序在我的机器上运行后训练出了17层网络,其中包括dropout层,池化层,卷积层,全连接层等,程序以图片方式将描述信息保存在model.png中,下面截取了图片中的部分层作为示例,如下图所示:


参考:

https://www.jianshu.com/p/4e499201816f
官网 https://autokeras.com/

随机森林是当前最流行和最强大的机器学习算法之一。它是一种被称为Bootstrap Aggregation或Bagging的集成机器学习算法。随机森林通过组合多个决策树来进行预测,并且每个决策树使用随机选择的特征子集进行训练。这种集成方法可以提高模型的准确性和鲁棒性,适用于各种机器学习任务和数据集。 除了随机森林,还有其他一些热门的机器学习算法,例如支持向量机(Support Vector Machines, SVM),逻辑回归(Logistic Regression),决策树(Decision Trees)以及深度学习算法,如神经网络(Neural Networks)和卷积神经网络(Convolutional Neural Networks, CNN)。这些算法在不同的场景下展现出了很好的性能和效果,并且在学术界和工业界都得到了广泛的应用。 在实际应用中,我们可以根据数据集的特点和问题的需求选择适合的机器学习算法。每个算法都有其优缺点,因此需要根据具体情况进行选择。同时,根据经验,我们可以使用经典的五步机器学习操作流程来进行算法的实施和优化。这个流程包括问题抽象与理解、数据准备与处理、各种机器学习算法实验、结果分析与对比以及模型选择与调优。 参考资料: - AI建模工具速查 | Scikit-Learn使用指南 - AI建模工具速查 | Keras使用指南 - 图解机器学习算法 | 从入门到精通系列 - ShowMeAI系列教程推荐 - 图解Python编程:从入门到精通系列教程 - 图解数据分析:从入门到精通系列教程 - 图解AI数学基础:从入门到精通系列教程 - 图解大数据技术:从入门到精通系列教程 - 图解机器学习算法:从入门到精通系列教程 - 机器学习实战:手把手教你玩转机器学习系列 - 相关文章推荐 Python机器学习算法应用实践 - SKLearn入门与简单应用案例 - SKLearn最全应用指南 - XGBoost建模应用详解 - LightGBM建模应用详解 - Python机器学习综合项目-电商销量预估 - Python机器学习综合项目-电商销量预估<进阶方案> - 机器学习特征工程最全解读 - 自动化特征工程工具Featuretools应用 - AutoML自动机器学习建模
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值