【1】Python机器学习之基础概念

1、什么是机器学习

最早的机器学习应用------垃圾邮件分辨

传统的计算机解决问题思路:

  • 编写规则,定义"垃圾邮件",让计算机执行
  • 对于很多问题,规则很难定义
  • 规则不断变化

机器学习在图像识别领域的重要应用:

人脸识别:

机器学习算法:

深入理解算法基本原理

实际使用算法解决真实场景的问题

对不同算法进行对比试验

对同一算法的不同参数进行对比试验

对部分算法底层编写

介绍如何使用算法

  • 如何评价算法的好坏
  • 如何解决过拟合和欠拟合
  • 如何调节算法的参数
  • 如何验证算法的正确性

Python机器学习技术栈

语言:Python3

框架:Scikit-learn

其他:numpy、matplotlib,...

IDE:Jupyter Notebook、Pycharm

1、数据

莺尾花数据集

https://en.wikipedia.org/wiki/Iris_flower_data_set

关于特征信息的描述定义:

2.1、数据集、样本、特征、label

行数即代表样本个数,列数即代表每个样本的特征数

最后一列 label 用表示小写 y 表示

  • 数据整体叫做数据集(data set)
  • 每一行数据称为一个样本(sample)
  • 除了最后一列, 每一列表达样本的一个特征(feature)
  • 最后一列,称为标记(label)
  • 通常大写字母表示矩阵,小写字母表示向量,如上X、y

通常大写字母表示矩阵,小写字母表示向量,如上X、y

  • 特征空间(feature space)
  • 分类任务本质就是在特征空间切分
  • 在高纬空间同理

特征

特征可以很具体,也可以很抽象

  • 图像,每个像素点都是特征
  • 28 * 28 的图像有 28 * 28 = 784 个特征
  • 如果是彩色图像特征更多

机器学习的基本任务

机器学习(监督学习)分为两类任务:

  1. 分类
  2. 回归

分类任务

二分类(猫、狗)

  • 判断邮件是垃圾邮件、不是垃圾邮件 ;
  • 判断发放给客户信用卡有风险、没有风险 ;
  • 判断病患良性肿瘤、恶性肿瘤 ;
  • 判断某支股票涨、跌

多分类(手写数字识别)

  • 数字识别
  • 图像识别
  • 数字识别
  • 判断发给客户信用卡的风险等级评估
  • **数字识别(MNIST数据集):

多标签分类

综合图片中有女人、网球拍、运动短裤等等推测出这是一个女网球运动员。

二分类 VS 多分类

  • 一些算法只支持完成二分类的任务
  • 但是多分类的任务可以转换成二分类的任务
  • 有一些算天然可以完成多分类任务

回归任务

回归任务定义

对于上图表数据中,有四个特征,但是最后一列的标签列不是一个类别,是一个连续的数字,这类任务叫回归任务。

回归任务:结果是一个连续数字的值,而非一个类别

  1. 房屋价格
  2. 市场分析
  3. 学生成绩

分类任务 VS 回归任务

  • 有一些算法只能解决回归问题
  • 有一些算法只能解决分类问题
  • 有一些算法的思路既可以解决回归问题,又可以解决分类问题
  • 一些情况下,回归任务可以简化为分类任务

机器学习方法的分类(算法角度)

  • 监督学习
  • 非监督学习
  • 半监督学习
  • 增强学习

监督学习

给机器的训练数据拥有"标记"、"答案"

如猫狗分类、MNIST手写数字识别

  • 图像已经拥有了标定的信息
  • 银行已经积累了一定的客户信息和他们信用卡的信用情况
  • 市场积累了房屋的基本信息和最终成交的金额
  • ...
    监督学习算法主要包括以下:

非监督学习


半监督学习

增强学习





相关推荐
LyaJpunov1 分钟前
C++中move和forword的区别
开发语言·c++
程序猿练习生6 分钟前
C++速通LeetCode中等第9题-合并区间
开发语言·c++·leetcode
一名路过的小码农16 分钟前
C/C++动态库函数导出 windows
c语言·开发语言·c++
y_dd18 分钟前
【machine learning-12-多元线性回归】
算法·机器学习·线性回归
m0_6312704018 分钟前
标准c语言(一)
c语言·开发语言·算法
万河归海42818 分钟前
C语言——二分法搜索数组中特定元素并返回下标
c语言·开发语言·数据结构·经验分享·笔记·算法·visualstudio
Messiah___24 分钟前
【论文阅读】Slim Fly: A Cost Effective Low-Diameter Network Topology 一种经济高效的小直径网络拓扑
开发语言·php
小魏冬琅39 分钟前
K-means 算法的介绍与应用
算法·机器学习·kmeans
aWty_39 分钟前
机器学习--K-Means
人工智能·机器学习·kmeans
农民小飞侠1 小时前
python AutoGen接入开源模型xLAM-7b-fc-r,测试function calling的功能
开发语言·python