机器学习爱好者必读的入门指南
过去40年来,在许多领域(如语言学/翻译)进行的研究表明,这些“搅拌数字炖汤”(我刚编好的词)的通用学习算法可以实现真正的人为试图得到的明确规则方法。机器学习的“愚蠢”方法最终击败了人类专家。 最后得到的函数是完全愚蠢的。它甚至不知道“平方英尺”或“卧室”是什么。它所知道的是,它需要加入一些数字来得到正确的答案。 你很可能不知道为什么一组特定的权重会起作用。所以你只是写了一个你并不真正理解的函数,但是可以证明它是有效的。 想象一下,你的预测函数不是采用 “sqft” 和 “num-of-bedrooms” 这样的参数,而是接受一组数字。 假设每个数字代表安装在汽车顶部的摄像头拍摄的图像中一个像素的亮度。现在让我们假设,该函数不是输出一个名为“价格”的预测,而是输出一个名为“度”的预测来转动方向盘。那么你刚刚做了一个可以自动驾驶汽车的函数! 相当疯狂,不是吗? 第3步中,“尝试每个权重数字”是什么意思? 当然不可能去尝试所有可能的权重组合来找到最有效的组合。这真的需要花上很长时间,因为你永远也不会用尽所有的数字。 为了避免这种情况的发生,数学家们想出了许多聪明的方法,可以快速地找到合适的权重值而无需太多尝试。这里提供一种方法: 首先,写一个简单的方程来表示上面的第2步: 这是你的成本函数。 现在让我们重写一个完全相同的方程,但是使用一些机器学习的数学术语(你可以暂时忽略): θ 表示当前权重,J(θ) 表示当前权重的成本。 这个方程表示我们的价格估计函数在我们目前设置的权重下的错误程度。 如果我们将 numberofbedroom 和 sqft 的成本函数的所有权重可能值绘制出来,我们会得到这样一个图形: 我们的成本函数图看起来像一个碗。纵轴代表成本。 在这张图中,蓝色的最低点就我们成本最低的地方,即函数误差值最小。最高点是我们错误值越大的地方。所以,如果我们能找到这个图形最低点的权重,我们就得到答案了! 所以我们只需要调整权重,在这个图上“下山”到最低点。如果我们不断地对权重进行小的调整,使其始终向最低点移动,我们最终就会不需要尝试太多权重的情况下到达最低点。 如果你还记得微积分的知识,你可能还记得如果对一个函数求导,会得到函数在任意点切线的斜率。换句话说,它告诉我们曲线上任意一点的下坡方向。我们可以用这些知识来走下坡。 (编辑:广州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |