人工智能,企业到底是干嘛
算法 -函数
读论文&实现之
工程
机器学习工程师(或调参工程师)
运行已有算法,训练业务数据,获得工作模型。
将数据 ->算法(函数) -> θ的值
调用API(调用某个类中的方法) ,调整不同的参数,获取更好的 θ值
如何获取算法(函数)中参数的值,最为关键
当一个算法中参数已经获取到之后,次数算法(函数)编程模型
算法和模型最大的区别:有参数就是模型
通过数据(训练模型数据)对算法进行计算得到参数
数据
数据标注
自己找资料学习,什么是机器学习,什么是分类,什么是回归
线性回归算法
决策树回归算法
随机森林回归算法
机器学习
训练数据 ->算法(函数:没有系数) ->模型(函数)->预测(测试数据)->评估(预测结果与真实值的比较)
E(经验:数据的表示) -> T (任务)-》P(性能)
机器学习的类别
监督学习算法
数据集:特征值(Features) + 目标值(标签label)
预测值:使用算法得到模型,进行预测的值
-分类(classification)算法
target目标值:离散型数值
是一个类别
案例:是不是拦截邮件,
推荐给你的广告点击还是不点
判定还是什么性格
支持的算法
SVM,逻辑回归,决策树分类,朴素贝叶斯
-回归(Regression)算法
target目标值:连续性数值
预测的结果是一个值
案例:
预测天气温度,预测房价
支持的算法
线性回归,决策树回归
集成学习算法:多个算法混合在一起
随机森林算法
梯度提升决策树
无监督学习算法
只有特征值,没有目标值
算法:
聚合算法
推荐算法
协同过滤算法
交替最小二乘法(ALS)
https://blog.csdn.net/u013713294/article/details/69669427?tdsourcetag=s_pcqq_aiomsg
sparkMLlib
将机器学习中各种基本算法使用Spark框架实现了,
提供API接口,以供使用
基于RDD API实现算法
org.apache.spark.mllib
基于DataFrame API实现算法
org.apache.spark.ml
特征的表示
在SparkMLlib中特征值使用向量表示Vector
向量就是数组
基于RDD数据集类型
RDD[LablePoint] ->标签向量 = fearture + Label
对于类别特征值数据处理
常见 :1-of -k
性别:
sex ->male\female\unknow
使用向量表示
Array(0.0, 0.0, 0.0)
| | |
male female unknow
案例:
小明:男性
Array(1.0, 0.0, 0.0)
小明:女性
Array(0.0, 1.0, 0.0)
某妖
Array(0.0, 0.0, 1.0)
无论 训练数据 还是测试数据,所有的值(特征性和目标值)都必须是double类型的值
使用算法
决策树DesicionTree
依据特征性构建一棵树,每个节点(特征性)
每次运行构建的数都是不一样的,选择的特征是不一样的
如何判断一颗树的好与坏
熵(香农熵)
随机森林RandomfForest
N 棵数
模型:N棵数
预测的时候:N棵数同时预测
分类:分类多就是预测值
回顾:所有预测值的平均值
属于集成学习算法
bagging算法
sparkMLlib中决策树的底层是随机森林,
设置树 的数量是1而已
关于 模型性能调优 ,2点考虑
1.训练数据
(a)数据量越大越好,
(b)特征值处理
正则化、归一化处理
特征性进行加权处理
增加和减少特征值
2.算法参数(超参数)
找到合适的超参数值