开发者学堂课程【机器学习入门-概念原理及常用算法:机器学习的领域】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/355/detail/4181
机器学习的领域
内容介绍
一、机器学习的领域
二、机器学习的目标
三、定义跟术语
四、Standard Scenarios
五、Fun Time
一、机器学习的领域
1、Classification: assign a category to each item(e.g, document classification).
分类是分到一个具体的目录里面,把文档分为娱乐、科技、体育等等。
分类是分到一个具体的目录里面
2、Regression: predict a real value for each item(prediction of stock values, economic variables).
违规是预测出一个实数的值比如股票预测股价,经济预测经济的增长速度,具体的值。
3、Ranking: order items according to some criterion(relevant web pages returned by a search engine).
排序是通过某一种标准去排序,比如搜索引擎里面,给它一个搜索目标,返回一系列排好序的结果。
排序是通过某一种标准去排序
4、Clustering: partition data into 'homogeneous'regions(analysis of very large data sets).
聚类,物以类聚,通过对一个数据的分析,把它分成几个大的区域。
聚类
5、Dimensionality reduction:find lower-dimensional manifold preserving some properties of the data.
维度的降维,去找一个比较好的低维的东西去展示原来的数据,但这个低维的东西可能保留一个原始的数据绝大部分有用的一个属性。
这些东西如何去用它呢?
比如样本数大于50个,才可能会用到这样一个东西,如果样本数小于50,应该去收集更多的数据,收集数据之后是不是需要做 category 的东西,如果是 category 的东西,如果有label一般是属于分类的任务,如果没有label一般是属于聚类的任务,如果不是 category ,是一个数量的值,实数的值,一般情况下如果去预测这样一个实数的值,用回归的东西比较合适,如果不去预测数量本身的值,就是想去看或者做一些图,表去洞察一下这个数据做一些降维比较合适。
二、机器学习的目标
1、Theoretical questions:
(1)what can belearned, under what conditions?
它是在什么样的条件下,什么东西能进行学习?
(2)are there learning guarantees?
这些学习有理论上的保障吗?
(3)analysis of learning algorithms.
给定一个学习算法之后,它会进行一些分析,算法学习的数据怎么样?它能收敛到一个什么样的情况,是不是可以收敛了等,这个是有一系列理论上的问题,也牵扯出一系列的学科、概率、统计、图优化等,这里有非常多的学科在后面做一些理论的支持和支撑。
给定一个学习算法之后
2、Algorithms:
具体的算法,等解决了一些理论上的问题之后,来看具体的算法,去做的更加高效,更加准确,有没有去处理大数据,大规模的问题,有没有办法去提供一个种类丰富的算法集,或者一个学习问题有多种解等,每个目标里面都牵扯着机器学习里面的子学科。
(1)more efficient and more accurate algorithms
(2)deal with large-scale problems
(3)handle a variety of different learning problems.
三、定义跟术语
1、Example:
item, instance of the data used.
样本,例子。
样本
2、Features:
attibutes associated to an item, often represented as a vector(e.g, word counts).
特征就是 example 中一些跟它关联的属性,经常会被表达成一个向量的方式。
特征就是
3、Labels:
category (clasification) or real value(regression)aassociated to an item.
一个技术方式 label , label 是分类,打比方淘宝里面一个裙子属于连衣裙这样一个类目,这样是它的 label ,如果是回归,赔付率本身这样也是它的一个 label。
一个技术方式
4、Data:
training data(typically labeled); test data (labeled but labels not seen); validation data (labeled, for tuning parameters).
数据本身可能会分为训练数据、测试数据跟验证数据等,这种分法是通过这种方式来衡量机器学习算法 performance,它的性能是什么样子,validation 这样一个数据一般是有助于去调删上的事情。
如图所示:
这里不同颜色的小圆圈可以认为是一个样本一个 label,在二维空间里面, x1 、 x2 都可以认为是它的一个特征,不同颜色代表它是不同的 label ,
比如三个颜色把它分别认为是某一种车的类型等,写上分类的两根线可以认为是一个具体的机器学习算法,得到了一个模型,进行有效的区分,这里面可以看到有一些颜色是分错的,是一个 error ,这个错误是有效的去衡量这样一个算法的效率和效果,或 performers 一种方式,这里还提到 one steps, two steps ,three steps 这种方式,大部分求解的方式都是通过迭代的方式,所以是有多轮或多步迭代,所以能看到这样一个迭代的在这里面。
四、Standard Scenarios
具体来看一下机器学习算法的分类,比如有 label 可以认为它是一个监督学习,没有 label 认为它是一个无监督学习,基于它们两者之间叫半监督,除此之外还有一种其实跟人下棋的状态很像,叫做强化学习,它是有一定的观察,然后你维护了一个状态的东西,通过这样一个动作获得一种奖罚机制,用这种方式来学习的叫做强化学习。
具体来看一下机器学习算法的分类
1、Unsupervised learning:
no labeled data.
监督跟非监督都非常像,只是中间没有 label。
2、Supervised learning:
uses labeled data for prediction on unseen points.
例:比如给一些芒果,里面有熟的有生的,那如果告诉芒果是熟的还是生的,通过图片,通过一个机器学习算法得到一个模型,这种认为是监督学习,如果把熟了或者没熟的这个东西给它去掉,这样就成为无监督学习,通过剧烈的方式,从流程图上看,这样一些东西拿来之后设计特征,送到一个集群的算法里面得到一个模型再进行预测。
3、Semi-supervised learning:
uses labeled and unlabeled data for prediction on unseen points.
4、Reinforcement learning:
observation+ action+ reward+ state
强化学习这里用了一个老鼠走迷宫的方式,老鼠的头脑里面有状态图,通过 action 里面环境本身会有一个奖惩的机制,比如再某一个地方给它奖励或者惩罚,通过这样的方式更正或学习到一些东西同过来观察它能够去跟踪和学习到一些东西去更正它内部的状态,通过这样的方式进行学习。
5、Formalize the Learning Problem
数学上形式化一下,x 为输入,通常它是一个输入的形式或者矩阵的形式,输出 y 是 label,通常它也是一个向量或矩阵方式,从 x 到 y去探索一个未知的模式,数据就是一大堆的训练样本,训练样本就是用数据的方式就是 xy,有些没有 y,希望从大量的 example 里面学到一个去探索这种未知的 f,最后学到一个积,这就是最终要学到的一个结果。
Basic Notations
input: xX (customer application)
output: y Y (good/bad after approving credit card)
unknown pattern to be learned target function:
f: X y (ideal credit approval formula)
data # training examples: D= {(X1.y1),(X2, y2),···,(XN-yN)]}
(historical records in bank)
hypothesis skill with hopefully good performance:
g: XY('learned' formula to be used)
{(Хn. Уn)}frоmf МL - g
再展开一点讲,从一个很大的假设集里面,从数据里面去学到一个最终的积,希望这个积跟未知的 f 非常的接近,怎么去判定它是不是接近,设置一个loss function ,如果在这样一个有不同的输出 label ,有些是有,有些是没有,把它分为监督跟非监督,通过输出的 space 不一样,把它分为回归分类,其实还有一类分为 batch 跟 online 这种方式,
通过这样一个方式来对机器学习算法其实都是从不同的视角去看这样的一些机器学习的一个算法。
五、Fun Time
How to use the four sets below to form a learning problem for item recommendations?
S1=[0; 100]; S2=all possible (userid, itemid) pairs; S3= all formula that 'multiplies' user factors& item factors; indexed by all possible combinations of such factors; S4= 1,000,000 pairs of((userid, itemid), rating)
A.S1=X;S2 = Y;S3= H;S4 = D
B.Sl=Y;S2=X;S3=H;S4=D
C.S1=D;S2 = H;S3 = Y;S4= X
D.S1=X;S2=D;S3=Y;S4=H
看一个具体的例子,比如这里给到一些数据,几个s1到s4的集合,形式化去定义一下,什么是一个推荐,s3是假设集,s4是数据集,s1像 label ,s2像 x向输入,通过这种方式很明显去感知到形式化的定义。