machine learning 机器学习入门(一)

本文是在看了andrew ng的斯坦福公开课后写的笔记,有兴趣的网友可以戳这里吴恩达斯坦福公开课

有监督学习和无监督学习:

机器学习是如今用处较多的一个技术,机器学习,顾名思义,就是计算机替代人类主动去学习并掌握住事物发展的规律,从中拟合出自己想要的模型函数

首先先讲讲机器学习中的主要分类,机器学习分为监督学习和非监督学习,从名字中来理解,监督学习就是有监督的学习,那么是什么来监督呢,在机器学习中定义为:

所以前提是我们已经知道一组完整的数据(特征为x_{1},x_{2},x_{3},x_{4}...x_{n},需预测的量为y),假设我们通过特征进行建模的输出量为h_{\theta}(x),通俗的来说,此时我们就可以用已有的y的值来监督我们预测出的 值h_{\theta}(x),对模型的结果进行评估并一步步的修改参数进行拟合。

而另外一方面,非监督学习显然就是只给了一些数据点,但并未告诉我们想要的最终结果y的值,需要我们自己去划分类别。

总体如下

对于有监督学习,我们先来考虑最基础的一类问题

线性回归

从实际案例中来考虑,假设我们已经有一组关于房价的数据,我们想做一些基本的预测:

先分析数据——x_{1}^{(i)}代表训练集中第i个房屋的面积,x_{2}^{i}代表训练集中第i个房屋的卧室数目,我们需要预测最终的房价

对于这个模型,我们先做出假设预测量关于每个特征都为线性关系。用h(hypothesis)表示我们的假设

h_{\theta}(x)=\theta_{0}+\theta_{1}x_{1}+\theta_{2}x_{2},这里的\theta_{i}为参数(权重),也可以理解为该特征对该假设的效用

简化后

h(x)=\sum _{0}^{n}\theta_{i}x_{i}=\theta^{T}x

右边的\theta和x都为向量,n表示输入变量的个数(不包括x_{0})

因为知道最终的结果y,所以我们可以定义一个函数,衡量不同的参数情况下,h_{\theta}(x^{(i)})y^{(i)}的距离,这样就可以定义一个成本函数(cost function)

J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^{2}

这个函数和常规最小二乘法拟合模型的最小二乘法成本函数非常相似。这个其实是更广泛的算法家族中的一个特例。

最小均方算法,因为从上面成本函数的本身来理解,其表示最终的估计值和真实值的误差程度。因为它是用来评估模型参数的好坏程度,所以我们拟合参数时是想得到使上面式子的值最小的一组参数。对于这个,我们可以考虑采用梯度下降法,这个方法就是从某一个\theta的初始值开,然后逐渐重复更新

\theta_{j}:=\theta_{j}-\alpha\frac{\partial }{\partial\theta_{j}}J(\theta)

(这里的“:=”表示的是计算机程序中的一种赋值操作,是把等号右边的计算结果赋值给左边的变量)

\theta_{j}为上一步的参数值\alpha\frac{\partial }{\partial\theta_{j}}J(\theta)表示每一步走的距离,其中\alpha代表学习率,表示梯度下降的快慢,如果过快的话会导致拟合不到最低点(因为相邻两步之间走的太远了),过慢的话会导致要走很久才会到达局部最低点,所以对该参数要选取合适的值,\alpha后面表示对J(\theta)求导数,表示的是J(\theta)变化最快的方向,即梯度。整个过程如下,我们先随机选取一个点,由图中可以看到。经过一侧一侧迭代,我们最终从山峰到达了谷底,也就是局部最低点。

懂了该算法的原理后,我们就着手来推导这个公式:

对单个训练样本,更新规则如下所示:

重复该过程直到收敛:

此时替代下降迭代结束,完成参数的选择。

梯度下降分为以下两类

批量梯度下降法要在运行第一步之前先对整个训练集进行扫描遍历,当训练集的规模 m 变得很大的时候,因此引起的性能开销就很不划算了;随机梯度下降法就没有这个问题,而是可以立即开始,对查询到的每个样本都进行运算。通常情况下,随机梯度下降法查找到足够接近最低值的 θ 的速度要比批量梯度下降法更快一些。(也要注意,也有可能会一直无法收敛到最小值,这时候 θ 会一直在 J(θ) 最小值附近震荡;不过通常情况下在最小值附近的这些值大多数其实也足够逼近了,足以满足精度要求

 

上面中的梯度下降法是一种找出 J 最小值的办法。其实还可以用法方程这种方法,这种方法寻找起来简单明了,而且不需要使用迭代算法,感兴趣的人可以去网上看相关的算法。

so cool!

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习Machine Learning)是一门研究如何使计算机具备自动学习能力的学科。它通过构建数学模型和算法,让计算机能够从已经有的数据中自动学习,并根据学习到的知识完成各种任务,而无需显式地编程指令。 机器学习的核心思想是从海量的数据中抽取出其中的模式和规律,并将这些模式和规律应用于新的数据。通过统计学和概率论的方法,机器学习能够学习到数据之间的相关性,对未知的数据进行预测和分类。 在实际应用中,机器学习可以应用在各个领域,例如自然语言处理、图像识别、推荐系统、医学诊断等。机器学习算法可以根据不同的问题和数据类型选择不同的方法,如决策树、支持向量机、神经网络等。 机器学习的研究可以分为监督学习、无监督学习和强化学习三大类。监督学习是指给机器提供已经标注好的数据,让机器根据这些数据进行学习,例如给机器看很多猫的图片,让机器学习如何识别猫。无监督学习是指让机器自己从无标签的数据中学习,尝试发现数据之间的相似性和规律。强化学习则是通过试错的方式,让机器通过与环境的交互学习最优的策略。 机器学习的发展离不开大数据的支持,只有在海量的数据中才能够发现更加精准的规律。同时,也需要强大计算能力的支持,以便能够处理和分析大规模的数据。 机器学习在如今信息爆炸的时代具有广泛的应用前景,将成为数据驱动决策和智能化技术的重要基础。同时,随着硬件技术的不断发展和优化,机器学习的效率和准确度也将不断提高,助力人类更好地应对各种复杂的问题和挑战。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值