前言

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. CF1214C

    CF1214C 题意: 给你一个括号序列,问你时候能仅移动相邻的两个元素,使括号序列合法. 解法: 可以先考虑普通括号序列怎么做 这道题只交换相邻的两个元素,所以如果中间左括号和右括号的差值大于2时, ...

  2. CF1208D

    CF1208D 题意: 给你一个数组,要求支持单点修改和单点查询 解法: 直接线段树搞一搞就没了. CODE: #include<iostream> #include<cstdio& ...

  3. Js 之将字符串当变量使用

    var page1 = 0; var p = "page1"; //修改值 window[p] += 1; var value = eval(p);

  4. JAVA基础知识|Socket

    一.什么是Socket? Socket本身并不是协议,是一套完成TCP.UDP协议的调用接口(API),通过socket我们才能使用TCP/IP协议(JAVA基础知识|TCP/IP协议).Socket ...

  5. js面向对象入门

    通常我们写js以及调用: function init(){ console.log("init") } function load(){ console.log("loa ...

  6. 在一串字符串中找到与正则表达式匹配的字符串?(例如:export_20170717_out.log 找到20170717)

    如题:提取字符串:export_20170717_out.log 对应的日期: package dodo; import java.util.regex.Matcher; import java.ut ...

  7. VScode优化记录

      主题:   One Dark Pro VS Code 官网页面 这是为 VS Code准备的 One Dark 主题,他是 Atom 标志性的主题.需要我说更多吗?我喜欢这个主题.     Mon ...

  8. cs6.8-oracle挂载ceph

    https://ceph-users.ceph.narkive.com/EgcYJhbG/hammer-0-94-1-still-getting-feature-set-mismatch-for-ce ...

  9. C++ STL partial_sort_copy greater

    #include <iostream>#include <deque>#include <algorithm>#include <vector>#inc ...

  10. 10 Flutter仿京东商城项目 商品分类跳转到商品列表传值 商品列表页面布局

    pages下面新建: ProductList.dart import 'package:flutter/material.dart'; import '../services/ScreenAdaper ...