机器学习第一天

在模型组已经小半年了,机器学习的应用下的算法也混了耳熟,从上个项目到现在,所有ETL工作也没有什么创新,借助这样好的平台环境,最近的想法是上班时候看建模相关的东西,晚上下班看爬虫的东西,从今天起正式开始第一天的机器学习算法的学习。

1、什么是机器学习:

参考:知乎 https://zhuanlan.zhihu.com/p/24339995
作为人类的一员,你的大脑可以应付绝大多数情况,并且在没有任何明确指令时也能够学习如何处理这些情况。如果你做房地产经纪人时间足够长,你对于房产的合适定价、房屋的最佳营销方式以及客户会感兴趣类型等等都会有一种本能般的「感觉」。强人工智能研究的目标就是要计算机复制这种能力。

但是目前的机器学习算法还没有那么强大——它们只能在非常特定的、有限的问题上有效。也许在这种情况下,「学习」更贴切的定义是「在少量样本数据的基础上找出一个公式来解决特定的问题」。

但是「机器在少量样本数据的基础上找出一个公式来解决特定的问题」不是个好名字。所以最后我们用「机器学习」取而代之。

2、机器学习算法的实质就是:代价函数(cost function)的最小化

注:代价函数(有的地方也叫损失函数,Loss Function)在机器学习中的每一种算法中都很重要,因为训练模型的过程就是优化代价函数的过程,代价函数对每个参数的偏导数就是梯度下降中提到的梯度,防止过拟合时添加的正则化项也是加在代价函数后面的。在学习相关算法的过程中,对代价函数的理解也在不断的加深,在此做一个小结。
假设有训练样本(x, y),模型为h,参数为θ。h(θ) = θTx(θT表示θ的转置)。

(1)概况来讲,任何能够衡量模型预测出来的值h(θ)与真实值y之间的差异的函数都可以叫做代价函数C(θ),如果有多个样本,则可以将所有代价函数的取值求均值,记做J(θ)。因此很容易就可以得出以下关于代价函数的性质:

对于每种算法来说,代价函数不是唯一的;
代价函数是参数θ的函数;
总的代价函数J(θ)可以用来评价模型的好坏,代价函数越小说明模型和参数越符合训练样本(x, y);
J(θ)是一个标量;
(2)当我们确定了模型h,后面做的所有事情就是训练模型的参数θ。那么什么时候模型的训练才能结束呢?这时候也涉及到代价函数,由于代价函数是用来衡量模型好坏的,我们的目标当然是得到最好的模型(也就是最符合训练样本(x, y)的模型)。因此训练参数的过程就是不断改变θ,从而得到更小的J(θ)的过程。理想情况下,当我们取到代价函数J的最小值时,就得到了最优的参数θ,记为:

minθJ(θ)
例如,J(θ) = 0,表示我们的模型完美的拟合了观察的数据,没有任何误差。

(3)在优化参数θ的过程中,最常用的方法是梯度下降,这里的梯度就是代价函数J(θ)对θ1, θ2, …, θn的偏导数。由于需要求偏导,我们可以得到另一个关于代价函数的性质:

选择代价函数时,最好挑选对参数θ可微的函数(全微分存在,偏导数一定存在)

3、知识储备:

https://zhuanlan.zhihu.com/p/26169982
https://zhuanlan.zhihu.com/p/26169982
https://zhuanlan.zhihu.com/p/26169982
https://zhuanlan.zhihu.com/p/36311622
https://blog.csdn.net/tiankong_/article/details/78611680
https://www.cnblogs.com/Belter/p/6128644.html
http://www.cnblogs.com/Belter/p/6653773.html

https://zhuanlan.zhihu.com/p/47200561
http://www.sohu.com/a/145845622_642762
https://www.zhihu.com/search?type=content&q=机器学习
https://www.zhihu.com/question/22553761
https://www.zhihu.com/topic/20014861/top-answers
https://zhuanlan.zhihu.com/p/24339995

待续。。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章