【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手写数字识别

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

非监督学习


半监督学习

增强学习





相关推荐
万粉变现经纪人2 小时前
如何解决 pip install -r requirements.txt 私有索引未设为 trusted-host 导致拒绝 问题
开发语言·python·scrapy·flask·beautifulsoup·pandas·pip
qq_479875432 小时前
C++ std::Set<std::pair>
开发语言·c++
查士丁尼·绵3 小时前
笔试-九宫格三阶积幻方
python·九宫格·三阶积幻方
云知谷4 小时前
【C++基本功】C++适合做什么,哪些领域适合哪些领域不适合?
c语言·开发语言·c++·人工智能·团队开发
l1t5 小时前
DeepSeek辅助利用搬移底层xml实现快速编辑xlsx文件的python程序
xml·开发语言·python·xlsx
大飞记Python5 小时前
部门管理|“编辑部门”功能实现(Django5零基础Web平台)
前端·数据库·python·django
C_Liu_7 小时前
C++:list
开发语言·c++
my rainy days7 小时前
C++:友元
开发语言·c++·算法
小梁努力敲代码7 小时前
java数据结构--List的介绍
java·开发语言·数据结构
查士丁尼·绵7 小时前
笔试-羊狼过河
python