想自学一个可定位抓取物体的机械臂,要学习哪些课才能自己从头到尾完整的做出一个机械臂
学习一个可定位抓取物体的机械臂需要掌握一定的机械设计、电子电路、控制算法和编程知识。
以下是一些具体的课程和知识点建议:
通过上边的推导,P为数据的真实概率分布,而Q为机器学习算法预测数据的分布,那么KL散度(相对熵)便可以用来衡量两个分布的差异,即使用分布Q对真实分布Q进行表示产生的损失(差异)。因此可以将KL散度(相对熵)作为机器学习的目标函数,通过训练尽量降低KL散度,就可以降低两个分布的差异,预测模型分布Q就越接近真实分布P。然而,由上面的公式可以看出,交叉熵只是比KL散度少了H(P)H(P)H(P)一项,由于在机器学习中H(P)H(P)H(P)是固定的(数据的真实分布的信息熵),即H(P)H(P)H(P)是可以计算出的一个常数项,所以在优化的时候我们只需要尽量降低H(P,Q)H(P,Q)H(P,Q)的值,这便是交叉熵可以作为分类算法损失函数的原因。
在机器学习算法训练中,单个样本 xix_ixi 带来的交叉熵损失为:
loss(x)=−p(xi)log(q(xi))loss(x)=-p(x_i)log(q(x_i))loss(x)=−p(xi)log(q(xi))
其中,p(xi)为数据的真实标签,q(xi)为模型对样本xi的预测结果。p(x_i)为数据的真实标签,q(x_i)为模型对样本x_i的预测结果。p(xi)为数据的真实标签,q(xi)为模型对样本xi的预测结果。
那么,整个batch或者数据集的交叉熵损失为:
loss(X)=−∑i=1N p(xi)log(q(xi))loss(X)=-\sum_{i=1}^N~p(x_i)log(q(x_i))loss(X)=−∑i=1N p(xi)log(q(xi))
其中,p(xi)为数据的真实标签,q(xi)为模型对样本xi的预测结果,N为数据集的样本总量或者batch的大小。p(x_i)为数据的真实标签,q(x_i)为模型对样本x_i的预测结果,N为数据集的样本总量或者batch的大小。p(xi)为数据的真实标签,q(xi)为模型对样本xi的预测结果,N为数据集的样本总量或者batch的大小。
在一般的分类任务中,对于二分类,q(xi)q(x_i)q(xi)由激活函数sigmoid计算得到;对于多分类,q(xi)q(x_i)q(xi)由激活函数softmax计算得到。如果想深入了解,请移步链接: 二分类和多分类任务的激活函数合损失函数.