From c44aaefe42266597eddb4a69e50978f6392b49eb Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Mon, 12 Jun 2017 18:35:29 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=AE=8C=EF=BC=9A?= =?UTF-8?q?=E7=AC=AC1=E7=AB=A0=20=E6=9C=BA=E5=99=A8=E5=AD=A6=E4=B9=A0?= =?UTF-8?q?=E5=9F=BA=E7=A1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/1.机器学习基础.md | 71 +++++++++++++++++++++++++++++------------- 1 file changed, 49 insertions(+), 22 deletions(-) diff --git a/docs/1.机器学习基础.md b/docs/1.机器学习基础.md index 7833fabe..10f385f4 100644 --- a/docs/1.机器学习基础.md +++ b/docs/1.机器学习基础.md @@ -2,7 +2,28 @@ ![机器学习基础_首页](/images/1.MLFoundation/机器学习基础-首页.jpg) -我们会利用计算机来彰显数据背后的真实含义,这才是机器学习的真实含义。 +``` +例如:动物猫 +模式识别:人通过经验,得到:这个就是猫。 +机器学习:人通过大量的书籍来学习,得到:这个就是猫 +深度学习:人通过大量的书籍,然后先对书籍内容:文字/图片/视频,进行特征提取,特征强化,降维,得到:这个就是猫。 + +模式识别(Pattern recognition): 模式识别是最古老的(作为一个术语而言,可以说是很过时的)。 + 我们把环境与客体统称为“模式”,识别是对模式的一种认知,是如何让一个计算机程序去做一些看起来很“智能”的事情。 + 通过融于智慧和直觉后,通过构建程序,识别一些事物,而不是人,例如识别数字。 +机器学习(machine learning): 机器学习是最基础的(当下初创公司和研究实验室的热点领域之一)。 + 在90年代初,人们开始意识到一种可以更有效地构建模式识别算法的方法,那就是用数据(可以通过廉价劳动力采集获得)去替换专家(具有很多图像方面知识的人)。 + “机器学习”强调的是,在给计算机程序(或者机器)输入一些数据后,它必须做一些事情,那就是学习这些数据,而这个学习的步骤是明确的。 + 机器学习(Machine Learning)是一门专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能的学科。 +深度学习(deep learning): 深度学习是非常崭新和有影响力的前沿领域,我们甚至不会去思考后深度学习时代 + 深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。 + +参考地址: +http://www.csdn.net/article/2015-03-24/2824301 +http://baike.baidu.com/link?url=76P-uA4EBrC3G-I__P1tqeO7eoDS709Kp4wYuHxc7GNkz_xn0NxuAtEohbpey7LUa2zUQLJxvIKUx4bnrEfOmsWLKbDmvG1PCoRkJisMTQka6-QReTrIxdYY3v93f55q +``` + +我们会利用计算机来彰显数据背后的真实含义,这才是`机器学习`的真实含义。 > 机器学习已应用于多个领域,远远超出大多数人的想象,横跨:计算机科学、工程技术和统计学等多个学科。 @@ -10,7 +31,7 @@ * 垃圾邮件,会自动的过滤垃圾广告邮件到垃圾箱内。 * 超市优惠券,你会发现,你在购买小孩子的尿布的时候,售货员会赠送你一张优惠券可以兑换6罐啤酒。 * 邮局邮寄,手写软件自动识别寄送贺卡的地址。 -* 申请贷款,通过你最近的金融活动信息继续综合评定,决定你是否合格。 +* 申请贷款 或 进入赌场,通过你最近的金融活动信息进行综合评定,决定你是否合格。 ## 机器学习的简单概述 @@ -35,27 +56,27 @@ * 必须知道预测什么,即必须知道目标变量的分类信息。分类和回归属于监督学习。 * 样本集:训练数据 + 测试数据 - * 训练样本 = 特征 + 目标变量 + * 训练样本 = 特征(feature) + 目标变量(label) * 训练样本的集合称为训练样本集,训练样本集必须确定知道目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。 * 特征(feature-是否有缺失情况) + 目标变量(分类-离散值/回归-连续值<0~100、 -999~999>) * 特征或者属性通常是训练样本集的列,它们是独立测量得到的结果,多个特征联系在一起共同组成一个训练样本。 * `知识表示`:机器已经学会如何识别鸟类的过程 - * 1.可以采用规则集的形式 - * 2.可以采用概率分布的形式 - * 3.可以使训练样本集中的一个实例 + * 1.可以采用规则集的形式【例如:数学成绩大于90分为优秀】 + * 2.可以采用概率分布的形式【例如:通过统计分布发现,90%的同学数学成绩,在70分一下,那么大于70分定为优秀】 + * 3.可以使训练样本集中的一个实例【例如:通过样本集合,我们训练出一个模型实例,得出 年轻,数学成绩中高等,谈吐优雅,我们认为是优秀】 > 非监督学习 -* 数据没有类别信息,也不会给定目标值 -* 聚类:在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程称为聚类; -* 密度估计:将寻找描述数据统计值的过程称之为密度估计。 +* 数据没有类别信息,也不会给定目标值。 +* 聚类:在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程称为聚类。 +* 密度估计:将寻找描述数据统计值的过程称之为密度估计。【就是:根据训练样本确定x的概率分布】 * 此外,无监督学习还可以减少数据特征的维度,以便我们可以使用二维或三维图形更加直观地展示数据信息。 > 算法汇总 ![算法汇总](/images/1.MLFoundation/ml_algorithm.jpg) -## 机器学习的原因 +## 学习机器学习的原因 * 选择算法需要考虑的两个问题 * 使用机器学习算法的目的 @@ -66,23 +87,29 @@ ``` 开发机器学习应用程序的步骤 -1. 收集数据 -2. 准备输入数据 - * 注意数据的格式 -3. 分析输入数据 - * 为了确保数据集中没有垃圾数据;如果是算法可以处理的数据格式或可信任的数据源,则可以跳过该步骤;另外该步骤需要人工干预,会降低自动化系统的价值。 -4. 训练算法 - * 如果使用无监督学习算法,由于不存在目标变量值,则可以跳过该步骤 -5. 测试算法 -6. 使用算法 +* 收集数据: 收集样本数据 +* 准备数据: 注意数据的格式 +* 分析数据: 为了确保数据集中没有垃圾数据; + 如果是算法可以处理的数据格式或可信任的数据源,则可以跳过该步骤; + 另外该步骤需要人工干预,会降低自动化系统的价值。 +* 训练算法: [机器学习算法核心]如果使用无监督学习算法,由于不存在目标变量值,则可以跳过该步骤 +* 测试算法: [机器学习算法核心]评估算法效果 +* 使用算法: 将机器学习算法转为应用程序 ``` ## Python语言的优势 1. 可执行伪代码 -2. Python比较流行 -3. Python语言的特色 -4. Python语言的缺点 +2. Python比较流行:使用广泛、代码范例多、丰富模块库,开发周期短 +3. Python语言的特色:清晰简练、易于理解 +4. Python语言的缺点:唯一不足的是性能问题 5. Python相关的库 * 科学函数库:`SciPy`、`NumPy`(底层语言:C和Fortran) * 绘图工具库:`Matplotlib` + +* * * + +**作者:[片刻](http://www.apache.wiki/display/~jiangzhonglian) [1988](http://www.apache.wiki/display/~lihuisong) +[GitHub地址](https://github.com/apachecn/MachineLearning): +[原文链接](https://github.com/apachecn/MachineLearning/blob/master/docs/1.%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80.md): +**`版权声明:欢迎转载学习-记得标注信息来源,谢谢`** From 39fe071734acbdb18f4dd8d11bf38a7f5a061a43 Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Mon, 12 Jun 2017 18:44:43 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 48 +++++++------------ docs/1.机器学习基础.md | 8 ++-- ...用SVD简化数据.md => 14.利用SVD简化数据.md} | 0 3 files changed, 20 insertions(+), 36 deletions(-) rename docs/{14.使用SVD简化数据.md => 14.利用SVD简化数据.md} (100%) diff --git a/README.md b/README.md index 400d85b6..97102f1f 100644 --- a/README.md +++ b/README.md @@ -5,47 +5,31 @@ ## 第一部分 分类 -* 1) 机器学习基础 - * [机器学习基础](./docs/1.机器学习基础.md) -* 2) k-近邻算法 - * [k-近邻算法](./docs/2.k-近邻算法.md) -* 3) 决策树 - * [决策树](./docs/3.决策树.md) -* 4) 基于概率论的分类方法:朴素贝叶斯 - * [朴素贝叶斯](./docs/4.朴素贝叶斯.md) -* 5) Logistic回归 - * [Logistic回归](./docs/5.Logistic回归.md) -* 6) 支持向量机 - * [支持向量机](./docs/6.支持向量机.md) -* 7) 利用AdaBoost元算法提高分类 - * [利用AdaBoost元算法提高分类](./docs/7.利用AdaBoost元算法提高分类.md) -* 7) 随机森林的使用(个人补充,非课本内容) - * [随机森林的使用](./docs/7.随机森林的使用.md) +* 1) [机器学习基础](./docs/1.机器学习基础.md) +* 2) [k-近邻算法](./docs/2.k-近邻算法.md) +* 3) [决策树](./docs/3.决策树.md) +* 4) [基于概率论的分类方法:朴素贝叶斯](./docs/4.朴素贝叶斯.md) +* 5) [Logistic回归](./docs/5.Logistic回归.md) +* 6) [支持向量机](./docs/6.支持向量机.md) +* 7-1) [利用AdaBoost元算法提高分类](./docs/7.利用AdaBoost元算法提高分类.md) +* 7-2) [随机森林的使用(非课本内容)](./docs/7.随机森林的使用.md) ## 第二部分 利用回归预测数值型数据 -* 8) 预测数值型数据:回归 - * [预测数值型数据:回归](./docs/8.预测数值型数据:回归.md) -* 9) 数回归 - * [树回归](./docs/9.树回归.md) +* 8) [预测数值型数据:回归](./docs/8.预测数值型数据:回归.md) +* 9) [树回归](./docs/9.树回归.md) ## 第三部分 无监督学习 -* 10) 使用K-均值聚类算法对未标注数据分组 - * [k-means聚类](./docs/10.k-means聚类.md) -* 11) 使用Apriori算法进行关联分析 - * [使用Apriori算法进行关联分析](./docs/11.使用Apriori算法进行关联分析.md) -* 12) 使用FP-growth算法来高效发现频繁项集 - * [使用FP-growth算法来高效发现频繁项集](./docs/12.使用FP-growth算法来高效发现频繁项集.md ) +* 10) [使用K-均值聚类算法对未标注数据分组:k-means聚类](./docs/10.k-means聚类.md) +* 11) [使用Apriori算法进行关联分析](./docs/11.使用Apriori算法进行关联分析.md) +* 12) [使用FP-growth算法来高效发现频繁项集](./docs/12.使用FP-growth算法来高效发现频繁项集.md ) ## 第四部分 其他工具 -* 13) 使用PCA来简化数据 - * [利用PCA来简化数据](./docs/13.利用PCA来简化数据.md) -* 14) 使用SVD简化数据 - * [使用SVD简化数据](./docs/14.使用SVD简化数据.md) -* 15) 大数据与MapReduce - * [大数据与MapReduce](./docs/15.大数据与MapReduce.md) +* 13) [利用PCA来简化数据](./docs/13.利用PCA来简化数据.md) +* 14) [利用SVD简化数据](./docs/14.利用SVD简化数据.md) +* 15) [大数据与MapReduce](./docs/15.大数据与MapReduce.md) ## 第五部分 项目实战(非课本内容 来之ApacheCN Team) diff --git a/docs/1.机器学习基础.md b/docs/1.机器学习基础.md index 10f385f4..5b7103d1 100644 --- a/docs/1.机器学习基础.md +++ b/docs/1.机器学习基础.md @@ -109,7 +109,7 @@ http://baike.baidu.com/link?url=76P-uA4EBrC3G-I__P1tqeO7eoDS709Kp4wYuHxc7GNkz_xn * * * -**作者:[片刻](http://www.apache.wiki/display/~jiangzhonglian) [1988](http://www.apache.wiki/display/~lihuisong) -[GitHub地址](https://github.com/apachecn/MachineLearning): -[原文链接](https://github.com/apachecn/MachineLearning/blob/master/docs/1.%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80.md): -**`版权声明:欢迎转载学习-记得标注信息来源,谢谢`** +* **作者:[片刻](http://www.apache.wiki/display/~jiangzhonglian) [1988](http://www.apache.wiki/display/~lihuisong)** +* [GitHub地址](https://github.com/apachecn/MachineLearning): +* [原文链接](https://github.com/apachecn/MachineLearning/blob/master/docs/1.%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80.md): +* **`版权声明: 欢迎转载学习-记得标注信息来源,谢谢`** diff --git a/docs/14.使用SVD简化数据.md b/docs/14.利用SVD简化数据.md similarity index 100% rename from docs/14.使用SVD简化数据.md rename to docs/14.利用SVD简化数据.md From 6c8a480239a752f935f981184be36d4b6234bbf9 Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Mon, 12 Jun 2017 18:48:37 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0apachecn=E9=93=BE?= =?UTF-8?q?=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/1.机器学习基础.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/1.机器学习基础.md b/docs/1.机器学习基础.md index 5b7103d1..864ccc9d 100644 --- a/docs/1.机器学习基础.md +++ b/docs/1.机器学习基础.md @@ -112,4 +112,4 @@ http://baike.baidu.com/link?url=76P-uA4EBrC3G-I__P1tqeO7eoDS709Kp4wYuHxc7GNkz_xn * **作者:[片刻](http://www.apache.wiki/display/~jiangzhonglian) [1988](http://www.apache.wiki/display/~lihuisong)** * [GitHub地址](https://github.com/apachecn/MachineLearning): * [原文链接](https://github.com/apachecn/MachineLearning/blob/master/docs/1.%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%9F%BA%E7%A1%80.md): -* **`版权声明: 欢迎转载学习-记得标注信息来源,谢谢`** +* **版权声明: 内容由[ApacheCN(apache中文网)](http://www.apache.wiki)更新维护,欢迎转载学习-记得标注信息来源,谢谢** From 1c601b95124ef99cb6eb12d1046564cecfdcf7d5 Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Mon, 12 Jun 2017 18:51:49 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 97102f1f..0b4618a5 100644 --- a/README.md +++ b/README.md @@ -5,31 +5,31 @@ ## 第一部分 分类 -* 1) [机器学习基础](./docs/1.机器学习基础.md) -* 2) [k-近邻算法](./docs/2.k-近邻算法.md) -* 3) [决策树](./docs/3.决策树.md) -* 4) [基于概率论的分类方法:朴素贝叶斯](./docs/4.朴素贝叶斯.md) -* 5) [Logistic回归](./docs/5.Logistic回归.md) -* 6) [支持向量机](./docs/6.支持向量机.md) -* 7-1) [利用AdaBoost元算法提高分类](./docs/7.利用AdaBoost元算法提高分类.md) -* 7-2) [随机森林的使用(非课本内容)](./docs/7.随机森林的使用.md) +* 1.) [机器学习基础](./docs/1.机器学习基础.md) +* 2.) [k-近邻算法](./docs/2.k-近邻算法.md) +* 3.) [决策树](./docs/3.决策树.md) +* 4.) [基于概率论的分类方法:朴素贝叶斯](./docs/4.朴素贝叶斯.md) +* 5.) [Logistic回归](./docs/5.Logistic回归.md) +* 6.) [支持向量机](./docs/6.支持向量机.md) +* 7.1) [利用AdaBoost元算法提高分类](./docs/7.利用AdaBoost元算法提高分类.md) +* 7.2) [随机森林的使用(非课本内容)](./docs/7.随机森林的使用.md) ## 第二部分 利用回归预测数值型数据 -* 8) [预测数值型数据:回归](./docs/8.预测数值型数据:回归.md) -* 9) [树回归](./docs/9.树回归.md) +* 8.) [预测数值型数据:回归](./docs/8.预测数值型数据:回归.md) +* 9.) [树回归](./docs/9.树回归.md) ## 第三部分 无监督学习 -* 10) [使用K-均值聚类算法对未标注数据分组:k-means聚类](./docs/10.k-means聚类.md) -* 11) [使用Apriori算法进行关联分析](./docs/11.使用Apriori算法进行关联分析.md) -* 12) [使用FP-growth算法来高效发现频繁项集](./docs/12.使用FP-growth算法来高效发现频繁项集.md ) +* 10.) [使用K-均值聚类算法对未标注数据分组:k-means聚类](./docs/10.k-means聚类.md) +* 11.) [使用Apriori算法进行关联分析](./docs/11.使用Apriori算法进行关联分析.md) +* 12.) [使用FP-growth算法来高效发现频繁项集](./docs/12.使用FP-growth算法来高效发现频繁项集.md ) ## 第四部分 其他工具 -* 13) [利用PCA来简化数据](./docs/13.利用PCA来简化数据.md) -* 14) [利用SVD简化数据](./docs/14.利用SVD简化数据.md) -* 15) [大数据与MapReduce](./docs/15.大数据与MapReduce.md) +* 13.) [利用PCA来简化数据](./docs/13.利用PCA来简化数据.md) +* 14.) [利用SVD简化数据](./docs/14.利用SVD简化数据.md) +* 15.) [大数据与MapReduce](./docs/15.大数据与MapReduce.md) ## 第五部分 项目实战(非课本内容 来之ApacheCN Team) From eb345c63d5a9c8445c12cd7f66beed1e2c6d0927 Mon Sep 17 00:00:00 2001 From: jiangzhonglian Date: Mon, 12 Jun 2017 18:54:25 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=8E=A8=E8=8D=90?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 0b4618a5..2cb4a14d 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,9 @@ * 14.) [利用SVD简化数据](./docs/14.利用SVD简化数据.md) * 15.) [大数据与MapReduce](./docs/15.大数据与MapReduce.md) -## 第五部分 项目实战(非课本内容 来之ApacheCN Team) +## 第五部分 项目实战(非课本内容) -* 16) 推荐系统 - * [推荐系统](/docs/16.推荐系统.md) - * [后续 翻译完Spark ML继续跟进该项目, 欢迎有兴趣的朋友参与开源公益的活动] +* 16.) [推荐系统](/docs/16.推荐系统.md)【后续组织学习:机器学习框架sklearn、深度学习框架TensorFlow】 ## 阶段性总结