无监督学习|学习笔记

简介: 快速学习无监督学习。

开发者学堂课程【机器学习入门-概念原理及常用算法无监督学习】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/355/detail/4186


无监督学习

 

内容介绍:

一、Unsupervised learning

二、K-Means

三、Nearest neighbor methods

四、Decision trees

五、Ensemble methods

六、Try GDBT @Parameter Server

七、部分算法应用场景

八、Homework

 

一、Unsupervised learning

One way to interpret many unsupervised learning

algorithms is that they try to "re-create"the input using a limited hypothesis class

监督,它是一个没有 label 的情况下的学习算法,其实很多类的算法它都是非监督算法都是想去能够重建输入,所以它的这样一个假设级一般是hypothesis functionhθ:RnRn-want hxi)for all training dataloss functionlRn×RnR+-E.g.,l(h(x),x)=||h(x)-x||2

image.png

 

二、K-Means

1、Parameters are a set of k"centers" in the data

2、θ={μ(1)(2),...,μ(k)},μ(i)∈RK

3、Hypothesis class picks the closest center

hθ(x)=μ(argmini||x-μ(i)||2)

4、With this framework,training looks the same as supervised

learning minimizeθ  

Emi=1||x(i)-hθ(x(i)||2

K-Means是聚类的一个算法它的参数是k聚类的中心个假设级也是每个样本都挑一个跟最近的,通过这样种机制得到一个剧烈的中心点

image.png

首先初始化得到 k 个中心点可能k中心点随机化来赋予的,k是有定的策略,包括初试点的赋予也是有定的方式跟方法的,然后通过这种方式跟方法来设置好k,可以跟这样一个中心点之后就开始迭代,来算这几个点,哪个中心点比较近,哪个近它就属于一个中心点,每次弄完统一分配之后来重新计算这个中心点,可能中心点不怎么发生变化,那么 k-means 就基本上收敛了。


如果设定 k 等于5,把跑出去的结果放在里面k-means 这种情况下的效果是很好的

 

三、Nearest neighbor methods

1、Predict output based upon closest example in training set

set h(x) = y(argmini||x-x(i)||2)

2、Can also average over kclosest examples:knearest neighbor

3、Requires no separate "training"phase, but requires that we keep around all the data

 

少数服从多数的一个概念它本身不需要所谓的训练过程但是它需要在预测时候需要把所有的数据都要过一遍通过这样一种关系如果给定一个测试数据 x找到 k 个离它最近的一个样本看这个 k 里面哪个 label 是最常见的出现最多那么就是x label

image.png 

比如 k 等于3,中间的红五角星,如果在附近找三个比较近的是需要有一系列的数据结构算法来支持的,中间也会比较耗内存。如果 K 等于6,画的是外环的圈,如果k等于3的时候,它的红星 label  class b因为这两个出现的多一点,k等于6的时候它所谓的类就是 class a 

所以这中间k的选取也有很大关系,但这个算法比较自然,一般效果不会太差。

 

四、Decision trees

Hypothesis class partitions space into diffrent regions; Can also have linear predictors(regression or classification) at the leaves;Greedy training find nodes that best separate data into distinct classes

image.png

 

第二类一个决策,决策它是把这样一个空间分成多个不同的区域非常类似于这个人来去做一些决策。

 

其实人来做决策非常像同时可能在日常生活也写了很多这样的一个角色的过程比如c里面有一堆 if else 的地方其实都会有这样一个过程它可以用来做回归也可以用来做分类

 

收入跟年龄来预测两类

image.png

 

把小于收入61的画一条线年龄27画一条线年龄38画一条线这样就分的很好这也是一个非线性的决策一个边界

Fun Time

The following c like code can be viewed as a decision tree of three leaves

if (income > 100000) return true;

else {

if (debt > 50000) return false;

else return true;

}

What is the output of the tree for (income, debt) = (98765, 56789)?

A. True

B.98765

C. False

D.56789

如果有类似c一样的代码如果这样一个输入是这样输出是什么样的

 

五、Ensemble methods

1、Combine a number of different hypotheses, popular instances:

2、Random forests:ensemble of decision trees built from different subsets of training data;

3、Boosting: iteratively train multiple clasifiers/regresion on reweighted examples based upon performance of the previous hypothesis

 

实践中用的非常广是集成学习就是把一系列的猫都 combine 起来有两种类别的方式类似于 random forests每个人都来到一个不同的数据去学习不同的模型之后再把它 combine还有一种是每次训练的模型都在前一次的基础上进行迭代进行提高这种程度 boosting比如这种常见的 fdbt 等等

 

 

六、Try GDBT @Parameter Server

按照 http∶//gitlab.alibaba-inc.com/parameter-server/ps-sdk/wikis/smart 的说明,组织好样本;

使用类似∶ param_server-ily_gbdt_ota_train_data-o ly.gbdt_ota_train_model-a SMART 的命令,进行建模

 

比如在集团里面有个 fdbt按照它的说明把样本组织好把特征分成一列前面是 label后面是特征和它的值通过在云端设置一个节点通过命令进行建模完整的命令在说明里面查看

 

 

七、部分算法应用场景

Following the Occam's Razor principle:use the least complicated algorithm that can address your needs and only go for something more complicated if strictly necessary

逻辑回归

简单高效,调参容易,特征、样本规模→千亿量级,广泛应用在二分类上,支持在线学习,典型场景∶广告/推荐/广告/营销中CTR &CVR预估、Rank等

决策树

直观易理解,支持非线性,样本规模百亿量级,特征规模万级别输出特征重要度,二分类跟多分类,典型场景∶搜索排序、推荐、Rank、回归、特征选择等

SVM

在工业级场景中,相对逻辑回归几乎没有优势,且训练比较慢。

一般不推荐在工业级场景中使用

KNN

Simplest thing you can do, often effective but slow and requires lots of memory

K-Means

没有标签数据时,clustering when you need to group points based on some feature

线性回归

Use when you want to predict continuous values, instead of classifying

首先一个大的原则就是 Occam's Razor,这个原则就是希望去用一些相对没有那么复杂的算法,就能够解决问题。

而且只有在需要去用那么复杂的算法的时候,才去用它,这是一个非常重要的前提。

逻辑回归简单高效,支持的特征规模跟样本规模也比较多,调仓也比较容易,可能要调的是一个政策化的一个参数,因为它使用方面比较容易上手,所以它广泛应用在iPhone类上面,并且它也比较好的能够支持在线学习,比如说谷歌的 stil 的算法,它在一些典型的场景里面,比如广告推荐搜索营销中的ctr和cvr的一个预估认可等等,运用得非常的广。

第二个是决策数,它是因为过程确实非常容易理解,人也比较容易去debug,这是比较好的非线性的一个特征,所以再多分类上应用的非常广,并且它能够输出这样个特征的重要程度,所以也在类似于推荐搜索上面用的非常的广,svm它其实在工业级的级别的场景中相对逻辑回归,它并没有什么太多的优势,并且它的训练相对是比较慢,所以般不怎么推荐在工业级的场景中去使用它

当然在一些数据量不大,然后操作规模也不大的情况下,应用它还是有一定的优势的。 KNN它比较简单,也比较高手,但是真的比较慢,它需要消耗比较多的一个内存。

 

L-means 当没有这样一个标签数据的时候,可以去尝试用 K-means并且 K-means 的一些输出可以用作别的算法的一个输入,线性回归就是想预测连续着的尝试线性回归一般情况下使用算法的时候先把逻辑回归去做一个 based on 再尝试用一些决策树一些更优的取得一个更好的效果。

 

实际情况下,尝试顺序∶逻辑回归→决策树→Ensemble method

这样的一个顺序并不是绝对的,可以根据自己的问题去灵活的去选择去应用。

 

总结这些算法分为监督非监督,它的一些应用场景,比如说回归分类,然后聚类,降维在这里并没有太多的去提及,而且也阐述了为什么机器能够学习,包括一个PAC理论,希望去实现一个比较简单的机器学习的算法。

再次要强调一下 machine learning,它涉及的学科非常多,它包括这个特征的表示,模型的评估,然后算法这样一个优化求解的问题数据里面的一些问题,然后还有各式各样的算法,同时在面对大规模的时候,它对应的这样一个模型的system,怎么去设计工程方面的一些东西,所以要考虑的问题是方方面面的

 

八、Homework

1、使用http://gitlab.alibaba-inc.com/jun.zhoujun/ml-base/wikis/criteo 100000 data , 10万条criteo数据,尝

试logistic regression, decision tree等算法,进行数据处

理、特征分析,建立模型

2、分析loss、收敛等情况,绘制收敛曲线

3、Check模型是否有效,并分析各个特征的重要性

 

自己动手去尝试一下逻辑回归、决策书 gbde 等等这些算法去亲测,感受一下AI的魅力,去分析这样一个模型,分析 loss 收敛的情况,汇集一些曲线,查一下这个模型是不是真的有效,是不是特征真的是合理,通过这样一个方式能够直观了解的去用这样个积极学习的东西,甚至最后能够给自己的一些场景联系上,能够尝试去使用这样一个模型能力的算法。

相关文章
|
4月前
|
机器学习/深度学习 运维 算法
无监督学习
无监督学习
|
5月前
|
机器学习/深度学习 数据采集 运维
无监督学习是机器学习的一种重要方法
无监督学习是机器学习的一种重要方法
|
6月前
|
机器学习/深度学习 人工智能 运维
|
5月前
|
机器学习/深度学习 算法 数据处理
【阿旭机器学习实战】【33】中文文本分类之情感分析--朴素贝叶斯、KNN、逻辑回归
【阿旭机器学习实战】【33】中文文本分类之情感分析--朴素贝叶斯、KNN、逻辑回归
|
5月前
|
机器学习/深度学习 算法 数据挖掘
无监督学习与聚类分析的实践指南
【6月更文挑战第3天】无监督学习与聚类分析是数据整理的利器,像侦探般发现数据模式。以水果为例,聚类分析能自动按相似性分类。Python 代码展示了KMeans算法的简单应用。实际场景中,聚类分析广泛用于市场营销、图像识别等领域,帮助我们揭示复杂数据背后的秩序和简化问题。快来一起探索这个数据世界,创造更多可能!
99 0
|
6月前
|
机器学习/深度学习 算法 数据挖掘
有监督学习和无监督学习区别
有监督学习和无监督学习区别
|
机器学习/深度学习 DataX C++
机器学习入门详解(一):理解监督学习中的最大似然估计
 这篇文章在统计学的背景下对机器学习学习建模过程进行了解密。将带你了解如何对数据的假设使我们能够创建有意义的优化问题。事实上,我们将推导出常用的标准,如分类中的交叉熵和回归中的均方误差。
165 0
机器学习入门详解(一):理解监督学习中的最大似然估计
|
机器学习/深度学习 存储 算法
监督学习与无监督学习
横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。那基于这组数据,假如你有一个朋友,他有一套750平方英尺房子,现在他希望把房子卖掉,他想知道这房子能卖多少钱。
132 0
|
机器学习/深度学习 算法 Python
|
机器学习/深度学习 移动开发 人工智能
无监督学习|学习笔记
快速学习无监督学习。
无监督学习|学习笔记