您正在使用IE低版浏览器,为了您的FUTUREAI账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
FUTUREAI 业界
发私信给FUTUREAI
发送

主动化机械进修指北之四年夜成生度模子

本文作者:FUTUREAI 2020-01-14 08:02
导语:主动化机械进修指北之四年夜成生度模子 人工智能战机械进修的观点正在数据科教界中曾经遍及盛行。经由过程那些观点,已往很多需求人工完成的使命,曾经可以被愈加下效且精确的

主动化机械进修指北之四年夜成生度模子

人工智能战机械进修的观点正在数据科教界中曾经遍及盛行。经由过程那些观点,已往很多需求人工完成的使命,曾经可以被愈加下效且精确的主动化方法所代替。能够道,跟着手艺趋向的变革,主动化机械进修正在简化人工操纵的根底上,既节流了工夫又进步了服从。

做者:陈峻编译滥觞:51CTO|2019-12-31 09:00

【51CTO.com快译】人工智能战机械进修的观点正在数据科教界中曾经遍及盛行。经由过程那些观点,已往很多需求人工完成的使命,曾经可以被愈加下效且精确的主动化方法所代替。能够道,跟着手艺趋向的变革,主动化机械进修正在简化人工操纵的根底上,既节流了工夫又进步了服从。

主动化机械进修:主动化锻炼历程

从观点上道,机械进修旨正在经由过程对机械停止锻炼,经由过程处置理想数据的方法,供给预期的输出。也便是道:它可以让机械从现有的数据(或经历)中获得必然水平 的锻炼,正在阅历了一番完好的数据处置以后,进而死成更精确的输出。那末主动化机械进修(AutoML)的观点隐然是要使得全部历程完全 真现主动化。

主动化机械进修的成生度模子

主动化机械进修的分歧 真现方法能够按照它们所对应的成生度,停止分歧 级此外 分类。以下图所示,模子成生度越下,暗示它关于主动化使命的撑持便越好,固然也便需求该模子可以经由过程关于数据的集合锻炼,施行更多的使命、供给更多的办事。

自动化机器学习指南之四大成熟度模型

1.超参数劣化

当数据散被提交过去以后,主动化机械进修会按照上述成生度模子,测验考试着来婚配各类既有的模子,比方:随机丛林、线性回回等(普通利用的是构造化的数据)。同时,它会按需为那些使用到数据上的每种模子,来劣化超参数(hyperparamters)。此类劣化手艺包罗:脚动搜刮、随机搜刮、网格搜刮等。

比方:Auto-sklearn利用贝叶斯模子停止超参数劣化,而且可以供给所需的成果。不外 ,正在该级此外 成生度模子中,主动化机械进修只能施行有限的使命,比方:穿插考证、机械进修算法的挑选、超参数的劣化等。固然,跟着成生度程度的进步,主动化机械进修将会具有更多的功用,供给更超卓的成果。

2. 一级以上的数据预处置

正在第一级中,主动化机械进修需求用户自止真现数据的预处置办法。可是,到了第两级,因为利用了更加成生的模子,各类数据的预处置使命变动 变更以由主动化自己 去完成,并为进一步处置做好筹办。

经由过程搜刮战理解列的范例,机械进修本身完整有才能将一切数据(包罗一些空值数据)转换为常睹的数值范例。固然,此处其实不 包罗关于数据的初级转换取预处置,那些仍旧需求数据科教家自止采纳进一步的操纵。

关于烦闷 沉迷标使命而行,体系仅卖力搜刮战挑选恰当的机械进修算法。比方:按照脚头的挪动使用开辟使命,设想主动化机械进修的算法取模子,经由过程关于数据的预处置,以得出所需的预算、工夫、和其他精确的成果。

经由过程关于数据的预处置,主动化机械进修体系可以构建并真现特性挑选低落维度、数据紧缩等功用,进而无缝天施行各项锻炼使命。

3.找到适宜的机械进修架构

上述第1、两级主动化机械进修体系,隐然没法按照数据的性子,自动发明适宜的机械进修架构,并经由过程施行,以确保超卓的输出。而正在第三级中,以AutoKeras为代表的开源式主动化机械进修库,真现了神经架构搜刮(NAS,neural architecture search,请拜见 :https://en.wikipedia.org/wiki/Neural_architecture_search)。该盛行架构可以有用天正在图象、语音或文本上施行机械进修算法。

因而,数据科教家能够利用分歧 的神经架构搜刮算法,去加强关于主动化机械进修的撑持取经历积聚。正在实践使用中,主动驾驶汽车、主动化消耗办事等范畴皆采取 了第三级的主动化机械进修体系。

4.相干范畴常识的利用

为了可以供给精确的机械进修体系输出,深化天理解数据,出格是数据的范畴战启载的体系长短常需要 的。只要利用相干范畴的常识,并时辰参照一切必须 思索的尺度,才气真现庞大的人工智能的结果。

可睹,针对现有相干范畴的常识储蓄战正在实践场景中的利用,无疑会进步终极成果的精确性。取此同时,精确性的进步也会驱动超卓的猜测才能,并为主动化机械进修的各项使命供给片面的撑持。因而,那个级此外 成生度模子重视的是:经由过程删减布景范畴的相干常识,凭仗具有明白成果导背(result-oriented)的记载,去进步主动化机械进修体系的精确性。

主动化机械进修的真例

处置数据科教研讨的职员能够按照实践使用场景的需供,利用各类东西战硬件库去开辟主动化的流程、和具有粗准输出的机械进修体系。

主动化机械进修的开源库

烦闷 沉迷前,业界有着许多品种的开源库,可以撑持战满意开辟职员正在其体系中真现各类主动化的机械进修需供。

1. AutoKeras

该硬件库正在GitHub上可供开辟职员免费利用。由Data Lab开辟的AutoKeras,旨正在供给关于一切深度进修(deep learning)东西的拜候,进而加强深度进修模子的团体才能。以下代码是AutoKeras的使用示例:

import autokeras as ak clf = ak.ImageClassifier() clf.fit(x_train, y_train) results = clf.predict(x_test) 

Python源代码链接:https://github.com/jhfjhfj1/autokeras

2. MLBox

MLBox是另外一种利用Python编写的开源库。它可以更快、更沉紧天开辟出主动化机械进修的各类函数,此中包罗了可用于数据预处置、清算、和格局化等功用。以下代码示例展现了正在导进数据以后,怎样停止数据预处置的历程:

from mlbox.preprocessing import * from mlbox.optimisation import * from mlbox.prediction import * paths = [ ../input/train.csv , ../input/test.csv ] target_name =  Survived  rd = Reader(sep =  , ) df = rd.train_test_split(paths, target_name) #reading and preprocessing (dates, ...) 

Python源代码链接:https://www.kaggle.com/axelderomblay/running-mlbox-auto-ml-package-on-titanic

3. Auto-sklearn

Auto-sklearn是另外一种开源的主动化机械进修撑持库。它经由过程挑选恰当的机械进修算法,去研讨数据的模子战需供。它消弭了用户端关于超参数处置的请求,进而可以自止展开处置事情。以下代码是正在数据散上真现Auto-sklearn的使用示例:

import autosklearn.classification import sklearn.model_selection import sklearn.datasets import sklearn.metrics X, y = sklearn.datasets.load_digits(return_X_y=True) X_train, X_test, y_train, y_test = \ sklearn.model_selection.train_test_split(X, y, random_state=1) automl = autosklearn.classification.AutoSklearnClassifier() automl.fit(X_train, y_train) y_hat = automl.predict(X_test) print( Accuracy score , sklearn.metrics.accuracy_score(y_test, y_h 

Python源代码链接:https://主动化机械进修.github.io/auto-sklearn/master/

主动化机械进修东西

以下东西固然是为贸易用处而公布的,可是它们不光 获得了普遍天利用,并且包管了主动化机械进修的输出量量。

DataRobot

DataRobot是第一款撑持主动化机械进修的东西。它供给了一个可以真现人工智能的先辈仄台,正在辅佐用户处理各项成绩的同时,用户能够没必要过于担忧其施行历程,而可以沉紧天获得所需的成果。DataRobot API不光 撑持猜测,并且可以使机械经由过程挑选恰当的办法,去真现主动化处置,并供给输出成果。

以下代码是DataRobot API的一个使用示例。它利用数据散去猜测30天以内各家病院的患者能够再次出院的概率。

import datarobot as dr import pandas as pd pd.options.display.max_columns = 1000 import numpy as np import time import matplotlib.pyplot as plt from jupyterthemes import jtplot # currently installed theme will be used to set plot style if no arguments provided jtplot.style() get_ipython().magic('matplotlib inline') # load input data df = pd.read_csv('../demo_data/10kDiabetes.csv') # initialize datarobot client instance dr.Client(config_path='/Users/benjamin.miller/.config/datarobot/my_drconfig.yaml') # create 100 samples with replacement from the original 10K diabetes dataset samples = [] for i in range(100): samples.append(df.sample(10000, replace=True)) # loop through each sample dataframe for i, s in enumerate(samples): # initialize project project = dr.Project.start ( project_name='API_Test_{}'.format(i+20), sourcedata=s, target='readmitted', worker_count=2 ) # get all projects projects = [] for project in dr.Project.list(): if  API_Test  in project.project_name: projects.append(project) # *For each project...* # Make predictions on the original dataset using the most accurate model # initialize list of all predictions for consolidating results bootstrap_predictions = [] # loop through each relevant project to get predictions on original input dataset for project in projects: # get best performing model model = dr.Model.get(project=project.id, model_id=project.get_models()[0].id) # upload dataset new_data = project.upload_dataset(df) # start a predict job predict_job = model.request_predictions(new_data.id) # get job status every 5 seconds and move on once 'inprogress' for i in range(100): time.sleep(5) try: job_status = dr.PredictJob.get( project_id=project.id, predict_job_id=predict_job.id ).status except: # normally the job_status would produce an error when it is completed break # now the predictions are finished predictions = dr.PredictJob.get_predictions( project_id=project.id, predict_job_id=predict_job.id ) # extract row ids and positive probabilities for all records and set to dictionary pred_dict = {k: v for k, v in zip(predictions.row_id, predictions.positive_probability)} # append prediction dictionary to bootstrap predictions bootstrap_predictions.append(pred_dict) # combine all predictions into single dataframe with keys as ids # each record is a row, each column is a set of predictions pertaining to # a model created from a bootstrapped dataset df_predictions = pd.DataFrame(bootstrap_predictions).T # add mean predictions for each observation in df_predictions df_predictions['mean'] = df_predictions.mean(axis=1) # place each record into equal sized probability groups using the mean df_predictions['probability_group'] = pd.qcut(df_predictions['mean'], 10) # aggregate all predictions for each probability group d = {} # dictionary to contain {Interval(probability_group): array([predictions])} for pg in set(df_predictions.probability_group): # combine all predictions for a given group frame = df_predictions[df_predictions.probability_group == pg].iloc[:, 0:100] d[str(pg)] = frame.as_matrix().flatten() # create dataframe from all probability group predictions df_pg = pd.DataFrame(d) # create boxplots in order of increasing probability ranges props = dict(boxes='slategray', medians='black', whiskers='slategray') viz = df_pg.plot.box(color=props, figsize=(15,7), patch_artist=True, rot=45) grid = viz.grid(False, axis='x') ylab = viz.set_ylabel('Readmission Probability') xlab = viz.set_xlabel('Mean Prediction Probability Ranges') title = viz.set_title( label='Expected Prediction Distributions by Readmission Prediction Range', fontsize=18 ) 

Python源代码链接:https://blog.datarobot.com/estimation-of-prediction-distributions-using-datarobot

H2O.ai

另外一款撑持人工智能的办事仄台东西是H2O。它次要被用于完成诸如:无人驾驶的AI成果输出等圆里的机械进修使命。

除上述提到的东西战硬件库,市场上也有着诸如:Google AutoML(https://cloud.谷歌 .com/automl/)等其他贸易范例的处理计划。它们正在真现机械进修相干观点的同时,鞭策了主动化数据的锻炼,并可以供给超卓的成果取猜测。现在,跟着主动化机械进修结果的凸隐,人工智能手艺也获得了不竭 天加强,愈来愈多的企业皆可以今后类体系的输出成果中连续受益。

本文题目:A Beginner's Guide to Automated Machine Learning: 4 Maturity Models to Understand,做者:Manoj Rupareliya

【51CTO译稿,协作站面转载请说明本文译者战出处为51CTO.com】

【编纂保举】


C# 2005 & .NET 3.0初级编程(第5版) 该书为C#典范名著!是Wrox白皮书中最脱销的种类之一。从第1版开端便名谦全国;其第3版被评比为2005年最威望的十年夜IT图书之一;并枯获“2005...

声明:景智AI网尊重行业规范,任何转载稿件皆标注作者和来源;景智AI网的原创文章,请转载时务必注明文章作者和"来源:景智AI网", 不尊重原创的行为将受到景智AI网的追责;转载稿件或作者投稿可能会经编辑修改或者补充,有异议可投诉至:mailto:813501038@qq.com

分享:
相关文章
最新文章