前言

imooc的机器学习一个最基本的介绍类课程,http://www.imooc.com/learn/717 ,不怎么涉及具体的算法或实现,只是讲了讲一些理论概念。

概述

机器学习:
利用计算机从历史数据中找到规律,并把这些规律用到对未来不确定场景的决策。

主体的不同:
计算机--机器学习。
人--数据分析。
数据分析是依靠人从历史数据中找到规,学习效果很大程度以来于人的经验与知识水平;
机器学习就是想要抛弃对人的依赖,靠机器来挖掘规律。

机器学习与统计学

  • 《概率论》《数据统计》是机器学习的基石
  • 传统的统计学,抽取一定量的样本然后 进行概率统计,然后得到结论 之后进行假设检验
  • 传统的统计学受运算能力的限制,所以是用抽样的方式;
  • 现在计算能力足够强,就不需要采用抽样的方式了。

典型应用

  • 关联规则:比如“啤酒和纸尿裤”——购物篮分析(其实是数据挖掘)
  • 聚类:比如用户群体细分
  • 朴素贝叶斯:垃圾邮件
  • 决策树:银行信贷风险识别
  • ctr预估:搜索引擎互联网广告
  • 协同过滤:推荐系统
  • 自然语言处理:情感分析、实体识别
  • 深度学习:图像识别

数据分析 vs 机器学习 的不同

数据的特点

①交易数据vs行为数据

  • 数据分析处理的是交易数据,机器学习处理的是行为数据。
  • 交易数据:存取款账单、用户订单、话费账单...与钱有关的数据。对数据一致性要求很高,应该放在关系型数据库中。
  • 行为数据:搜索历史、点击历史、浏览历史、评论...对数据一致性要求不是很高,放在NoSQL数据库中。

②少量数据vs海量数据
③采样分析vs全量分析

NoSQL:只能处理行为数据,不能处理交易数据。强调分布式、CAP,保证数据吞吐量的前提下,在数据的一致性上打折扣。

解决业务问题不同

  • 数据分析,报告历史上发生的事情。
  • 机器学习:通过历史上发生的事情,来预测未来的事情。

技术手段不同

  • 数据分析:分析方式是用户(数据分析师)驱动的,交互式分析。分析能力受限于数据分析师的能力,数据属性和维度很有限。
  • 机器学习:分析方式是数据驱动的,自动进行知识发现。数据属性和维度数量级很大。

参与者不同

  • 数据分析,分析师能力决定结果,目标用户是公司高层。
  • 机器学习,数据质量决定结果,目标用户是个体。

对常用算法的分类方式

  • 算法分类1:有监督学习 和 无监督学习
  • 算法分类2:分类与回归、聚类、标注
  • 算法分类3(重要,直指本质)
    生成模型:用来说明分类问题。返回的是属于各个类的概率。
    判别模型:用来说明分类问题。直接给一个函数,数据输入到函数中,直接返回类别。

机器学习解决问题的步骤

  1. 确定目标:
    由业务需求,确定要解决的问题,收集数据,对数据进行特征工程(对数据清洗、整合,特征工程很重要!),根据要解决的问题提取出一些特征。
  2. 训练模型(重点)
    定义模型;确定算法。
    定义损失函数;找出算法的偏差。
    优化算法;对算法进行优化。
  3. 模型评估
    交叉验证;将不同的算法带入同一类数据中,验证效果。
    效果评估;可以看出几个算法之间具体的差别、效果。

以一个图片根据颜色聚类问题为例,
首先明确要解决的问题——根据颜色聚类
收集到一些照片数据
进行特征工程:将图片转化成向量,这是非常重要的一步
然后用k-means聚类算法,完成模型训练
最后验证和评估。

初识机器学习——概念介绍(imooc笔记)的更多相关文章

  1. USB驱动程序之概念介绍学习笔记

    现象:把USB设备接到PC 1. 右下角弹出"发现android phone" 2. 跳出一个对话框,提示你安装驱动程序 问1. 既然还没有"驱动程序",为何能 ...

  2. 《AngularJS深度剖析与最佳实践》笔记: 第二章 概念介绍

    第二章 概念介绍 2.1 什么是UI? 用户界面包括内容(静态信息+动态信息), 外观, 交互. 在前端技术栈中分别由HTML, CSS和JS负责. 进一步抽象, 分别对应于MVC三个主要部分: Mo ...

  3. 【miscellaneous】 GStreamer应用开发手册学习笔记之基础概念介绍

    第3章. 基础概念介绍 本章将介绍GStreamer的基本概念. 理解这些概念对于你后续的学习非常重要,因为后续深入的讲解我们都假定你已经完全理解了这些概念. 3.1. 元件(Elements) 元件 ...

  4. 《机器学习实战》学习笔记第九章 —— 决策树之CART算法

    相关博文: <机器学习实战>学习笔记第三章 —— 决策树 主要内容: 一.CART算法简介 二.分类树 三.回归树 四.构建回归树 五.回归树的剪枝 六.模型树 七.树回归与标准回归的比较 ...

  5. (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem

    (转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...

  6. Java机器学习软件介绍

    Java机器学习软件介绍 编写程序是最好的学习机器学习的方法.你可以从头开始编写算法,但是如果你要取得更多的进展,建议你采用现有的开源库.在这篇文章中你会发现有关Java中机器学习的主要平台和开放源码 ...

  7. 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)

    集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...

  8. Linux LVM硬盘管理之一:概念介绍

    一.LVM概念介绍: LVM是 Logical Volume Manager(逻辑卷管理)的简写,它由Heinz Mauelshagen在Linux 2.4内核上实现.LVM将一个或多个硬盘的分区在逻 ...

  9. 初识Hadoop入门介绍

    初识hadoop入门介绍 Hadoop一直是我想学习的技术,正巧最近项目组要做电子商城,我就开始研究Hadoop,虽然最后鉴定Hadoop不适用我们的项目,但是我会继续研究下去,技多不压身. < ...

随机推荐

  1. HDU 1087 Super Jumping! Jumping! Jumping! ——(LIS变形)

    和之前那个长方体最大高度是换汤不换药的题目.每次找之前最大的一个能接的接上即可.代码如下: #include <stdio.h> #include <algorithm> #i ...

  2. Apache Flink - 命令

    $flink命令位置 命令 选项 jar包位置 \ --input 输入文件位置 --out 输出文件位置 ./bin/flink run ./examples/batch/WordCount.jar ...

  3. 表单事件集锦-input

    最近在写一个手机端提交表单的项目,里面用了不少input标签,因为项目不太忙,所以,想做的完美点,但是遇到了一些问题,比如:页面中的必填项如果有至少一项为空,提交按钮就是不能提交的状态,所以需要对所有 ...

  4. 【Linux】安装 PostgreSQL

    参考: CSDN1:https://blog.csdn.net/ctwy291314/article/details/79900074 1.进入 PostgreSQL 官网的下载地址, 2.选择下面的 ...

  5. kotlin之操作符重载

    一元操作符 表达式 对应的函数 +a a.unaryPlus() -a a.unaryMinus() !a a.not() a++ a.inc() a-- a.dec() fun main(arg: ...

  6. PCA人脸识别学习笔记---代码篇

    查看并改变当前的工作路径 path="D:\\python-file\\faker" os.chdir(path) retval=os.getcwd() print(retval) ...

  7. Bootstarp学习

    Bootstarp中文网 http://www.bootcss.com/ https://v2.bootcss.com/javascript.html

  8. JAVA 基础编程练习题28 【程序 28 排序算法】

    28 [程序 28 排序算法] 题目:对 10 个数进行排序 程序分析:可以利用选择法,即从后 9 个比较过程中,选择一个最小的与第一个元素交换, 下次类推,即 用第二个元素与后 8 个进行比较,并进 ...

  9. [C++]多源最短路径(带权有向图):【Floyd算法(动态规划法)】 VS n*Dijkstra算法(贪心算法)

    1 Floyd算法 1.1 解决问题/提出背景 多源最短路径(带权有向图中,求每一对顶点之间的最短路径) 方案一:弗洛伊德(Floyd算法)算法 算法思想:动态规划法 时间复杂度:O(n^3) 形式上 ...

  10. Swift加载Xib创建的Controller

    Xib显示如下: <注意箭头处即可> 按住Control键,点击Files'owner拖动到View即可. 加载该控制器如下: func registerClick() { let reg ...