什么是机器学习
机器学习是一种从数据生成规则、发现模型,来帮助我们预测、判断、分组和解决问题的技术。(机器学习是一种从数据中生产函数,而不是程序员直接编写函数的技术)
说起函数就涉及到自变量和因变量,在机器学习中,把自变量叫做特征(feature)多个自变量分别可以定义为 X1,X2..Xn,因变量叫做标签(label),可定义为 Y,而一批特征和标签的集合,就是机器学习的数据集。
机器学习的学习过程就是在已知的数据集的基础上,通过反复的计算,选择最准确的函数去描述数据集中自变量 X1,X2....Xn 和因变量 Y 之间的因果关系。这个过程就称之为机器学习的训练也叫拟合。
这里还需要明确几个概念,训练集、验证集、测试集
训练集,最开始用来训练的数据集被称为训练集。
验证集,验证模型是否能够被推广、泛化,评估模型是否过拟合
测试集,用来评估模最终模型的泛化能力,相当于举一反三的能力
机器学习分类
主要分类是根据机器学习在训练过程中是否有标签。
监督学习:训练的数据集全部都有标签,根据标签的特点 监督学习可以分为两类问题:回归和分类,回归问题的标签是连续的数值,比如预测房价、股市等,分类问题的标签是离散的数值,比如人脸识别、判断是否正确等,判断两款运营策略哪种更有效。
分类算法:逻辑回归、决策树分类、SVM 分类、贝叶斯分类、随机森林、XGBoost、KNN...
回归算法:线性回归、 决策树回归、SVN 回归、贝叶斯回归...
无监督学习:训练数据集没有标签,多应用在聚类、降维等有限的场景中,比如说为用户做分组画像,另外通常也会作为数据预处理的一个子步骤中。
降维算法、聚类算法...
半监督学习:有的数据有标签、有的数据没有标签。往往是因为获取数据标签的难度很高,半监督学习与监督学习是很相似的,主要在与多了伪标签生成环节,也就是给无标签的数据人工 贴标签。
半监督分类、半监督回归、半监督聚类、半监督降维
强化学习:针对于一些既不能用监督学习也不能用半监督和无监督学习来解决,这时候强化学习就上场了,它针对是智能体(可以理解成一种机器学习模型)如何基于环境而做出行动反应,以获得最大化的累积奖励。其与监督学习的差异在于监督学习是从数据中进行学习,而强化学习是从环境给他的奖惩中学习。
Q-learning,SARSA,深度强化网络、蒙特卡洛学习...
如何理解深度学习
常说的深度学习是一种使用深层神经网络的模型,可以应用于上述四类机器学习中,深度学习擅长处理非结构化输入,在视觉处理和自然语言处理方面都很厉害。
深度学习,能对非结构的数据集进行自动的复杂特征提取,完全不需要人工干预。
机器学习落地思路
做机器学习项目,首先要先明确要解决的问题,其次,再针对问题选择一个算法,然后用对数据进行训练,找到一族函数中最合适的那一个形成最后的模型。
机器学习入门环境准备
背景:
大多数互联网企业都提供有类似 Notebook 类的产品,采用交互式的方式进行数据分析、数据建模及数据可视化。主要实现大多都是基于 jupyter 、Zeppelin 进行定制化开发,重点会打通大数据计算、存储及底层资源管理,支持常见的机器学习和深度学习计算框架,算法分析及建模中最常见的是采用 jupyter notebook,能够在浏览器中,通过编写 python 脚本 运行脚本,在脚本块下方展示运行结果。
jupyter notebook 可以交互式的开发,再加上拥有丰富的的文本格式、可以图文并茂的展示结果,迅速的展现数据分析师的想法。
安装 Jupyter Notebook
Anaconda 安装管理 Juypter Notebook
Anaconda 是一个免费的开发环境,能帮你管理众多的 Python 库,支持 Jupyter Notebook、Spyder 等工具,还有许多科学包,通过可以从官网上直接下载安装 Anaconda,启动 Anaconda 后 安装 Juypter 就比较简单,直接 Anaconda 界面上启动就好了,默认 Anaconda 会安装好 Juypter 和相关科学库。
使用 pip 命令安装
在命令行中通过 python3 安装,安装之前建议升级下 pip,,解决老版本的 pip 在安装 Jupyter Notebook 过程中或面临依赖项无法同步安装的问题,这种情况下如果需要其他科学包及其依赖项就需要手动去安装了。
pip3 install --upgrade pip ## |