机器学习笔记(一)机器学习入门之旅
2016-04-21 11:58
106 查看
//第一章---机器学习基础 //第一部分:分类 ************************************************************************************************************************ (一)本章主要的内容有: 1--何为机器学习 1--传感器和海量数据 2--机器学习非常重要 2--关键术语 3--机器学习的主要任务是什么 4--如何选择合适的算法 5--开发机器学习应用程序的步骤 ************************************************************************************************************************ (二)机器学习中重要的知识点和算法 1--K-紧邻算法 2--决策树 3--基于概率论的分类方法:朴素贝叶斯 4--Logistic回归 5--SVM支持向量机 6--利用AdaBoost原算法提高分类性能 7--预测数值型数据---回归 8--树回归 //无监督学习模块 1--利用K-均值聚类算法对未标注数据分组 2--使用Aprior算法进行关联分析 3--使用FP-growth算法来高效发现频繁项集 //其他工具 1--利用PCA来简化数据 2--利用SVD简化数据 3--大数据与MapReduce ************************************************************************************************************************ //第一部分---分类 1--本教程前两部分主要探讨: 1--监督学习(supervised learning)-----在监督学习(supervised Learning)的过程中,我们只需要给定--输入样本集 ,机器就可以从中推演出指定的目标变量的结果。监督学习(supervised learning)比较简单,机器只需要从输 入的数据中预测合适的模型,并从中计算出目标变量的结果 2--监督学习(supervised learning)-----一般使用两种类型的目标变量: 1--标称型---标称型目标变量的结果只在有限目标集中取值,如真与假,动物分类集合(爬行类,鱼类,哺乳类,两栖类, 植物等) 2--数值型---数值型目标变量则可以从无限的数值集合中取值,如0.100,42.001,1000.743-等,数值型目标变量主要用 于--线性回归 2--机器学习中的分类算法主要有: 1--k-近邻算法----它使用距离矩阵---进行分类 2--决策树--它比较直观,容易理解,当相对难于实现 3--如何使用概率论的知识建立---分类器 4--Logistic回归---讨论如何使用最优参数正确的分类原始数据,在探索最优参数的过程中,将使用几个常用到的优化算法 5--SVM--很流行的支持向量机 6--元算法---AdaBoost,它由若干个分类器构成 ************************************************************************************************************************ (一)何为机器学习 1--机器学习能让我们从自然数据总受到启发,换句话说,我们---会利用计算机来彰显数据背后的真实含义---这才是机器学习 2--机器学习---它既不是---只会徒然模仿的机器人,也不是具有人类情感的---仿生人 3---简单的说---机器学习就是把---无用的数据转换成有用的信息--比如说,对于垃圾邮件的检测,侦测一个单词师父存在并没 有太大的作用,然而,当某几个特定单词同时出现时,再辅以邮件的长度以及其他信息,人们就可以更准确的判定该邮件是否 为垃圾邮件 (二)机器学习一般的步骤: 1--首先,需要做的就是----算法的训练,即---学习如何分类---通常,我们为算法----输入---大量已分类数据作为算法的训练集. 训练集适--用于--训练机器学习算法的的--数据集合样本 2--每个训练样本有四种特征: 1--目标变量---目标变量---是机器学习算法的---预测结果 2--在分类算法中---目标变量的类型通常是--标称型的 3--在回归算法中---目标变量的类型通常是--连续型的 4--训练样本集--必须确定知道---目标变量的值,以便机器学习算法可以发现--特征与目标变量---之间的关系 5--我们通常间---分类问题中的----目标变量称为----类别,并假定分类问题只存在有限个数的类别 3--为了测试机器学习算法的效果,通常使用两套独立的样本集: 1--训练数据 2--测试数据 4--当机器学习程序---开始运行时,使用训练样本作为---算法的输入 5--训练完成之后,输入测试样本,输入测试样本时,并不提供测试样本的目标变量,由程序决定样本属于哪个类别 6--比较测试样本预测的目标变量值与实际样本之间的差别,就可以得出算法的实际精确度 (三)机器学习的主要任务: 1--机器学习的一项任务是----分类 2--另一项任务是------------回归----它主要用于---预测数值型数据,大多数人都可能见过回归的例子---数据拟合曲线:通过给定 数据点的最优拟合曲线 3--分类和回归---属于---监督学习(supervised learning)----之所以称为---监督学习---是因为这类算法必须知道---预测什么,即 目标变量的分类信息 (四)无监督学习 1--与监督学习--相对应的--就是---无监督学习 2--无监督学习---此时数据没有类别信息,也不会给定目标值 3--在无监督学习中,将数据集合分成有类似的对象组成的多个类的过程,被称为----聚类 4--将寻找描述数据统计值的过程,称之为---密度估计 5--此外,无监督学习,还可以减少数据特征的维度,以便我们可以用二维或三维图形更加直观的展示数据信息 (五)下面列出了机器学习的主要任务以及解决相应问题的算法: 1---监督学习的用途 1--K-近邻算法----------线性回归 2--朴素贝叶斯算法------局部加权线性回归 3--支持向量机----------Ridge回归 4--决策树--------------Lasso最小回归系数估计 2--无监督学习的用途 1--K--均值-------------最大期望算法 2--DBSCAN--------------Parzen窗设计 (六)如何选择合适的机器学习算法,解决实际的问题: 在我们选择设计可用的算法的时候,必须考虑下面两个问题: 1--使用机器学习算法的目的,想要算法完成何种任务--比如,预测明天下雨的概率还是对投票者按兴趣分组 2--需要分许或收集的数据是什么 1--首先,考虑使用机器学习算法的目的----如果想要预测目标变量的值,则可以选择监督学习算法,否则, 可以选择无监督学习算法 2--确定监督学习算法之后,需要进一步确定目标变量类型 1--如果目标变量是---离散型---则可以选择----------分类器算法 2--如果目标变量是---连续型---的数值,则可以选择---回归算法 3--如果不想预测--目标变量的值,则可以选择---无监督学习算法,进一步分析是否需要将数据划分为离 散的的组,如果这是唯一要求---则使用聚类算法;如果还需要估计数据与每个组的相似程度,则需要 使用密度估计算法 (七)开发机器学习应用程序的步骤: 1--收集数据----我们可以使用很多方法收集---样本数据--如制作网络爬虫从网站上抽取数据,从RSS反馈或者API、 中得到信息,设备发送过来的实测数据(风速,血糖)等。 2--准备输入数据 3--分析输入数据 4--训练算法 5--测试算法 6--使用算法 ************************************************************************************************************************
相关文章推荐
- 使用git hash提交android工程
- ThinkPHP AJAX分页及JS缓存的应用
- 掌控好与客户的友谊小船
- du 命令详解
- Linux中常用操作命令
- 如何杀掉Mysql内部进程
- 1029. Median (25)
- LeetCode 88. Merge Sorted Array
- poj3159
- Ethereal 使用
- Thinkphp分页类使用
- mysql创建用户并分配权限
- C# Winform聊天程序[两端通信]
- 单臂路由
- javascript中字符和ascii互换
- 认知有偏差,结论需谨慎
- java内部类使用场景体会
- Linux安装其他版本GCC的方法
- 外部排序
- Irrlicht引擎学习笔记(0)--写在开始