以下是最近机器学习笔记,有空再整理
1.机器学习定义
机器学习是一门从数据中研究算法的科学学科,坦白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建模型,最终对未来进行预测
- 数学过程
- 输入
- 输出
- 获得一个目标函数
- 输入数据
- 最终选择最优性能的假设公式:目标函数f未知,从数据中得到一个假设的函数g,使其获得接近目标函数f的效果
- 任务定义
- 给定任务T
- 给定性能度量方案P的前提下
- 计算机程序自主学习任务T的经验E,随着提供大量,优质,合适的经验E,该程序对于任务T的性能逐步提高
- 过程
- 算法:根据业务需要和数据特征选择相关算法,也就是一个数学公式
- 模型: 基于数据和算法构建出来的模型
- 评估/测试:对模型进行评估的策略
- 机器学习是人工智能的一个分支,我们使用计算机设计一个系统,使他能够根据提供的训练数据按照一定的方式来学习,随着训练次数的增加,该系统可以在性能上不断学习和改进,通过参数优化的学习模型,能够用于预测相关问题的输出
- 数学概念
- 向量 (可以看成一维矩阵)
- 矩阵
- 标量 只是值,没有方向
- 拟合: 构建的算法符合给定数据的特征
-
$x^i$
表示第i个样本的x向量 -
$x_n$
x向量的第i维度的值 - 鲁棒性 也就是健壮性,当存在异常数据时,算法也会拟合数据
- 过拟合 算法太符合样本数据的特征,对于实际生产中的数据无法拟合
- 欠拟合 算法不太符合样本的数据特征
- 机器学习常用框架
- sciket-learn(python)
- 分类,回归,聚合,降维,模型选择,数据处理
- sciket-learn官网提供,模型选择图
- mahout(Hadoop生态圈基于MapReduce)
- Spark MLlib
- sciket-learn(python)
2.机器学习,人工智能,深度学习联系
- 深度学习是机器学习的子类,深度学习是基于传统的神经网络算法发展到多隐层的一直算法提现
- 机器学习是人工智能的一个子类
3.机器学习常用概念和工作场景
- 应用场景:
- 个性化推荐:个性化推荐是根据各种因素来改变用户体验和呈献给用户内容,这些因素可能包含用户的行为数据和外部因素,推荐常指系统向用户呈现一个用户可能感兴趣的物品列表
- 精准营销:从用户群众中找出特定要求的营销对象
- 客户细分:试图将用户群体分为不同的组,根据给定的用户特征进行客户分组
- 预测建模及分析:根据已有的数据进行建模,并使用得到的模型预测未来
- 商业场景
- 模式识别
- 计算机视觉
- 数据挖掘
- 统计学习
- 语音识别
- 自然语言处理
4.机器学习,数据分析,数据挖掘区别和联系
- 数据分析:数据分析是指用适当的统计分析方法对收集大量数据进行分析,并提取有用的信息,以及形成结论,从而对数据进行详细的研究和概括过程,在实际工作中数据分析可以帮助人们做出判断,数据分析一般而言可以分为统计分析,探索性数据分析和验证性数据分析三大类
- 数据挖掘:一般指从大量的数据中通过算法搜索隐藏于其中的信息的过程,通常通过统计,检索,机器学习,模式匹配等诸多方法来实现这个过程
- 机器学习:是数据分析和数据挖掘的一种比较常用,比较好的手段
5.机器学习分类
- 按照学习方式分
- 有监督学习
- 判别式模型:直接对条件概率建模,常见的判别模型有:线性回归,决策树,支持向量机SVM,k近邻,神经网络
- 生成式模型:对联合分布概率进行建模,常见生成式模型有:隐马尔可夫HMM,朴素贝叶斯,高斯混合模型GMM,LDA等
- 生成式模型更普适;判别式模型更直接,目标性更强
- 生成式模型关注数据是如何产生的,寻找的是数据的分布模型,判别式模型关注的数据的差异性,寻找的分类面
- 有生成式模型可以产生判别式模型,但是由判别式模型没法形成生成式模型
- 无监督学习(主要前期处理多一点,一般服务于有监督学习)
- 无监督学习试图学习或者提取数据背后数据特征,或者从数据中抽取出重要的特征信息,常见的算法有聚类,降维,文本处理(特征抽取)等
- 无监督学习一般是作为有监督学习的前期数据处理,功能是从原始数据中抽取出必要的标签信息
- 半监督学习
- 主要考虑如何利用少量标注样本和大量为标注样本
- 有监督学习
- 按照功能分
- 分类:通过分类模型,将样本数据集中
- 聚类:
- 回归:
- 关联规则:
- 机器学习算法Top10
-
算法名称 算法描述 C4.5 分类决策树算法,决策树的核心算法,ID3算法的改进算法 CART 分类与回归树 KNN k近邻分类算法 NaiveBayes 贝叶斯分类模型,该模型比较适合属性关联比较小的时候,如果属性关联比较大的时候,决策树模型比贝叶斯分类模型分类效果要好(原因:贝叶斯模型假设属性之间是互不影响的) SVM 支持向量机,一种有监督学习的统计学习方法,广泛应用于统计分类和回归分析中 EM 最大期望算法,常用于机器学习和计算机视觉总的数据聚集领域 Apriori 关联规则挖掘算法 K-Means 聚类算法 PageRank Google搜索重要算法之一 AdaBoost 迭代算法;利用多个分类器进行数据分类
7.机器学习开发流程
- 基础
- 高数
- sql
- python数据分析基础:pandas,numpy,matplot,sklearn
- 1.数据收集--业务数据-sql,爬虫数据
- 案例:贷款审批额度:简历数据(学历,性别,工作经验,从事行业,专业,城市,薪资,学校--预测薪资--计算额度)
- 传统方法,根据规则人工计算
- 2.数据预处理
- 数据库,hive,python中处理
- 3.特征提取
- 属性特征
- 模型选择
- 4.构建模型
- 分类(常用)
- 回归
- 聚类
- 5.模型评估
- 新数据来测试做的模型,生产数据分2份,一部分测试,一部分训练
- ROC
- AUC
- 准确率,召回率
- 6.部署上线
- 得到的模型部署
- 7.迭代
8.数据收集与存储
- 8.1数据来源
- 用户访问行为数据
- 业务数据
- 外部第三方数据,爬虫数据
- 数据存储
- 需要存储的数据:原始数据,预处理后数据,模型结果
- 存储设施:mysql,HDFS,HBase,solr,Elasticsearch,kafka,Redis等
- 数据收集方式:
- fluma,kafka
9.机器学习常用数据集
- 各种比赛的公开数据集,kaggle,天池,搜狗,pkbigdata
10.数据清洗和转换
- 处理数据缺失
- 处理异常,错误的数据
- 合并多个数据源数据
- 数据汇总
- 前期数据分析
- 文本数据抽取
- 词袋法:将文本当成一个无序数据集合
- TF-IDF:词频,逆文档词频
11.模型训练和验证
- 模型选择:对特定任务场景选择最优模型
- 在训练数据集上运行模型并在测试数据集中测试效果,迭代进行数据模型的修改,这种方式称为交叉验证(将数据分为训练集和测试集,使用训练集构建模型,并使用测试集评估模型提供修改建议)
- 模型的选择会尽可能多的选择算法进行执行,并比较执行效果
- 模型测试一般一下几个方面来进行比较,分别是准确率,召回率,精确率,F值
- 准确率(Accuracy)=提取出的正确样本数/总样本数
- 召回率(正确的正例样本数/样本中的正例样本数)
- 精确率(Precision)=正确的正例样本数/预测为正例样本数
- F值 = Precision * Recall * 2/(Precison+Recall)(F值为正确率和召回率的调和平均值)
- 混淆矩阵
网友评论