浅谈机器学习框架和算法
来源:互联网 发布:mac怎么写java 编辑:程序博客网 时间:2024/06/07 03:17
概述
机器学习,顾名思义,就是学习得像机器一样,形成一种解决某类问题的模型,以便我们遇到问题解决问题。下面我将介绍机器学习的框架和一些常用的比较主流的算法。
框架
确定目标
- 业务需求:首先我们必须要明确机器学习是要用来解决问题的,一般是通过大量的数据,来预测未来的行为。所以首先要明确的就是业务需求,明确了业务需求,才能采集对应的数据,进行深入研究。
- 数据:这个数据就是我们要分析的基础,但不是机器学习的直接原材料,所有的数据都在数据池中,而且这个数量是庞大的,也是根据上一步明确了业务需求之后进行的。
- 特征工程(Feature Engineering):这个步骤可以说是在明确目标这一模块中最为重要的,包括数据清洗、数据整合、特征提取等几个步骤,根据我们的业务需求,提取出具有相同特征满足我们想要结果要求的所有数据。要知道数据池中的数据是杂乱无章的,参差不齐的,所以要提取出整齐的,满足我们要求的数据,是相对复杂也极为重要的,只有这一布处理好了,下面进行训练的时候才能较为准确,更加高效。
训练模型
- 定义模型:要想通过学习训练得到训练模型,必须要先定义一个模型,明确要得到一个什么样的模型,才能通过大量的数据训练得到期望的较为准确的模型。
- 定义损失函数:什么是损失函数?顾名思义,是为了填补损失的函数。何谓损失?损失就是通过机器学习预测的结果和真正结果之间的关系。预测的结果肯定不能十分准确,那就需要损失函数来填补这二者之间的差距,让最终的预测结果尽可能地准确。
- 优化算法:这个的目的就是找到让损失函数取最小值的最优算法。这部分是最为有趣的部分。
模型评估
- 交叉验证:对预测结果进行验证,利用交叉的方法测试。
- 效果评估:要对这个预测结果的效果进行总体的评估,看是否能满足最初的业务需求,计算准确率,如果不达要求,还要重新进行前两步的步骤,重新提取特征,进行训练,得到新的训练模型。
算法分类
机器学习的算法有很多种,可以根据多个角度进行分类。下面以三个不同的角度,将机器学习的算法进行分类:
第一种
- 有监督学习:明确了给出的样本是属于哪个标签的,即:已知并明确了类别,要将样本进行分类。例如划分垃圾邮件的朴素贝叶斯算法,就属于此类,因为垃圾邮件的类别已知,只有两类,是或者不是垃圾邮件。用一个更生动的形容,可以将样本比作X,所属类别比作Y,那么这个分类就是已知X和Y类。属于此类的有分类算法,回归算法等
- 半监督学习:又名强化学习,有Y值,但是不是最终的分类结果,需要在算法过程中逐渐完善类别,明确类别。
- 无监督学习:不知道Y值,即不知道最终要分成几类。例如聚类算法,目的就是要的出有几种类别。
第二种
第二种分类依据是根据要解决的问题的类型:
1. 分类与回归:类似于有监督学习。
2. 聚类:类似于务监督学习。
3. 标注:类似于半监督学习。
第三种
第三种分类是依据算法的本质进行划分
1. 生成模型:通过算法,计算出属于各个类别的概率,不明确指出具体唯一地属于哪个类,属于陪审团的角色。
2. 判别模型:直接给出函数的结果,即分类结果,属于法官的角色。
所有算法非1即2,算法的本质不一样导致训练模型的思想不一样。
流行的主流算法
如图所示
阅读全文
0 0
- 浅谈机器学习框架和算法
- 【机器学习】浅谈聚类算法
- h2o机器学习算法框架学习总结
- 机器学习算法总结(目录框架)
- 浅谈tensorflow框架和深度学习应用
- 机器学习浅谈
- 浅谈机器学习
- 机器学习浅谈
- 浅谈机器学习步骤
- 【机器学习】SVM浅谈
- 浅谈机器学习
- 机器学习---浅谈神经网络
- 浅谈机器学习
- 机器学习浅谈
- 机器学习模型和算法学习随记
- 浅谈机器学习中的线性回归和梯度下降
- 机器学习算法和python实践
- 推荐算法和机器学习入门
- JAVAAPI学习之Calendar类
- 数据延时理论
- SpringMvc整合Activiti网页流程设计器
- MongoDB哈希分片为什么分布不均匀?
- windows txt文件linux下乱码解决办法
- 浅谈机器学习框架和算法
- 1961-完全幸运数
- opencv学习--项目代码的书写流程
- Linux定时任务_php定时计划任务的实现方法详解
- chrome浏览器console拓展用法
- css3之关键帧的解说
- C#:DeviceNotifier USB设备插拔监听方法
- 隐式等待
- 正则表达式