开发者学堂课程【机器学习概览及常见算法:常见算法分类】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/529/detail/7120
常见算法分类
内容简介:
1 算法
2 有身高预测体重
3 常见机器学习算法分类
1 算法
算法:是利用计算机解决特定问题的处理步骤,是有限操作的集合。
以机器学习下西洋跳棋为例,其问题描述如下:
任务T :下西洋跳棋
性能标准P :赢棋的概率
经验E :和自己对弈
目标函数: V
通过将棋盘上的棋子进行评分,并将棋子及所在的位置和一个目标函数V建立联系,该目标函数V的值可以描述当前棋盘局面。在棋子、局面和性能标准P之间建立联系,将P 描述成一个和棋子、局面相关的函数,根据已有的数据(经验E )去求解P中各相关参数的最优值。
机器学习的思路: b1->b2->b3-> ...>.->END
■任务T :下西洋跳棋
■性能标准P :赢棋的概率
■经验E:和自己对弈胜100 V(b)=100
■确定目标函数: V 平0 V(b)=0
负-100 V(b)=-100
V(b)=V(b' )
棋局状态b评估:
■X1 :棋盘上黑子的个数
■X2 :棋盘上红子的个数
■X3: 棋盘上黑王的个数输入棋谱或者自己和自己下很多
■X4:棋盘上红王的个数 盘,可以求出w0、w1.....w6
■X5:被红子威胁的黑子个数
■X6:被黑子威胁的红子个数
V(b)=w0+w1*X1 +... +w6*X6
2 有身高预测体重
收集了一些人的身高和体重,基于这些已知信息,去预测-个身高已知的人的体重。
两个变量间的关系(设身高为x ,体重为y )可用最简单的线性关系描述: y= ax+ b 需要根据已有数据,去求解该模型中的两个参数: a 和 b,然后利用该公式去预测。
两个末知参数,对于任意两条已知记录,即可求出两者的值。为了能得到更普遍可信度更高的模型,需尽可能的使用已有的样本数据,即越多的记录参与到参数求解的过程中,求出的结果更具普遍性。
将所有的记录依次带入y= ax + b得到公式计算结果y',每一个计算值y '和真实值y的差即为预测误差,预测误差7实际上是一一个关于参数a、b函数: V(a, b) ,我们要做的是找到某一组参数(a, b)使得误差值V(a, b)最小即可。
读取数据集 dataset (h,w) ,定义变量: delta = 0
#求所有记录的误差的平方和
对每条数据进行如下处理 ,从1到 n :
将hi带入y=ax+b,计算得到预测值:Yi=ahi+b
计算预测值和实际值的误差: Wi-Yi=Wi- (ahi+ b)
将误差的平方累加起来: delta = delta + (Wi- (ahi + b))2
#求 delta 最小时的 a、b 的取值
3 常见机器学习算法分类
监督式学习 、无监督学习 、半监督学习
学习样本中有结果标记 学习样本中无结果标记 学习样本中部分记
录有结果标记。
(1)有监督学习
有监督学习( Supervised learning ) : 利用-组已知类别的样本来训练模型,使其达到性能要求。特点为输入数据(训练数据)均有一一个明确的标识或结果(标签)。即我们提供样例"教"计算机如何学习。
(2)无监督学习
无监督学习( Unsupervised learning ) :从无标记的训练数据中推断结论。其特点为输入数据(训练数据)不存在明确的标识或结果(标签)。
常见的无监督学习为聚类,即发现隐藏的模式或者对数据进行分组。即计算机根据我们提供的材料"自动”学习, 给定数据,寻找隐藏的结构或模式。