精华内容
下载资源
问答
  • 配置 Azure 机器学习开发环境一、4种开发环境二、必备条件三、配置环境本地计算机基于云的计算实例Data Science Virtual MachineAzure Databricks四、创建工作区配置文件直接写一个json配置文件下载文件以编程方式...


    本节介绍如何配置 Azure 机器学习的开发环境。官方文档对此做了非常详细的介绍。本节对官方文档做了一定简化,重点介绍如何在本地计算机配置 Azure 机器学习的开发环境。

    一、4种开发环境

    Azure 机器学习可以在很多平台上使用。 对开发环境的唯一硬性要求是需要 Python 3。 同时建议使用独立的环境,如 Anaconda 或 Virtualenv。
    下表显示了本节中涉及到的每个开发环境及其优点和缺点。

    环境 优点 缺点
    基于云的 Azure 机器学习计算实例(预览) 入门的最简单方法。 整个 SDK 已安装到你的工作区 VM 中,笔记本教程已预克隆并可随时运行。 缺乏对开发环境和依赖项的控制。 Linux VM 产生的额外成本(VM 可以在不使用时停止,以避免收费)。 请参阅定价详细信息
    本地环境 完全控制开发环境和依赖项。 在您选择的任何生成工具、环境或 IDE 中运行。 需要更长的时间才能开始。 必须安装必需的 SDK 包,并且还必须安装环境(如果尚未安装)。
    Azure Databricks 适用于在可缩放的 Apache Spark 平台上运行大规模密集型机器学习工作流。 用于试验机器学习或小规模试验和工作流的多余。 Azure Databricks 产生的额外成本。 请参阅定价详细信息
    Data Science Virtual Machine (DSVM) 与基于云的计算实例(即预装的 Python 和 SDK)类似,但还预安装了其他热门数据科学和机器学习工具。 易于缩放,并与其他自定义工具和工作流组合。 与基于云的计算实例相比,较慢的入门体验。

    二、必备条件

    Azure 机器学习工作区(工作区是Azure机器学习的顶级资源中心,所有的Azure机器学习试验都在工作区下面开展)。

    • 如果你还没有创建Azure机器学习工作区,请参考此节创建
    • 若要为本地计算机安装 SDK 环境、Jupyter Notebook 服务器或Visual Studio Code,还需要:
      • Anaconda或miniconda)包管理器。
      • 在 Linux 或 macOS 上,需要 bash shell。
      • 在 Windows 上,需要命令提示符或 Anaconda 提示符(由 Anaconda 和 Miniconda 安装)。

    三、配置环境

    由于我一般都是在本地计算机上做Azure机器学习开发,所以首先给大家介绍在本地计算机上配置Azure机器学习开发环境。

    本地计算机

    使用本地计算机(也可能是远程虚拟机)时,请创建 Anaconda 环境并安装 SDK。 下面是一个示例:

    • 下载并安装Anaconda (Python 3.7 版)(如果尚未安装)。
    • 打开 Anaconda 提示符,并使用以下命令创建环境:运行以下命令以创建环境。
    conda create -n myenv python=3.6.5
    • 然后激活环境。
    conda activate myenv

    此示例使用 python 3.6.5 创建一个环境,但可以选择任何特定的 subversions。 对于某些主要版本(建议使用 3.5 +),SDK 兼容性可能不会得到保证,如果遇到错误,建议在 Anaconda 环境中尝试不同版本。 下载组件和包时,创建环境需要花费几分钟。

    • 在新环境中运行以下命令,以启用环境特定的 IPython 内核。 当在 Anaconda 环境中使用 Jupyter 笔记本时,这将确保预期内核和包导入行为:
    conda install notebook ipykernel

    然后运行以下命令以创建内核:

    ipython kernel install --user --name myenv --display-name "Python (myenv)"
    • 使用以下命令安装包:
      此命令通过笔记本和 automl 额外内容安装基本 Azure 机器学习 SDK。 automl 是一个比较大的包,如果不打算进行自动机器化学习试验,则可以将其从方括号中删除。 默认情况下,安装automl 包的时候还会安装 Azure 机器学习数据准备包 作为其依赖项。
    pip install azureml-sdk[notebooks,automl]

    上述安装了运行Azure机器学习的默认安装包,当然它还有很多附加组件和高级功能,如果需要,参考此处安装

    • 为机器学习试验安装其他程序包。比如TensorFlow、PyTorch等等。
    conda install <new package>
    #或者
    pip install <new package>

    安装完成了,就可以通过Jupyter Notebook或者Visual Studio Code来使用Azure机器学习SDK。
    一般按上述步骤在本地计算机安装Azure机器学习SDK后,就可以开始各种机器学习试验了。如果涉及到大型项目开发,需要使用环境来跟踪和重现项目的软件依赖关系,那么可以使用Azure机器学习的Environment类在训练和部署中重复使用某个环境,具体操作请参考此链接

    基于云的计算实例

    这个是一个比较有意思的应用。相当于你在Azure机器学习工作区中创建了一台虚拟机,虚拟机的规格可以自己选择。这台虚拟机已经提前准备好了 Jupyter 笔记本服务器、JupyterLab 以及完整的Azure ML 环境,自己无需再安装或配置任何内容。
    创建这个计算实例的方法也很简单,你只需要在Azure机器学习studio的计算栏目中,在“计算实例”下方点击新建,定义计算实例名称和虚拟机规格后就可以创建成功。
    使用起来也很方便,如果计算实例已经启动,点击“应用程序URI”下方的Jupyter,就会在默认浏览器中打开Jupyter notebook,notebook的根目录是这台虚拟机的/home。之后就可以在notebook中开展机器学习试验。
    这个计算实例实际上是一台绑定到Azure机器学习工作区的虚拟机,工作区给了我们一个便捷使用的接口从而不用通过ssh来连接它。计算实例每次启动和停止都会花费一些时间。另外,此计算实例也是按照云上虚拟机定价收费的,因此每次使用完后最好将其停止,以节省费用。
    图1 Azure机器学习studio种的计算实例
    图1 Azure机器学习studio种的计算实例

    Data Science Virtual Machine

    DSVM是Azure上一种特殊的虚拟机,与一般虚拟机不同的是,该虚拟机在创建时已经预配好了以下环境:

    • TensorFlow、PyTorch、Scikit-learn、XGBoost 和 Azure 机器学习 SDK 等包
    • Spark Standalone 和 Drill 等常用数据科学工具
    • Azure CLI、AzCopy 和存储资源管理器等 Azure 工具
    • Visual Studio Code 和 PyCharm 等集成开发环境 (IDE)
    • Jupyter Notebook 服务器

    Azure 机器学习 SDK 适用于 Ubuntu 或 Windows 版本的 DSVM。 但是,如果还计划将 DSVM 用作计算目标,则仅支持 Ubuntu。
    在portal中创建DSVM请查看创建 Ubuntu Data Science Virtual Machine创建 Windows Data Science Virtual Machine

    DSVM 上已安装 Azure 机器学习 SDK。 若要使用包含此 SDK 的 Conda 环境,请使用以下某个命令:

    • 对于 Ubuntu DSVM:
    conda activate py36
    • 对于 Windows DSVM:
    conda activate AzureML

    若要验证是否可以访问 SDK 并检查版本,请使用以下 Python 代码:

    import azureml.core
    print(azureml.core.VERSION)

    Azure Databricks

    Azure Databricks 是 Azure 云中基于 Apache Spark 的环境。 它通过基于 CPU 或 GPU 的计算群集提供基于笔记本的协作环境。如果有兴趣了解和使用,请参考此处

    四、创建工作区配置文件

    在本地安装好Azure机器学习SDK后,你可以通过以下代码连接到机器学习工作区:

    from azureml.core import Workspace
    
    workspace_name = 'your workspace name'
    subscription_id = 'your subscription id'
    resource_group = 'your resource group name'
    
    ws = Workspace.get(name=workspace_name,subscription_id=subscription_id,resource_group=resource_group)
    print(ws.name, ws.resource_group, ws.location, sep='\n')

    其中workspace_name、subscription_id和resource_group可以根据下图查到:
    图2 工作区的相关配置信息
    图2 工作区的相关配置信息
    ———————————————————————————————————————————————————————————————
    注意:为了确保能够连接成功,在连接工作区之前建议先使用az login登陆Azure,具体步骤如下:

    1. 下载和安装 Azure CLI
    2. 如果使用Azure China,那么在Windows cmd或者Linux终端中输入:
    az cloud set --name AzureChinaCloud

    将Azure设置为AzureChina。
    如果要切换成AzureGlobal,则输入:

    az cloud set --name AzureCloud
    1. 在Windows cmd或者Linux终端中输入
    az login

    将打开默认浏览器进入Azure登陆页面。登陆后一般就能正常连接到工作区。
    ———————————————————————————————————————————————————————————————
    workspace_name、subscription_id和resource_group是连接工作区的令牌,不要将其泄露出去。为了进一步保障安全,建议将这三个值保存到json配置文件中,通过ws = Workspace.from_config(‘config.json’)来连接工作区,避免重要信息在代码中泄露。

    ws = Workspace.from_config(path='config.json')
    print(ws.name, ws.resource_group, ws.location, sep='\n')

    有3中方式可以创建配置文件:

    直接写一个json配置文件

    自己写入一个配置文件。 该文件含包含工作区的配置信息。 然后将其复制到某个文件夹下面。
    图3 工作区json配置文件
    图3 工作区json配置文件

    下载文件

    Azure 门户中,从工作区的 “概述” 部分选择 “下载配置文件”。然后将其放到需要使用的文件夹中。
    图4 portal上下载工作区配置文件
    图4 portal上下载工作区配置文件

    以编程方式创建文件

    在以下代码片段中,你可以通过提供订阅 ID、资源组和工作区名称来连接到工作区。 然后,它将工作区配置保存到文件中:

    from azureml.core import Workspace
    
    subscription_id = '<subscription-id>'
    resource_group  = '<resource-group>'
    workspace_name  = '<workspace-name>'
    
    try:
        ws = Workspace(subscription_id = subscription_id, resource_group = resource_group, workspace_name = workspace_name)
        ws.write_config(path='my_path',file_name='config.json')
        print('Library configuration succeeded')
    except:
        print('Workspace not found')

    此代码会将配置文件写入my_path/.azureml/config.json文件。

    五、总结

    • 介绍了Azure机器学习开发的4种环境,以及每种环境的配置方法,重点介绍了在本地计算机的配置方法。
    • 介绍了3种创建工作区配置文件的方法。
    展开全文
  • 这段时间经常要配置eclipse + anaconda 用于机器学习,但是安装过程没记住,特别是 jdk 的环境变量的配置那一大堆变量没记住,干脆将过程记下来以后自己要安装的时候可以直接查看。 一、安装JDK  由于自己已经有JDK...

    这段时间经常要配置eclipse + anaconda 用于机器学习,但是安装过程没记住,特别是 jdk 的环境变量的配置那一大堆变量没记住,干脆将过程记下来以后自己要安装的时候可以直接查看。

    一、安装JDK

          由于自己已经有JDK我就不下载了,网上找了JDK下载与安装图片。

          首先进入Oracle的官网: http://www.oracle.com/index.html

        


           安装后记得配置环境变量

            首先右击我的电脑选择属性(或者是点击开始栏-右击计算机-选择属性),然后选择高级系统设置,选择环境变量,在系统变量中选择新建。然后在变量名与变量值中进行配置。

            1.新建系统变量 JAVA_HOME
            C:\Program Files\Java\jdk1.8.0_45  (这个路径为你自己的安装路径)
            2.新建系统变量 CLASSPATH
            .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (注意前面有个点)
            3.Path(系统已经存在Path变量,请在Path变量最后进行添加,不要删除其他内容)
            ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

           系统变量到此配置完成,确定后在命令窗口输入javac看是否能打印如下内容

           

    二、安装eclipse

           下载eclipse的安装程序,点击安装后选择你自己的安装目录就好

    三、安装Anaconda

           同样下载anaconda的安装程序,点击安装即可。安装安后进入命令窗口输入python看是否能正常安装成功,安装成功如下:

          


    四、pydev安装

           在eclipse的help->Eclipse Marketsplace中,输入PyDev,进行安装,安装时间可能会较长.当然也可以选择在网上自行下载PyDev,然后在eclipse的help->install new software中进行安装。

          

          点击Install进行安装

          PyDev安装完成后,点击eclipse中的windows->Preferences->PyDev->Interpreter-Python interpreter进行配置

         点击按钮new,找到Anaconda的安装目录中的python.exe,添加进去。添加完成后,如图所示


          点击OK进行安装


    REFERENCE:

             http://blog.csdn.net/guo_ridgepole/article/details/49741397     jdk配置参考

             http://blog.csdn.net/olaking/article/details/42435451          eclipse配置参考

    展开全文
  • Python常用的机器学习库Python在科学计算中用途广泛:计算机视觉、人工智能、数学、天文等。它同样适用于机器学习也是意料之中的事。 这篇文章就列举并描述Python的最有用的机器学习工具和库。这个列表中,我们不...

    #前言
    Python在科学计算中用途广泛:计算机视觉、人工智能、数学、天文等。它同样适用于机器学习也是意料之中的事。
    这篇文章就列举并描述Python的最有用的机器学习工具和库。这个列表中,我们不要求这些库是用Python写的,只要有Python接口就够了。
    我们的目的不是列出Python中所有机器学习库(搜索“机器学习”时Python包索引(PyPI)返回了139个结果),而是列出我们所知的有用并且维护良好的那些。
    另外,尽管有些模块可以用于多种机器学习任务,我们只列出主要焦点在机器学习的库。比如,虽然Scipy1包含一些聚类算法,但是它的主焦点不是机器学习而是全面的科学计算工具集。因此我们排除了Scipy(尽管我们也使用它!)。
    另一个需要提到的是,我们同样会根据与其他科学计算库的集成效果来评估这些库,因为机器学习(有监督的或者无监督的)也是数据处理系统的一部分。如果你使用的库与数据处理系统其他的库不相配,你就要花大量时间创建不同库之间的中间层。在工具集中有个很棒的库很重要,但这个库能与其他库良好集成也同样重要。
    如果你擅长其他语言,但也想使用Python包,我们也简单地描述如何与Python进行集成来使用这篇文章列出的库。
    #Scikit-Learn
    这里写图片描述

    Scikit Learn7是我们在CB Insights选用的机器学习工具。我们用它进行分类、特征选择、特征提取和聚集。
    我们最爱的一点是它拥有易用的一致性API,并提供了很多开箱可用的求值、诊断和交叉验证方法(是不是听起来很熟悉?Python也提供了“电池已备(译注:指开箱可用)”的方法)。锦上添花的是它底层使用Scipy数据结构,与Python中其余使用Scipy、Numpy、Pandas和Matplotlib进行科学计算的部分适应地很好。
    因此,如果你想可视化分类器的性能(比如,使用精确率与反馈率(precision-recall)图表,或者接收者操作特征(Receiver Operating Characteristics,ROC)曲线),Matplotlib可以帮助进行快速可视化。
    考虑到花在清理和构造数据的时间,使用这个库会非常方便,因为它可以紧密集成到其他科学计算包上。
    另外,它还包含有限的自然语言处理特征提取能力,以及词袋(bag of words)、tfidf(Term Frequency Inverse Document Frequency算法)、预处理(停用词/stop-words,自定义预处理,分析器)。
    此外,如果你想快速对小数据集(toy dataset)进行不同基准测试的话,它自带的数据集模块提供了常见和有用的数据集。你还可以根据这些数据集创建自己的小数据集,这样在将模型应用到真实世界中之前,你可以按照自己的目的来检验模型是否符合期望。对参数最优化和参数调整,它也提供了网格搜索和随机搜索。
    如果没有强大的社区支持,或者维护得不好,这些特性都不可能实现。我们期盼它的第一个稳定发布版。
    #Statsmodels
    这里写图片描述

    Statsmodels是另一个聚焦在统计模型上的强大的库,主要用于预测性和探索性分析。如果你想拟合线性模型、进行统计分析,或者预测性建模,那么Statsmodels非常适合。它提供的统计测试相当全面,覆盖了大部分情况的验证任务。
    如果你是R或者S的用户,它也提供了某些统计模型的R语法。它的模型同时也接受Numpy数组和Pandas数据帧,让中间数据结构成为过去!
    #PyMC
    这里写图片描述
    PyMC是做贝叶斯曲线的工具。它包含贝叶斯模型、统计分布和模型收敛的诊断工具,也包含一些层次模型。如果想进行贝叶斯分析,你应该看看。
    #Shogun
    这里写图片描述
    Shogun1是个聚焦在支持向量机(Support Vector Machines, SVM)上的机器学习工具箱,用C++编写。它正处于积极开发和维护中,提供了Python接口,也是文档化最好的接口。但是,相对于Scikit-learn,我们发现它的API比较难用。而且,也没提供很多开箱可用的诊断和求值算法。但是,速度是个很大的优势。
    #Gensim

    Gensim被定义为“人们的主题建模工具(topic modeling for humans)”。它的主页上描述,其焦点是狄利克雷划分(Latent Dirichlet Allocation, LDA)及变体。不同于其他包,它支持自然语言处理,能将NLP和其他机器学习算法更容易组合在一起。
    如果你的领域在NLP,并想进行聚集和基本的分类,你可以看看。目前,它们引入了Google的基于递归神经网络(Recurrent Neural Network)的文本表示法word2vec。这个库只使用Python编写。
    Orange

    Orange是这篇文章列举的所有库中唯一带有图形用户界面(Graphical User Interface,GUI)的。对分类、聚集和特征选择方法而言,它是相当全面的,还有些交叉验证的方法。在某些方面比Scikit-learn还要好(分类方法、一些预处理能力),但与其他科学计算系统(Numpy, Scipy, Matplotlib, Pandas)的适配上比不上Scikit-learn。
    但是,包含GUI是个很重要的优势。你可以可视化交叉验证的结果、模型和特征选择方法(某些功能需要安装Graphviz)。对大多数算法,Orange都有自己的数据结构,所以你需要将数据包装成Orange兼容的数据结构,这使得其学习曲线更陡。
    #PyMVPA

    PyMVPA是另一个统计学习库,API上与Scikit-learn很像。包含交叉验证和诊断工具,但是没有Scikit-learn全面。
    深度学习
    尽管深度学习是机器学习的一个子节,我们在这里创建单独一节的原因是,它最新吸引了Google和Facebook人才招聘部门的很多注意。
    #Theano

    Theano是最成熟的深度学习库。它提供了不错的数据结构(张量,tensor)来表示神经网络的层,对线性代数来说很高效,与Numpy的数组类似。需要注意的是,它的API可能不是很直观,用户的学习曲线会很高。有很多基于Theano的库都在利用其数据结构。它同时支持开箱可用的GPU编程。
    #PyLearn

    还有另外一个基于Theano的库,PyLearn2,它给Theano引入了模块化和可配置性,你可以通过不同的配置文件来创建神经网络,这样尝试不同的参数会更容易。可以说,如果分离神经网络的参数和属性到配置文件,它的模块化能力更强大。
    #Decaf

    Decaf是最近由UC Berkeley发布的深度学习库,在Imagenet分类挑战中测试发现,其神经网络实现是很先进的(state of art)。
    #Nolearn

    如果你想在深度学习中也能使用优秀的Scikit-learn库API,封装了Decaf的Nolearn会让你能够更轻松地使用它。它是对Decaf的包装,与Scikit-learn兼容(大部分),使得Decaf更不可思议。
    #OverFeat

    OverFeat是最近猫vs.狗(kaggle挑战)4的胜利者,它使用C++编写,也包含一个Python包装器(还有Matlab和Lua)。通过Torch库使用GPU,所以速度很快。也赢得了ImageNet分类的检测和本地化挑战。如果你的领域是计算机视觉,你可能需要看看。
    #Hebel

    Hebel是另一个带有GPU支持的神经网络库,开箱可用。你可以通过YAML文件(与Pylearn2类似)决定神经网络的属性,提供了将神级网络和代码友好分离的方式,可以快速地运行模型。由于开发不久,就深度和广度上说,文档很匮乏。就神经网络模型来说,也是有局限的,因为只支持一种神经网络模型(正向反馈,feed-forward)。
    但是,它是用纯Python编写,将会是很友好的库,因为包含很多实用函数,比如调度器和监视器,其他库中我们并没有发现这些功能。
    #Neurolab

    NeuroLab是另一个API友好(与Matlabapi类似)的神经网络库。与其他库不同,它包含递归神经网络(Recurrent Neural Network,RNN)实现的不同变体。如果你想使用RNN,这个库是同类API中最好的选择之一。
    与其他语言集成

    你不了解Python但是很擅长其他语言?不要绝望!Python(还有其他)的一个强项就是它是一个完美的胶水语言,你可以使用自己常用的编程语言,通过Python来访问这些库。以下适合各种编程语言的包可以用于将其他语言与Python组合到一起:

    R -> RPython
    Matlab -> matpython
    Java -> Jython
    Lua -> Lunatic Python
    Julia -> PyCall.jl
    #不活跃的库

    这些库超过一年没有发布任何更新,我们列出是因为你有可能会有用,但是这些库不太可能会进行BUG修复,特别是未来进行增强。

    MDP2MlPy
    FFnet
    PyBrain

    展开全文
  • 机器学习系列(7)_机器学习路线图(附资料)

    万次阅读 多人点赞 2016-02-28 11:55:21
    1. 引言 也许你和这个叫『机器学习』的家伙一点也不熟,但是你举起iphone手机拍照的时候,...机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。而

    作者: 龙心尘 && 寒小阳
    时间:2016年2月。
    出处:http://blog.csdn.net/longxinchen_ml/article/details/50749614
    http://blog.csdn.net/han_xiaoyang/article/details/50759472
    声明:版权所有,转载请联系作者并注明出处

    1. 引言

    也许你和这个叫『机器学习』的家伙一点也不熟,但是你举起iphone手机拍照的时候,早已习惯它帮你框出人脸;也自然而然点开今日头条推给你的新闻;也习惯逛淘宝点了找相似之后货比三家;亦或喜闻乐见微软的年龄识别网站结果刷爆朋友圈。恩,这些功能的核心算法就是机器学习领域的内容。

    套用一下大神们对机器学习的定义,机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。简单一点说,就是计算机从数据中学习出规律和模式,以应用在新数据上做预测的任务。近年来互联网数据大爆炸,数据的丰富度和覆盖面远远超出人工可以观察和总结的范畴,而机器学习的算法能指引计算机在海量数据中,挖掘出有用的价值,也使得无数学习者为之着迷。

    但是越说越觉得机器学习有距离感,云里雾里高深莫测,我们不是专家,但说起算有一些从业经验,做过一些项目在实际数据上应用机器学习。这一篇就我们的经验和各位同仁的分享,总结一些对于初学者入门有帮助的方法和对进阶有用的资料。

    #2. 机器学习关注问题
    并非所有的问题都适合用机器学习解决(很多逻辑清晰的问题用规则能很高效和准确地处理),也没有一个机器学习算法可以通用于所有问题。咱们先来了解了解,机器学习,到底关心和解决什么样的问题。

    从功能的角度分类,机器学习在一定量级的数据上,可以解决下列问题:

    1.分类问题

    • 根据数据样本上抽取出的特征,判定其属于有限个类别中的哪一个。比如:
    • 垃圾邮件识别(结果类别:1、垃圾邮件 2、正常邮件)
    • 文本情感褒贬分析(结果类别:1、褒 2、贬)
    • 图像内容识别识别(结果类别:1、喵星人 2、汪星人 3、人类 4、草泥马 5、都不是)。

    2.回归问题

    • 根据数据样本上抽取出的特征,预测一个连续值的结果。比如:
    • 星爷《美人鱼》票房
    • 大帝都2个月后的房价
    • 隔壁熊孩子一天来你家几次,宠幸你多少玩具

    3.聚类问题

    • 根据数据样本上抽取出的特征,让样本抱抱团(相近/相关的样本在一团内)。比如:
    • google的新闻分类
    • 用户群体划分

    我们再把上述常见问题划到机器学习最典型的2个分类上。

    • 分类与回归问题需要用已知结果的数据做训练,属于**“监督学习”**
    • 聚类的问题不需要已知标签,属于**“非监督学习”**。

    如果在IT行业(尤其是互联网)里溜达一圈,你会发现机器学习在以下热点问题中有广泛应用:

    1.计算机视觉

    • 典型的应用包括:人脸识别、车牌识别、扫描文字识别、图片内容识别、图片搜索等等。

    2.自然语言处理

    • 典型的应用包括:搜索引擎智能匹配、文本内容理解、文本情绪判断,语音识别、输入法、机器翻译等等。

    3.社会网络分析

    • 典型的应用包括:用户画像、网络关联分析、欺诈作弊发现、热点发现等等。

    4.推荐

    • 典型的应用包括:虾米音乐的“歌曲推荐”,某宝的“猜你喜欢”等等。

    #3. 入门方法与学习路径

    OK,不废话,直接切重点丢干货了。看似学习难度大,曲线陡的机器学习,对大多数入门者也有一个比较通用的学习路径,也有一些优秀的入门资料可以降低大家的学习门槛,同时激发我们的学习乐趣。

    简单说来,大概的一个学习路径如下:

    路径图

    简单说一点,之所以最左边写了『数学基础』『典型机器学习算法』『编程基础』三个并行的部分,是因为机器学习是一个将数学/算法理论和工程实践紧密结合的领域,需要扎实的理论基础帮助引导数据分析与模型调优,同时也需要精湛的工程开发能力去高效化地训练和部署模型和服务。

    需要多说一句的是,在互联网领域从事机器学习的人,有2类背景的人比较多,其中一部分(很大一部分)是程序员出身,这类同学工程经验相对会多一些,另一部分是学数学统计领域的同学,这部分同学理论基础相对扎实一些。因此对比上图,2类同学入门机器学习,所欠缺和需要加强的部分是不一样的。

    下面就上述图中的部分,展开来分别扯几句:

    ##3.1 数学基础

    有无数激情满满大步向前,誓要在机器学习领域有一番作为的同学,在看到公式的一刻突然就觉得自己狗带了。是啊,机器学习之所以相对于其他开发工作,更有门槛的根本原因就是数学。每一个算法,要在训练集上最大程度拟合同时又保证泛化能力,需要不断分析结果和数据,调优参数,这需要我们对数据分布和模型底层的数学原理有一定的理解。所幸的是如果只是想合理应用机器学习,而不是做相关方向高精尖的research,需要的数学知识啃一啃还是基本能理解下来的。至于更高深的部分,恩,博主非常愿意承认自己是『数学渣』。

    基本所有常见机器学习算法需要的数学基础,都集中在微积分、线性代数和概率与统计当中。下面我们先过一过知识重点,文章的后部分会介绍一些帮助学习和巩固这些知识的资料。

    ###3.1.1 微积分

    • 微分的计算及其几何、物理含义,是机器学习中大多数算法的求解过程的核心。比如算法中运用到梯度下降法、牛顿法等。如果对其几何意义有充分的理解,就能理解“梯度下降是用平面来逼近局部,牛顿法是用曲面逼近局部”,能够更好地理解运用这样的方法。
    • 凸优化和条件最优化 的相关知识在算法中的应用随处可见,如果能有系统的学习将使得你对算法的认识达到一个新高度。

    ###3.1.2 线性代数

    • 大多数机器学习的算法要应用起来,依赖于高效的计算,这种场景下,程序员GG们习惯的多层for循环通常就行不通了,而大多数的循环操作可转化成矩阵之间的乘法运算,这就和线性代数有莫大的关系了
    • 向量的内积运算更是随处可见。
    • 矩阵乘法与分解在机器学习的主成分分析(PCA)和奇异值分解(SVD) 等部分呈现刷屏状地出现。

    ###3.1.3 概率与统计
    从广义来说,机器学习在做的很多事情,和统计层面数据分析和发掘隐藏的模式,是非常类似的。

    • 极大似然思想、贝叶斯模型 是理论基础,朴素贝叶斯(Na?ve Bayes )、语言模型(N-gram)、隐马尔科夫(HMM)、隐变量混合概率模型是他们的高级形态。
    • 常见分布如高斯分布是混合高斯模型(GMM)等的基础。

    3.2 典型算法

    绝大多数问题用典型机器学习的算法都能解决,粗略地列举一下这些方法如下:

    1. 处理分类问题的常用算法包括:逻辑回归(工业界最常用),支持向量机,随机森林,朴素贝叶斯(NLP中常用),深度神经网络(视频、图片、语音等多媒体数据中使用)
    2. 处理回归问题的常用算法包括:线性回归,普通最小二乘回归(Ordinary Least Squares Regression),逐步回归(Stepwise Regression),多元自适应回归样条(Multivariate Adaptive Regression Splines)
    3. 处理聚类问题的常用算法包括:K均值(K-means),基于密度聚类,LDA等等。
    4. 降维的常用算法包括:主成分分析(PCA),奇异值分解(SVD) 等。
    5. 推荐系统的常用算法:协同过滤算法
    6. 模型融合(model ensemble)和提升(boosting)的算法包括:bagging,adaboost,GBDT,GBRT
    7. 其他很重要的算法包括:EM算法等等。

    我们多插一句,机器学习里所说的**“算法”**与程序员所说的“数据结构与算法分析”里的“算法”略有区别前者更关注结果数据的召回率、精确度、准确性等方面,后者更关注执行过程的时间复杂度、空间复杂度等方面。 。当然,实际机器学习问题中,对效率和资源占用的考量是不可或缺的。

    3.3 编程语言、工具和环境

    看了无数的理论与知识,总归要落到实际动手实现和解决问题上。而没有工具所有的材料和框架、逻辑、思路都给你,也寸步难行。因此我们还是得需要合适的编程语言、工具和环境帮助自己在数据集上应用机器学习算法,或者实现自己的想法。对初学者而言,Python和R语言是很好的入门语言,很容易上手,同时又活跃的社区支持,丰富的工具包帮助我们完成想法。相对而言,似乎计算机相关的同学用Python多一些,而数学统计出身的同学更喜欢R一些。我们对编程语言、工具和环境稍加介绍:

    3.3.1 python

    python有着全品类的数据科学工具,从数据获取、数据清洗到整合各种算法都做得非常全面。

    • 网页爬虫: scrapy
    • 数据挖掘:
      • pandas:模拟R,进行数据浏览与预处理。
      • numpy:数组运算。
      • scipy:高效的科学计算。
      • matplotlib:非常方便的数据可视化工具。
    • 机器学习:
      • scikit-learn:远近闻名的机器学习package。未必是最高效的,但是接口真心封装得好,几乎所有的机器学习算法输入输出部分格式都一致。而它的支持文档甚至可以直接当做教程来学习,非常用心。对于不是非常高纬度、高量级的数据,scikit-learn胜任得非常好(有兴趣可以看看sklearn的源码,也很有意思)。
      • libsvm:高效率的svm模型实现(了解一下很有好处,libsvm的系数数据输入格式,在各处都非常常见)
      • keras/TensorFlow:对深度学习感兴趣的同学,也能很方便地搭建自己的神经网络了。
    • 自然语言处理:
      • nltk:自然语言处理的相关功能做得非常全面,有典型语料库,而且上手也非常容易。
    • 交互式环境:
      • ipython notebook:能直接打通数据到结果的通道,方便至极。强力推荐。

    3.3.2 R

    R最大的优势是开源社区,聚集了非常多功能强大可直接使用的包,绝大多数的机器学习算法在R中都有完善的包可直接使用,同时文档也非常齐全。常见的package包括:RGtk2, pmml, colorspace, ada, amap, arules, biclust, cba, descr, doBy, e1071, ellipse等等。另外,值得一提的是R的可视化效果做得非常不错,而这对于机器学习是非常有帮助的。

    3.3.3 其他语言

    相应资深程序员GG的要求,再补充一下java和C++相关机器学习package。

    3.3.4 大数据相关

    • Hadoop:基本上是工业界的标配了。一般用来做特征清洗、特征处理的相关工作。
    • spark:提供了MLlib这样的大数据机器学习平台,实现了很多常用算法。但可靠性、稳定性上有待提高。

    3.3.5 操作系统

    • mac和linux会方便一些,而windows在开发中略显力不从心。所谓方便,主要是指的mac和linux在下载安装软件、配置环境更快捷。
    • 对于只习惯windows的同学,推荐anaconda,一步到位安装完python的全品类数据科学工具包。

    3.4 基本工作流程

    以上我们基本具备了机器学习的必要条件,剩下的就是怎么运用它们去做一个完整的机器学习项目。其工作流程如下:

    3.4.1 抽象成数学问题

    • 明确问题是进行机器学习的第一步。机器学习的训练过程通常都是一件非常耗时的事情,胡乱尝试时间成本是非常高的。
    • 这里的抽象成数学问题,指的我们明确我们可以获得什么样的数据,目标是一个分类还是回归或者是聚类的问题,如果都不是的话,如果划归为其中的某类问题。

    3.4.2 获取数据

    • 数据决定了机器学习结果的上限,而算法只是尽可能逼近这个上限。
    • 数据要有代表性,否则必然会过拟合。
    • 而且对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。
    • 而且还要对数据的量级有一个评估,多少个样本,多少个特征,可以估算出其对内存的消耗程度,判断训练过程中内存是否能够放得下。如果放不下就得考虑改进算法或者使用一些降维的技巧了。如果数据量实在太大,那就要考虑分布式了。

    3.4.3 特征预处理与特征选择

    • 良好的数据要能够提取出良好的特征才能真正发挥效力
    • 特征预处理、数据清洗是很关键的步骤,往往能够使得算法的效果和性能得到显著提高。归一化、离散化、因子化、缺失值处理、去除共线性等,数据挖掘过程中很多时间就花在它们上面。这些工作简单可复制,收益稳定可预期,是机器学习的基础必备步骤
    • 筛选出显著特征、摒弃非显著特征,需要机器学习工程师反复理解业务。这对很多结果有决定性的影响。特征选择好了,非常简单的算法也能得出良好、稳定的结果。这需要运用特征有效性分析的相关技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。

    3.4.4 训练模型与调优

    • 直到这一步才用到我们上面说的算法进行训练。现在很多算法都能够封装成黑盒供人使用。但是真正考验水平的是调整这些算法的(超)参数,使得结果变得更加优良。这需要我们对算法的原理有深入的理解。理解越深入,就越能发现问题的症结,提出良好的调优方案。

    3.4.5 模型诊断

    如何确定模型调优的方向与思路呢?这就需要对模型进行诊断的技术。

    • 过拟合、欠拟合 判断是模型诊断中至关重要的一步。常见的方法如交叉验证,绘制学习曲线等。过拟合的基本调优思路是增加数据量,降低模型复杂度。欠拟合的基本调优思路是提高特征数量和质量,增加模型复杂度
    • 误差分析 也是机器学习至关重要的步骤。通过观察误差样本,全面分析误差产生误差的原因:是参数的问题还是算法选择的问题,是特征的问题还是数据本身的问题……
    • 诊断后的模型需要进行调优,调优后的新模型需要重新进行诊断,这是一个反复迭代不断逼近的过程,需要不断地尝试, 进而达到最优状态。

    3.4.6 模型融合

    • 一般来说,模型融合后都能使得效果有一定提升。而且效果很好。
    • 工程上,主要提升算法准确度的方法是分别在模型的前端(特征清洗和预处理,不同的采样模式)与后端(模型融合)上下功夫。因为他们比较标准可复制,效果比较稳定。而直接调参的工作不会很多,毕竟大量数据训练起来太慢了,而且效果难以保证。

    3.4.7 上线运行

    • 这一部分内容主要跟工程实现的相关性比较大。工程上是结果导向,模型在线上运行的效果直接决定模型的成败。 不单纯包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性是否可接受。

    这些工作流程主要是**工程实践上总结出的一些经验。并不是每个项目都包含完整的一个流程。**这里的部分只是一个指导性的说明,只有大家自己多实践,多积累项目经验,才会有自己更深刻的认识。

    3.5 关于积累项目经验

    初学机器学习可能有一个误区,就是一上来就陷入到对各种高大上算法的追逐当中。动不动就我能不能用深度学习去解决这个问题啊?我是不是要用boosting算法做一些模型融合啊?我一直持有一个观点,『脱离业务和数据的算法讨论是毫无意义的』。

    实际上按我们的学习经验,从一个数据源开始,即使是用最传统,已经应用多年的机器学习算法,先完整地走完机器学习的整个工作流程,不断尝试各种算法深挖这些数据的价值,在运用过程中把数据、特征和算法搞透,真正积累出项目经验 才是最快、最靠谱的学习路径。

    那如何获取数据和项目呢?一个捷径就是积极参加国内外各种数据挖掘竞赛,数据直接下载下来,按照竞赛的要求去不断优化,积累经验。国外的Kaggle和国内的DataCastle 以及阿里天池比赛都是很好的平台,你可以在上面获取真实的数据和数据科学家们一起学习和进行竞赛,尝试使用已经学过的所有知识来完成这个比赛本身也是一件很有乐趣的事情。和其他数据科学家的讨论能开阔视野,对机器学习算法有更深层次的认识。

    有意思的是,有些平台,比如阿里天池比赛,甚至给出了从数据处理模型训练模型评估可视化模型融合增强的全部组件,你要做的事情只是参与比赛,获取数据,然后使用这些组件去实现自己的idea即可。具体内容可以参见阿里云机器学习文档

    3.6 自主学习能力

    多几句嘴,这部分内容和机器学习本身没有关系,但是我们觉得这方面的能力对于任何一种新知识和技能的学习来说都是至关重要的。 自主学习能力提升后,意味着你能够跟据自己的情况,找到最合适的学习资料和最快学习成长路径。

    3.6.1 信息检索过滤与整合能力

    对于初学者,绝大部分需要的知识通过网络就可以找到了。

    google搜索引擎技巧——组合替换搜索关键词、站内搜索、学术文献搜索、PDF搜索等——都是必备的。

    一个比较好的习惯是找到信息的原始出处,如个人站、公众号、博客、专业网站、书籍等等。这样就能够找到系统化、不失真的高质量信息。

    百度搜到的技术类信息不够好,建议只作为补充搜索来用。各种搜索引擎都可以交叉着使用效果更好。

    学会去常见的高质量信息源中搜索东西:stackoverflow(程序相关)、quora(高质量回答)、wikipedia(系统化知识,比某某百科不知道好太多)、知乎(中文、有料)、网盘搜索(免费资源一大把)等。

    将搜集到的网页放到分类齐全的云端收藏夹里,并经常整理。这样无论在公司还是在家里,在电脑前还是在手机上,都能够找到自己喜欢的东西。

    搜集到的文件、代码、电子书等等也放到云端网盘里,并经常整理。

    3.6.2 提炼与总结能力

    经常作笔记,并总结自己学到的知识是成长的不二法门。其实主要的困难是懒,但是坚持之后总能发现知识的共性,就能少记一些东西,掌握得更多。

    笔记建议放到云端笔记里,印象笔记、为知笔记都还不错。这样在坐地铁、排队等零碎的时间都能看到笔记并继续思考。

    3.6.3 提问与求助能力

    机器学习的相关QQ群、论坛、社区一大堆。总有人知道你问题的答案。

    但是大多数同学都很忙,没法像家庭教师那样手把手告诉你怎么做。

    为了让回答者最快明白你的问题,最好该学会正确的问问题的方式:陈述清楚你的业务场景和业务需求是什么,有什么已知条件,在哪个具体的节点上遇到困难了,并做过哪些努力。

    有一篇经典的文章告诉你怎样通过提问获得帮助:《提问的智慧》,强力推荐。 话锋犀利了些,但里面的干货还是很好的。

    别人帮助你的可能性与你提问题的具体程度和重要性呈指数相关。

    3.6.4 分享的习惯

    我们深信:“证明自己真的透彻理解一个知识,最好的方法,是给一个想了解这个内容的人,讲清楚这个内容。” 分享能够最充分地提升自己的学习水平。这也是我们坚持长期分享最重要的原因。

    分享还有一个副产品,就是自己在求助的时候能够获得更多的帮助机会,这也非常重要。

    4. 相关资源推荐

    文章的最后部分,我们继续放送干货。其实机器学习的优质资源非常多。博主也是翻遍浏览器收藏夹,也问同事取了取经,整合了一部分资源罗列如下:

    4.1 入门资源

    首先coursera 是一个非常好的学习网站,集中了全球的精品课程。上述知识学习的过程都可以在上面找到合适的课程。也有很多其他的课程网站,这里我们就需要学习的数学和机器学习算法推荐一些课程(有一些课程有中文字幕,有一些只有英文字幕,有一些甚至没有字幕,大家根据自己的情况调整,如果不习惯英文,基础部分有很多国内的课程也非常优质):

    • 微积分相关

    Calculus: Single Variable
    Multivariable Calculus

    • 线性代数

    Linear Algebra

    • 概率统计

    Introduction to Statistics: Descriptive Statistics
    Probabilistic Systems Analysis and Applied Probability

    • 编程语言

    Programming for Everybody:Python
    DataCamp: Learn R with R tutorials and coding challenges:R

    • 机器学习方法

    Statistical Learning®
    machine learning:强烈推荐,Andrew Ng老师的课程
    机器学习基石
    机器学习技术:林轩田老师的课相对更有深度一些,把作业做完会对提升对机器学习的认识。
    自然语言处理:斯坦福大学课程

    • 日常阅读的资源

    @爱可可-爱生活的微博
    机器学习日报的邮件订阅 等。

    4.2 进阶资源

    • 有源代码的教程

    scikit-learn中各个算法的例子
    《机器学习实战》 有中文版,并附有python源代码。
    《The Elements of Statistical Learning (豆瓣)》 这本书有对应的中文版:《统计学习基础 (豆瓣)》。书中配有R包。可以参照着代码学习算法。网盘中有中文版。
    《Natural Language Processing with Python (豆瓣)》 NLP 经典,其实主要是讲 python的NLTK 这个包。网盘中有中文版。
    《Neural Networks and Deep Learning》 Michael Nielsen的神经网络教材,浅显易懂。国内有部分翻译,不全,建议直接看原版。

    • 图书与教材

    《数学之美》:入门读起来很不错。
    《统计学习方法 (豆瓣) 》:李航经典教材。
    《Pattern Recognition And Machine Learning (豆瓣) 》:经典中教材。
    《统计自然语言处理》自然语言处理经典教材
    《Applied predictive modeling》:英文版,注重工程实践的机器学习教材
    《UFLDL教程》:神经网络经典教材
    《deeplearningbook》:深度学习经典教材。

    • 工具书

    《SciPy and NumPy (豆瓣) 》
    《Python for Data Analysis (豆瓣) 》作者是Pandas这个包的作者

    • 其他网络资料

    机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总: 作者太给力,量大干货多,有兴趣的同学可以看看,博主至今只看了一小部分。

    展开全文
  • 机器学习计算机视觉入门项目——视频投篮检测(一) 随着机器学习、深度学习技术的迅猛发展,计算机视觉无疑是近年来发展最快的AI领域之一。正因如此,互联网上有关计算机视觉和机器学习、深度学习的社区、博文、...
  • 机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重新组织已有的知识结构使之不断改善自身。简单一点说,就是计算机从数据中学习出规律和模式,以应用在新数据上做预测的任务。
  • [机器学习]机器学习资源大全中文版

    千次阅读 2018-05-27 21:10:04
    机器学习资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理。awesome-machine-learning 就是 josephmisiti 发起维护的机器学习资源列表,内容包括了机器学习领域的框架、库以及...
  • 最近开始学习Python语言了,准备开始机器学习方面的学习了,在大佬学长的帮助下,先是安装了一个2018.12.0版本的Anaconda3,但是在配置环境时,出了些小毛病没办法解决:有一个jupyter notebook安装好以后电脑仍然...
  • 机器学习系列(7)_机器学习路线图(附资料)

    万次阅读 多人点赞 2016-02-28 11:54:10
    近年来互联网数据大爆炸,数据的丰富度和覆盖面远远超出人工可以观察和总结的范畴,而机器学习的算法能指引计算机在海量数据中,挖掘出有用的价值,也使得无数学习者为之着迷。 我们不是专家,但说起算有一些从业...
  • 一些人说超过60%到70%的时间都用于数据清理、数据处理及格式转化,以便于在之后应用机器学习模型。这篇文章的重点便在后者—— 应用机器学习模型(包括预处理的阶段)。此文讨论到的内容来源于我参加的过的数百次的...
  • 机器学习】解释机器学习模型

    千次阅读 2018-08-23 10:05:54
    在这篇博客文章中,我试图解释机器学习中可解释性的重要性,并讨论一些您可以自己试验的简单操作和框架。 关于机器学习的xkcd   为什么机器学习中的可解释性很重要? 在传统统计中,我们通过调查整个数据来...
  • 配置机器学习环境的过程有些复杂,今天我们将会为大家分享网友Jason Weimann的文章,让大家学会在Windows 10上配置Unity机器学习和TensorFlow环境。当成功配置完成后,就可以运行Unity官方提供的机器学习示例项目...
  • 人工智能“知识”--》“学习”重点,机器学习是实现人工智能的一个途径,机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行...
  • 人工智能之机器学习路线图

    万次阅读 多人点赞 2016-09-07 23:21:02
    1. 引言 也许你和这个叫『机器学习』的家伙一点也不熟,但是你举起iphone手机拍照的时候,早已习惯它... 套用一下大神们对机器学习的定义,机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技能,并重
  • 机器学习路线图

    千次阅读 2016-03-10 18:51:27
    机器学习路线图(附资料)1. 引言也许你和这个叫『机器学习』的家伙一点也不熟,但是你举起iphone手机拍照的时候...套用一下大神们对机器学习的定义,机器学习研究的是计算机怎样模拟人类的学习行为,以获取新的知识或技
  • 我爱机器学习 机器学习干货站 跳至正文 机器学习 Deep Learning 所有主题 关注我们 DeepMind团队的《Deep Reinforcement Learning in Large Discrete Action Spaces》 发表于2016年4月7日由smallroof Paper: Deep ...
  • Python 机器学习经典实例

    万次阅读 多人点赞 2018-04-12 10:44:15
    本书首先通过实用的案例介绍机器学习的基础知识,然后介绍一些稍微复杂的机器学习算法,例如支持向量机、极端随机森林、隐马尔可夫模型、条件随机场、深度神经网络,等等。 用最火的 Python 语言、通过各种各样的...
  • 机器学习
  • 如何入门Python与机器学习

    万次阅读 多人点赞 2017-09-04 15:24:37
    编者按:本书节选自图书《Python与机器学习实战》,Python本身带有许多机器学习的第三方库,但本书在绝大多数情况下只会用到Numpy这个基础的科学计算库来进行算法代码的实现。这样做的目的是希望读者能够从实现的...
  • 怀着对机器学习计算机视觉等等领域的懵懂,从一个电子材料的领域跨入这个高速发展的人工智能领域。从开始的因无知而惊慌,因陌生而乏力,到一步步的成长。这过程的知识积累也都大部分反映在这个博客上面了。感谢这...
  •   本篇主要是让大家熟悉机器学习实际项目中的全流程,并伴随案例讲解,通过让大家动手了解实际机器学习项目的大体流程,以及面对一些常见情况的处理方法 编程环境: Anaconda3:juputer notebook Python3 Pycharm...
  • 机器学习大牛李飞飞的电脑配置

    千次阅读 2018-11-15 01:33:40
    机器学习大牛李飞飞的电脑配置
  • 机器学习7个主要领域

    千次阅读 2019-06-13 08:24:58
    机器学习是识别隐藏在数据中的可能性并将其转化为完全成熟机会的技术。巧合的是,机会是促进业务运营并在竞争对手中脱颖而出的因素。 了解机器学习算法如何应用于各个领域以获得可带来合法业务优势的结果至关重要。...
  • 机器学习平台建设

    万次阅读 多人点赞 2018-09-13 17:53:43
    本文从机器学习平台的架构开始,再到具体的功能,然后从需求的角度带给读者思考,找到合适的机器学习平台建设之路。最后,推荐了微软开源开放的机器学习平台OpenPAI,是可私有部署的机器学习训练平台。 本文不少...
  • 分布式机器学习的故事

    万次阅读 多人点赞 2016-11-07 12:08:58
    王益博士,称得上机器学习领域的资深从业者,本人之前有幸拜读过王益博士的一些paper和slides,对其从事的“分布式机器学习”方向尤感兴趣。王益博士之前写过一篇《分布式机器学习的故事》,总结了自己从业多年的...
  • 机器学习概念

    千次阅读 2017-11-09 17:13:51
    计算机系统中,“经验”通常以“数据”形式存在,因此机器学习研究的主要内容,是关于在计算机上从数据中产生模型(model)的算法,即学习算法(learning algoritmn),有了学习算法,我们把经验数据提供给它,它就能...
  • 这是作者的系列网络安全自学教程,主要是关于网安工具和实践操作的在线笔记,特分享出来与博友共勉,希望您...这篇文章换个口味,将分享机器学习在安全领域的应用,并复现一个基于机器学习(逻辑回归)的恶意请求识别。
  • 机器学习

    千次阅读 2018-08-23 13:14:02
     机器学习形式化的定义:假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T中任务上获得了性能改善,则我们就说关于T和P,该程序对E进行了学习。 1.2 基本术语 数据集中的每条记录是一个...
  • 近年来,深度学习被应用到越来越多的领域,在艺术创作里,显得尤为有趣,艺术风格迁移可以轻松地创建梵高、莫奈以及任何艺术家风格的图像。这场 Chat 主要介绍深度学习在艺术风格迁移领域中的应用,并通过算法详解和...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 86,511
精华内容 34,604
关键字:

机器学习计算机配置