什么是机器学习
机器学习是人工智能的一个分支。人工智能的研究是从以“推理”为重点到以“知识”为重点,再到以“学习”为重点,一条自然、清晰的脉络。机器学习是实现人工智能的一个途径,即以机器学习为手段解决人工智能中的问题。机器学习算法是一类从数据中自动分析获得规律(模型),并利用规律对未知数据进行预测的算法
为什么需要机器学习
21世纪机器学习又一次被人们关注,而这些关注的背后是因为整个环境的改变,我们的数据量越来越多,硬件越来越强悍。急需要解放人的生产力,自动去寻找数据的规律。解决更多专业领域的问题。机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人等领域.
开发机器学习应用程序的步骤
(1)收集数据
我们可以使用很多方法收集样本护具,如:制作网络爬虫从网站上抽取数据、从RSS反馈或者API中得到信息、设备发送过来的实测数据。
(2)准备输入数据
得到数据之后,还必须确保数据格式符合要求。
(3)分析输入数据
这一步的主要作用是确保数据集中没有垃圾数据。如果是使用信任的数据来源,那么可以直接跳过这个步骤
(4)训练算法
机器学习算法从这一步才真正开始学习。如果使用无监督学习算法,由于不存在目标变量值,故而也不需要训练算法,所有与算法相关的内容在第(5)步
(5)测试算法
这一步将实际使用第(4)步机器学习得到的知识信息。当然在这也需要评估结果的准确率,然后根据需要重新训练你的算法
(6)使用算法
转化为应用程序,执行实际任务。以检验上述步骤是否可以在实际环境中正常工作。如果碰到新的数据问题,同样需要重复执行上述的步骤
环境准备
我们本次机器学习的课程使用的python程序库:
Numpy、Scikit-learn
在ubuntu或者mac操作系统中,在虚拟环境中安装:
pip3 install Numpy
pip3 install Scikit-learn
Numpy是一个强大的高级数学运算的工具库,还具备非常搞笑的向量和矩阵运算功能。Scikit-learn是一个基于python的机器学习库,封装了大量经典以及最新的机器学习模型。
我们应该怎么做
互联网公司机器学习工作、数据挖掘工程师们工作内容是什么?
- 研究各种算法,设计高大上模型?
- 深度学习的应用,N层神经网络?
- ...
大部分复杂模型的算法精进都是数据科学家在做
大多数程序员
- 跑数据,各种map-reduce,hive SQL,数据仓库搬砖
- 数据清洗,数据清洗,数据清洗
- 分析业务,分析case,找特征
- 常用算法跑模型