从房价预测案例窥探机器学习

从房价预测案例窥探机器学习

一、房价预测案例
1、要解决的问题和目标

要解决的问题:输入一个房子的各种数据(面积、结构、附近交通情况等),然后希望得到一个预测的房价。(注意解决的问题不是预测房价是涨还是跌,而是房价)
目标:尽可能的预测准(具体的会是一个数值,这是所有机器学习的目标)

2、房价和什么因素有关系

一个现实中的房子,左右其房价的因素可能有很多,例如房子的面积、结构、朝向、附近有无地铁、超市、医院等等。本例中简化因素,假定房价的变化只与房子面积相关

3、现有的数据(样本)

想要预测房价,我们需要找到以前的房价,从以前的房价中找到规律,这样才能预测下一个房价。在这个案例中,假定已经有了相关数据,如下:
(数据是瞎编的,只是示例)

房间面积(m²)总房价(W)
8686
90100
7570
130150
4、模型如下:

模型
整个模型从左往右看,是在拿到一个X(房子面积)后,通过假设函数( hypothesis)计算后,得到预计的房子的价格。

那么怎么得到这个假设函数呢。从模型从上往下看,就是从训练样本中找到合适的学习算法,最后得到h,即假设函数。

5、假定一个学习算法

这个时候我们可以大胆的假设,这个算法是一个线性算法。假设算法的写法是hθ(x(i))=θ0+θ1x(i)。
TIM截图20171228140054
X轴表示房子面积,Y是房价。坐标轴中的叉,表示样本的数据,而蓝色的线条就是我们的假设函数。

6、调整假设函数,找到替代函数

我们的假设函数中θ0和θ1还只是一个符号,并不是具体的数字。可是我们要怎么找到最合适的θ0和θ1呢?

从图上我们可以发现,其实只要各个样本与假设函数在坐标轴上距离和最小,即可以视作比较好的拟合了。

那么从假设函数开始到现在,我们的目标就变成了:


注意在代替函数中,距离的计算上是平方的(还有一种方案是取绝对值),m代表的是样子的大小,即样本的个数。
代替函数在坐标轴中:

在求解代替函数过程中使用了梯度下降算法,其中有一个learning rate的概念,涉及到局部最优解和全局最优解,有兴趣的同学可以深入了解。图中左边红色箭头是全局最优解,右边红色箭头是局部最优解。

7、大功告成

找到替代函数最小的点,它的坐标(θ0,θ1)就可以给假设函数使用了。现在已经找到了合适的假设函数,输入一个新的房子面积,就可以给出一个机器学习后的预测房价了。

二、窥探机器学习

以下的窥探机器学习,其实更多是个人的感受与观点,以及在上述示例中固定的一些前提的回味,希望大家可以讨论与修正。

1、房价与什么相关?

在上面的例子中,房价只与面积有关,但在真实环境下究竟和什么因素有关,或者还和其他什么因素有关系。可能从一个软件开发者的角度上,并不清楚。其实,这个时候需要的是相关行业的专家来给出答案,只有了解这个行业这个事物的人,才最清楚这个事物的本质是什么,什么会影响最终走向。

2、样本数据只需要几个?

当然不会,从某些较官方的建议来看,少于50个样本的时候基本是不用考虑机器学习的,数据太少了。从我们的个人认知来看也可以得出同样的结果,只要更多的去预测、不断的纠正才可能更加准确。

3、数据从什么地方来,什么方式,什么格式

这往往是在机器学习中容易忽略的,因为大多的示例都已经提前准备好了离线数据。但是在真实的环境里,可能面临的情况就会更加复杂。比如,现在的数据是实时的,例如日志信息,数据可能是文本的、excel、xml,可能数据中有些数据是错误的,例如描述一个人的身高数据是3米。这中间就涉及到了数据的清洗准备等工作。

4、为什么这个算法就是一个线性方程?

这中间其实省略了一个步骤,我们需要拿不同的学习算法去简单的试一试,看看哪个效果更好,在效果较好的基础上,再进行调参调优的操作。这中间涉及到了机器学习的十大算法,当然不可能把所有的算法都试一遍,特定的算法往往对解决某些特定的问题比较擅长,但是这个映射关系需要大家经验积累。

写在最后

想要真正学习掌握机器学习,可能在各个方面都对我们提出了挑战,数理基础、语言、算法、大数据,甚至是工程开发的组织上。但是大家可以一起携手抱团学习,也欢迎大家讨论指正文章的错误。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值