机器学习入门指南

helloworld_30205898
• 阅读 261

机器学习入门指南

资料获取地址见文末或评论!

机器学习入门指南

一、预备知识

微积分(偏导数、梯度等等) 概率论与数理统计(例如极大似然估计、中央极限定理、大数法则等等) 最优化方法(比如梯度下降、牛顿-拉普什方法、变分法(欧拉-拉格朗日方程)、凸优化等等)

二、路线1

(基于普通最小二乘法的)简单线性回归 -> 线性回归中的新进展(岭回归和LASSO回归)->(此处可以插入Bagging和AdaBoost的内容)-> Logistic回归 ->支持向量机(SVM)->感知机学习 -> 神经网络(初学者可先主要关注BP算法)-> 深度学习 这些算法都是围绕着 y = Σxiβi 这个公式展开的。 其中蓝色部分主要是回归,绿色部分主要是有监督的分类学习法。

三、路线2

K-means -> EM -> 朴素贝叶斯 贝叶斯网络 -> 隐马尔科夫模型(基本模型,前向算法,维特比算法,前向-后向算法) (->卡尔曼滤波) 这条线路所涉及的基本都是那些各种画来画去的图模型,学术名词是PGM。这条线的思路和第一条是截然不同的。 其中绿色字体的部分是这个线路中的核心内容,而蓝色部分是为绿色内容作准备的部分。 K-means和EM具有与生俱来的联系,认识到这一点才能说明真正读懂了它们。而EM算法在HMM的模型训练中用到,所以要先学EM才能深入学习HMM。所以尽管在EM中看不到那种画来画去的图模型,但我还把它放在了这条线路中,这也就是原因所在。 朴素贝叶斯里面的很多内容在贝叶斯网络和HMM里都会用到,类似贝叶斯定理、先验和后验概率,边缘分布等等(主要是概念性的)。 最后,卡尔曼滤波可以作为HMM的一直深入或者后续扩展。尽管很多machine learning的书里没有把它看做是一种机器学习算法,但它也确实可以被看成是一种机器学习技术。 了解一些基础的学习理论 依次掌握各种常见的分类算法的原理与案例应用 掌握回归分析技术 掌握常见聚类算法的原理与案例应用 掌握常见关联分析算法的原理与案例应用 掌握各种常见的进阶模块与使用 掌握文本挖掘技术与常见案例应用 尝试自己写一些机器学习算法 学习深度学习技术,掌握各种神经网络算法与实际应用

四、应用层面

R、MATLAB和Python都是做数据挖掘的利器. 另一个基于Java的免费数据挖掘工具是Weka,只用点点鼠标,甚至不用编代码了。

五、机器学习可以解决的一些问题

1.分类

根据数据样本抽取出的特征,判定其属于有限个类别中的哪一个。如: 垃圾邮件识别(垃圾邮件、正常邮件) 文本情感褒贬分析(褒、贬) 图像内容识别(结果类别:喵星人、汪星人、人类) 图片分类、商品分类、客户分类、公司融资成功概率预测

2.回归问题

根据数据样本上抽取出的特征,预测一个连续值的结果,如: 票房预测 房价预测 趋势预测

3.聚类问题

根据数据样本上抽取出的特征,让相近/相关的样本在一团内。如 google的新闻分类 用户群体划分 商品聚类 公司客户价值分析

4. 关联分析问题

商品关联分析 个性化推荐 货品摆放调整指导

5. 文本挖掘问题

文本相似度计算 机器翻译 聊天机器人

6. 预测决策

下棋

7. 目标检测

目标检测

六、机器学习最典型的两个分类

1.监督学习 分类与回归问题需要用已知结果的数据做训练,属于“监督学习”。 2.非监督学习 聚类的问题不需要已知标签,属于“非监督学习”。

七、机器学习热点应用

1.计算机视觉 典型的应用包括:人脸识别、车牌识别、扫描文字识别、图片内容识别、图片搜索等。 2.自然语言处理 典型的应用包括:搜索引擎智能匹配、文本内容理解、文本情绪判断,语音识别、输入法、机器翻译等。 3.社会网络分析 典型的应用包括:用户画像、网络关联分析、欺诈作弊发现、热点发现等。 4.推荐 典型的应用:虾米音乐的“歌曲推荐”,某宝的“猜你喜欢”等。

八、典型算法

处理分类的常用算法 逻辑回归 支持向量机 随机森林 朴素贝叶斯(NLP中常用) 深度神经网络(视频、图片、语音等多媒体数据中使用) 处理回归问题的常用算法 线性回归 普通最小二乘法回归(Ordinary Least Squares Regression) 逐步回归(Stepwise Regression) 多元自适应回归样条(Multivariate Adaptive Regression Splines) 处理聚类问题的常用算法 K均值(K-means) 基于密度聚类 LDA等 降维的常用算法 协同过滤算法 模型整合(model ensemble)和提升(boostring)的算法 bagging adaboost GBDT GBRT 其它重要的算法 EM算法

九、编程语言、工具和环境

1.Python PyTorch:Torch的Python版本,深度神经网络工具 网页爬虫:Scrapy 数据挖掘: -- Pandas:模拟R,进行数据浏览与预处理 -- numpy:数组运算 -- scipy:高效的科学计算 -- matplotlib:非常方便的数据可视化工具 机器学习 -- Scikit-learn:远近闻名的机器学习包。 -- libsvn:高效率的SVM模型实现 -- keras/TensorFlow:深度学习神经网络。 自然语言处理 -- nltk:自然语言处理的相关功能做得非常全面,有典型语料库,上手也非常容易。 -- ipython notebook:能直接打通数据到结果的通道。 2.R 最大的优势是开源社区,聚集了非常多功能强大可直接使用的包,绝大多数的机器学习算法在R中都有完善的包可直接使用,同时文档也非常齐全。常见的package包括: RGtk2 pmml colorspace ada amap arules biclust cba descr doBy e1071 ellipse等。 另外R的可视化效果做得也很好 3.Java WEKA Machine Learning Workbench:相当于Java的scikit-learn Massive Online Analysis(MOA) MEKA Mallet 4.C++ mlpack:高效同时可扩充性非常好的机器学习库 Shark:文档齐全的老牌C++机器学习库 5.大数据相关 Hadoop Spark 6.操作系统 mac linux Windows下推荐anaconda,一步到位安装完python的全品类数据科学工具包。

十、基本工作流程

1.抽象成数据问题 目标是一个分类还是回归或聚类的问题,等。 2.获取数据 3.特征预处理与特征选择 良好的数据要能够提取出良好的特征才能真正发挥效力。 特征预处理,数据清洗是关键的步骤,往往能够使得算法的效果和性能得到显著提高。归一化、离散化、因子化、缺失值处理、去除共线性等,数据挖掘过程中很多时间就花在它们上面。 这些工作简单可复制,是机器学习的基础必备步骤。 筛选出显著特征,摒弃非显著特征,需要机器学习工程师反复理解业务。这对很多结果有决定性的影响。特征选择好了,非常简单的算法也能得出良好、稳定的结果。这需要运用特征有效性分析的相关技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。 4.训练模型与调优 真正考验水平的是调整算法的(超)参数,使得结果变得更加优良。这需要我们对算法的原理有深入的理解。理解越深入,就越能发现问题的症结,提出良好的调优方案。 5.模型诊断 如何确定模型调优的方向与思路?这就需要对模型进行诊断的技术。 过拟合、欠拟合 判断是模型诊断中至关重要的一步。常见的方法如交叉验证,绘制学习曲线等。 过拟合的基本调优思路是增加数据量,降低模型复杂度。 欠拟合的基本调优思路是提高特征数量和质量,增加模型复杂度。 误差分析也是机器学习至关重要的步骤。通过观察误差样本,全面分析误差产生的原因,是参数的问题还是算法选择的问题,是特征的问题还是数据本身的问题。 6.模型融合 7.上线运行

十一、常用的科学计算软件

Matlab GNU Octave Mathematica Maple Spss R Numpy,SciPy,matplotlib等Python科学计算平台 OpenCV 是 Intel开源计算机视觉库,它由一系列C函数和少量C++类构成,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C函数的跨平台的中高层API。它不依赖于其他的外部库(尽管也可以使用某些外部库)。 mply是基于NumPY/SciPy和GSL构建的Python模块,它提供了高层函数和类,允许使用少量代码来完成复杂的分类、特征提取、回归、聚类等任务。 BeautifulSoup是用Python写的一个HTML/XML的解析器。 Neurolab是Python神经网络库,包括基础神经网络、训练算法,并具有弹性的构架,可创建其他网络,它用纯Python和Numpy写成。

docs.qq.com/doc/DUkVNRUFXc1Z1THFz , 复制后浏览器打开获取地址

点赞
收藏
评论区
推荐文章
深度学习技术开发与应用
关键点1.强化学习的发展历程2.马尔可夫决策过程3.动态规划4.无模型预测学习5.无模型控制学习6.价值函数逼近7.策略梯度方法8.深度强化学习DQN算法系列9.深度策略梯度DDPG,PPO等第一天9:0012:0014:0017:00一、强化学习概述1.强化学习介绍2.强化学习与其它机器学习的不同3.强化学习发展历史4.强化学习典
Wesley13 Wesley13
2年前
SOAR 使用指南
!(https://oscimg.oschina.net/oscnet/10436f80d9bbfe21fa6aa8b77a855d5525f.gif)“本文简述了SOAR的下载安装和使用方法,并介绍了SOAR的基础设置和应用的四个场景。上篇文章回顾:基于线性回归的故障恢复时间预测(https://www.oschina.net/acti
Karen110 Karen110
2年前
人工智能数学基础8:两个重要极限及夹逼定理
一、极限公式1二、极限公式2e为常数2.71828…变体:使用案例:三、夹逼定理夹逼定理英文原名SqueezeTheorem,也称两边夹定理、夹逼准则、夹挤定理、挟挤定理、三明治定理,是判定极限存在的两个准则之一。是法国著名数学家、物理学家约瑟夫·路易斯·拉格朗日(JosephLouisLagrange,17361813)提出的。3.1、数
黎明之道 黎明之道
3年前
天池比赛数据挖掘心电图模型调参
Task4建模与调参4.1学习目标学习机器学习模型的建模过程与调参流程完成相应学习打卡任务4.2内容介绍逻辑回归模型:理解逻辑回归模型;逻辑回归模型的应用;逻辑回归的优缺点;树模型:理解树模型;树模型的应用;树模型的优缺点;集成模型基于bagging思想的集成
Stella981 Stella981
2年前
Python实现——二次多项式回归(最小二乘法)
2019/3/25真的,当那个图像出现的时候,我真的感觉太美了。或许是一路上以来自我的摸索加深的我对于这个模型的感受吧。二次函数拟合——最小二乘法公式法与线性回归相似,对二次函数进行拟合某种意义上也只是加了一个函数,虽然求解的方程变得更加繁琐,需要准备的变量也增加到了七个。思路有借鉴于:最小二乘法拟合二次曲线C语言(https://w
Stella981 Stella981
2年前
Python+OpenCV图像处理之图像梯度
图像梯度可以把图像看成二维离散函数,图像梯度其实就是这个二维离散函数的求导OpenCV提供了三种不同的梯度滤波器,或者说高通滤波器:Sobel,Scharr和Lapacian。Sobel,Scharr其实就是求一阶或二阶导。Scharr是对Sobel的部分优化。Laplacian是求二阶导。python实现importcv2i
Stella981 Stella981
2年前
Keras实践笔记1——线性回归
importmatplotlib.pyplotaspltimportnumpyasnpfromkerasimportSequentialfromkeras.layersimportDensexnp.linspace(10,10,300)y3x
Stella981 Stella981
2年前
Python——sklearn 中 Logistics Regression 的 coef_ 和 intercept_ 的具体意义
sklearn中LogisticsRegression的coef\_和intercept\_的具体意义​使用sklearn库可以很方便的实现各种基本的机器学习算法,例如今天说的逻辑斯谛回归(LogisticR
机器学习基础
机器学习基础本章涵盖了以下主题:分类和回归之外的其他类型的问题;评估问题,理解过拟合、欠拟合,以及解决这些问题的技巧;为深度学习准备数据。请记住,在本章中讨论的大多数技术都是机器学习和深度学习通用的,一部分用于解决过拟合问题的技术(如dropout)除外。4.1 三类机器学习问题在之前的所有例子中,尝试解决的是分类(预测猫或狗)或回归(预测用户在平台上
helloworld_30205898
helloworld_30205898
Lv1
祸在于贪小利,害在于亲小人。
文章
2
粉丝
1
获赞
1