了解一下机器学习建模
- 什么是机器学习
- 机器学习的分类
- 监督学习
- 无监督学习
- 半监督学习
- 强化学习
- 机器学习建模流程
- 参考
- 关于作者
什么是机器学习
定义: 机器学习是研究如何让计算机不需要明确的程序也能具备学习能力。
那么,怎么让机器去学习呢?
- 首先,要用一组特征属性去描述事物的一般状态,即特征空间。比如使用色泽、根蒂、敲声三个特征描述西瓜。那么 { 色泽 :青绿; 根蒂:蜷缩; 敲声:浊响 } 是一组类别的西瓜, { 色泽:乌黑; 根蒂:稍蜷; 敲声:沉闷 } 又是另一组类别的西瓜。
- 我们要有大量的数据样本去让机器充分了解不同形态的西瓜在这些特征中的差异是什么。也就是所谓的训练数据/样本数据。
- 机器学习的方法总结在下面的分类中
- 最后要定下机器学习的target。比如得到一组西瓜的样本数据,用来分辨西瓜的好坏。西瓜的好坏就是我们的目标变量。
总的来说,机器学习就是从训练样本中学得”普遍规律“,以便在新样本中能够做出正确的判别。也就是这个过程中机器具备学习能力。
机器学习的分类
机器学习通常分为以下四类:
监督学习
监督学习就是训练样本的数据已被标记。比如,要通过机器学习建一个判别西瓜好坏的模型,训练样本数据中西瓜得好坏是已知的,即目标变量在训练样本中已被标记。用一组已被标记目标变量的训练样本去预测就是监督学习
监督学习主要包括分类和回归
分类: 学习器要知道如何区分信息类型,并进行特定对象的试别。比如,西瓜的好坏,垃圾邮件识别
回归: 识别模式和计算结果预测的过程。比如,泰坦尼克号生存概率,股票趋势走向(上涨/下降百分点)
从某种意义上,回归和分类是相通的。分类问题也可以转化为回归问题。比如分辨西瓜好坏得问题可以转为判定西瓜是好西瓜的概率,在设定一个概率阈值就行了(P>=0.5 -> 好西瓜;P<0.5 -> 坏西瓜)
常用的监督学习算法
- k-Nearest Neighbors (K近邻算法)
- Linear Regression (线性回归)
- Logistic Regression (逻辑回归)
- Support Vector Machines (SVMs) (支持向量机)
- Decision Trees and Random Forests (决策树 和 随机深林)
- Neural networks (神经网络)
- Naive Bayesian Classification (朴素贝叶斯)
无监督学习
无监督学习就是训练样本中目标变量未被标记。学习器要自己从训练样本数据中发掘规律,按照样本的性质自动分组。
常用的无监督学习算法
- Clustering (聚类)
- k-Means (K均值聚类)
- Hierarchical Cluster Analysis (HCA) (分级聚类)
- Expectation Maximization (期望最大算法)
- Visualization and dimensionality reduction (降维)
- Principal Component Analysis (PCA) (主成分分析)
- Kernel PCA (核主成分分析)
- Locally-Linear Embedding (LLE) (局部线性嵌入)
- t-distributed Stochastic Neighbor Embedding (t-SNE) (t-分布领域嵌入算法)
- Association rule learning (关联规则)
- Apriori
- Eclat
无监督学习的应用
- 降维
降维的目标是简化数据,但是损失尽量少的信息。比如解决维度灾难问题,特征提取 - 异常检测
比如信用卡欺诈模型中,用正例训练模型,新样本来时判定是否是正例样本,反之就是负例 - 关联规则
参考啤酒和尿布问题
半监督学习
半监督学习是介于监督学习和无监督学习得一种算法。本质上,半监督模型将两者结合到自己的一个算法中。
半监督学习在训练阶段结合了大量未标记的数据和少量标签数据。与使用所有标签数据的模型相比,使用训练集的训练模型在训练时可以更为准确,而且训练成本更低。 在现实任务中,未标记样本多、有标记样本少是一个比价普遍现象,如何利用好未标记样本来提升模型泛化能力,就是半监督学习研究的重点。要利用未标记样本,需假设未标记样本所揭示的数据分布信息与类别标记存在联系。
强化学习
强化学习通常被理解为人工智能。
实质上,强化学习就是开发一种自我维持的系统。该系统在连续的尝试和失败序列中,基于标记数据的组合和传入数据的交互来改进自身。
在强化学习中,学习算法是在执行特定任务时发生的奖励信号。在某种程度上,奖励信号用作增强算法的导航工具,它让人们理解正确和错误的行动方针。
应用
- 自动驾驶
- 聊天机器人
- AI
机器学习建模流程
- 业务抽象
针对于业务需求,抽象成机器学习的应用场景的问题。比如我们要做产品推荐的需求,我们要把指定的产品推荐给相应的用户,也就是如何精准营销,给用户推荐是合适的产品。 - 数据准备
(1)清洗数据
(2)数据处理
(3)特征工程 - 算法选择
(1)特征选择
(2)模型调参
(3)模型优化 - 算法评估
参考