learn.lianglianglee.com/专栏/左耳听风/086 程序员练级攻略(2018):机器学习和人工智能.md.html
2022-05-11 19:04:14 +08:00

1221 lines
54 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<!-- saved from url=(0046)https://kaiiiz.github.io/hexo-theme-book-demo/ -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.0, user-scalable=no">
<link rel="icon" href="/static/favicon.png">
<title>086 程序员练级攻略2018机器学习和人工智能.md.html</title>
<!-- Spectre.css framework -->
<link rel="stylesheet" href="/static/index.css">
<!-- theme css & js -->
<meta name="generator" content="Hexo 4.2.0">
</head>
<body>
<div class="book-container">
<div class="book-sidebar">
<div class="book-brand">
<a href="/">
<img src="/static/favicon.png">
<span>技术文章摘抄</span>
</a>
</div>
<div class="book-menu uncollapsible">
<ul class="uncollapsible">
<li><a href="/" class="current-tab">首页</a></li>
</ul>
<ul class="uncollapsible">
<li><a href="../">上一级</a></li>
</ul>
<ul class="uncollapsible">
<li>
<a href="/专栏/左耳听风/000 开篇词 洞悉技术的本质,享受科技的乐趣.md.html">000 开篇词 洞悉技术的本质,享受科技的乐趣.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/001 程序员如何用技术变现(上).md.html">001 程序员如何用技术变现(上).md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/002 程序员如何用技术变现(下).md.html">002 程序员如何用技术变现(下).md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/003 Equifax信息泄露始末.md.html">003 Equifax信息泄露始末.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/004 从Equifax信息泄露看数据安全.md.html">004 从Equifax信息泄露看数据安全.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/005 何为技术领导力.md.html">005 何为技术领导力.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/006 如何拥有技术领导力.md.html">006 如何拥有技术领导力.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/007 推荐阅读:每个程序员都该知道的事.md.html">007 推荐阅读:每个程序员都该知道的事.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/008 Go语言Docker和新技术.md.html">008 Go语言Docker和新技术.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/009 答疑解惑:渴望、热情和选择.md.html">009 答疑解惑:渴望、热情和选择.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/010 如何成为一个大家愿意追随的Leader.md.html">010 如何成为一个大家愿意追随的Leader.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/011 程序中的错误处理:错误返回码和异常捕捉.md.html">011 程序中的错误处理:错误返回码和异常捕捉.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/012 程序中的错误处理:异步编程和最佳实践.md.html">012 程序中的错误处理:异步编程和最佳实践.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/013 魔数 0x5f3759df.md.html">013 魔数 0x5f3759df.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/014 推荐阅读机器学习101.md.html">014 推荐阅读机器学习101.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/015 时间管理:同扭曲时间的事儿抗争.md.html">015 时间管理:同扭曲时间的事儿抗争.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/016 时间管理:投资赚取时间.md.html">016 时间管理:投资赚取时间.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/017 故障处理最佳实践:应对故障.md.html">017 故障处理最佳实践:应对故障.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/018 故障处理最佳实践:故障改进.md.html">018 故障处理最佳实践:故障改进.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/019 答疑解惑:我们应该能够识别的表象和本质.md.html">019 答疑解惑:我们应该能够识别的表象和本质.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/020 分布式系统架构的冰与火.md.html">020 分布式系统架构的冰与火.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/021 从亚马逊的实践,谈分布式系统的难点.md.html">021 从亚马逊的实践,谈分布式系统的难点.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/022 分布式系统的技术栈.md.html">022 分布式系统的技术栈.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/023 分布式系统关键技术:全栈监控.md.html">023 分布式系统关键技术:全栈监控.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/024 分布式系统关键技术:服务调度.md.html">024 分布式系统关键技术:服务调度.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/025 分布式系统关键技术:流量与数据调度.md.html">025 分布式系统关键技术:流量与数据调度.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/026 洞悉PaaS平台的本质.md.html">026 洞悉PaaS平台的本质.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/027 推荐阅读:分布式系统架构经典资料.md.html">027 推荐阅读:分布式系统架构经典资料.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/028 编程范式游记1- 起源.md.html">028 编程范式游记1- 起源.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/029 编程范式游记2- 泛型编程.md.html">029 编程范式游记2- 泛型编程.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/030 编程范式游记3 - 类型系统和泛型的本质.md.html">030 编程范式游记3 - 类型系统和泛型的本质.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/031 Git协同工作流你该怎样选.md.html">031 Git协同工作流你该怎样选.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/032 推荐阅读:分布式数据调度相关论文.md.html">032 推荐阅读:分布式数据调度相关论文.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/033 编程范式游记4- 函数式编程.md.html">033 编程范式游记4- 函数式编程.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/034 编程范式游记5- 修饰器模式.md.html">034 编程范式游记5- 修饰器模式.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/035 编程范式游记6- 面向对象编程.md.html">035 编程范式游记6- 面向对象编程.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/036 编程范式游记7- 基于原型的编程范式.md.html">036 编程范式游记7- 基于原型的编程范式.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/037 编程范式游记8- Go 语言的委托模式.md.html">037 编程范式游记8- Go 语言的委托模式.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/038 编程范式游记9- 编程的本质.md.html">038 编程范式游记9- 编程的本质.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/039 编程范式游记10- 逻辑编程范式.md.html">039 编程范式游记10- 逻辑编程范式.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/040 编程范式游记11- 程序世界里的编程范式.md.html">040 编程范式游记11- 程序世界里的编程范式.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/041 弹力设计篇之“认识故障和弹力设计”.md.html">041 弹力设计篇之“认识故障和弹力设计”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/042 弹力设计篇之“隔离设计”.md.html">042 弹力设计篇之“隔离设计”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/043 弹力设计篇之“异步通讯设计”.md.html">043 弹力设计篇之“异步通讯设计”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/044 弹力设计篇之“幂等性设计”.md.html">044 弹力设计篇之“幂等性设计”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/045 弹力设计篇之“服务的状态”.md.html">045 弹力设计篇之“服务的状态”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/046 弹力设计篇之“补偿事务”.md.html">046 弹力设计篇之“补偿事务”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/047 弹力设计篇之“重试设计”.md.html">047 弹力设计篇之“重试设计”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/048 弹力设计篇之“熔断设计”.md.html">048 弹力设计篇之“熔断设计”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/049 弹力设计篇之“限流设计”.md.html">049 弹力设计篇之“限流设计”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/050 弹力设计篇之“降级设计”.md.html">050 弹力设计篇之“降级设计”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/051 弹力设计篇之“弹力设计总结”.md.html">051 弹力设计篇之“弹力设计总结”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/052 区块链技术 - 区块链的革命性及技术概要.md.html">052 区块链技术 - 区块链的革命性及技术概要.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/053 区块链技术 - 区块链技术细节 - 哈希算法.md.html">053 区块链技术 - 区块链技术细节 - 哈希算法.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/054 区块链技术 - 区块链技术细节 - 加密和挖矿.md.html">054 区块链技术 - 区块链技术细节 - 加密和挖矿.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/055 区块链技术 - 去中心化的共识机制.md.html">055 区块链技术 - 去中心化的共识机制.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/056 区块链技术 - 智能合约.md.html">056 区块链技术 - 智能合约.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/057 区块链技术 - 传统金融和虚拟货币.md.html">057 区块链技术 - 传统金融和虚拟货币.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/058 管理设计篇之分布式锁.md.html">058 管理设计篇之分布式锁.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/059 管理设计篇之配置中心.md.html">059 管理设计篇之配置中心.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/060 管理设计篇之边车模式.md.html">060 管理设计篇之边车模式.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/061 管理设计篇之服务网格.md.html">061 管理设计篇之服务网格.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/062 管理设计篇之网关模式.md.html">062 管理设计篇之网关模式.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/063 管理设计篇之部署升级策略.md.html">063 管理设计篇之部署升级策略.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/064 性能设计篇之缓存.md.html">064 性能设计篇之缓存.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/065 性能设计篇之异步处理.md.html">065 性能设计篇之异步处理.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/066 性能设计篇之数据库扩展.md.html">066 性能设计篇之数据库扩展.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/067 性能设计篇之秒杀.md.html">067 性能设计篇之秒杀.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/068 性能设计篇之边缘计算.md.html">068 性能设计篇之边缘计算.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/069 程序员练级攻略2018开篇词.md.html">069 程序员练级攻略2018开篇词.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/070 程序员练级攻略2018零基础启蒙.md.html">070 程序员练级攻略2018零基础启蒙.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/071 程序员练级攻略2018正式入门.md.html">071 程序员练级攻略2018正式入门.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/072 程序员练级攻略2018程序员修养.md.html">072 程序员练级攻略2018程序员修养.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/073 程序员练级攻略2018编程语言.md.html">073 程序员练级攻略2018编程语言.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/074 程序员练级攻略:理论学科.md.html">074 程序员练级攻略:理论学科.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/075 程序员练级攻略2018系统知识.md.html">075 程序员练级攻略2018系统知识.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/076 程序员练级攻略2018软件设计.md.html">076 程序员练级攻略2018软件设计.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/077 程序员练级攻略2018Linux系统、内存和网络.md.html">077 程序员练级攻略2018Linux系统、内存和网络.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/078 程序员练级攻略2018异步IO模型和Lock-Free编程.md.html">078 程序员练级攻略2018异步IO模型和Lock-Free编程.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/079 程序员练级攻略2018Java底层知识.md.html">079 程序员练级攻略2018Java底层知识.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/080 程序员练级攻略2018数据库.md.html">080 程序员练级攻略2018数据库.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/081 程序员练级攻略2018分布式架构入门.md.html">081 程序员练级攻略2018分布式架构入门.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/082 程序员练级攻略2018分布式架构经典图书和论文.md.html">082 程序员练级攻略2018分布式架构经典图书和论文.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/083 程序员练级攻略2018分布式架构工程设计.md.html">083 程序员练级攻略2018分布式架构工程设计.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/084 程序员练级攻略2018微服务.md.html">084 程序员练级攻略2018微服务.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/085 程序员练级攻略2018容器化和自动化运维.md.html">085 程序员练级攻略2018容器化和自动化运维.md.html</a>
</li>
<li>
<a class="current-tab" href="/专栏/左耳听风/086 程序员练级攻略2018机器学习和人工智能.md.html">086 程序员练级攻略2018机器学习和人工智能.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/087 程序员练级攻略2018前端基础和底层原理.md.html">087 程序员练级攻略2018前端基础和底层原理.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/088 程序员练级攻略2018前端性能优化和框架.md.html">088 程序员练级攻略2018前端性能优化和框架.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/089 程序员练级攻略2018UIUX设计.md.html">089 程序员练级攻略2018UIUX设计.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/090 程序员练级攻略2018技术资源集散地.md.html">090 程序员练级攻略2018技术资源集散地.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/091 程序员面试攻略:面试前的准备.md.html">091 程序员面试攻略:面试前的准备.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/092 程序员面试攻略:面试中的技巧.md.html">092 程序员面试攻略:面试中的技巧.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/093 程序员面试攻略:面试风格.md.html">093 程序员面试攻略:面试风格.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/094 程序员面试攻略:实力才是王中王.md.html">094 程序员面试攻略:实力才是王中王.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/095 高效学习:端正学习态度.md.html">095 高效学习:端正学习态度.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/096 高效学习:源头、原理和知识地图.md.html">096 高效学习:源头、原理和知识地图.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/097 高效学习:深度,归纳和坚持实践.md.html">097 高效学习:深度,归纳和坚持实践.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/098 高效学习:如何学习和阅读代码.md.html">098 高效学习:如何学习和阅读代码.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/099 高效学习:面对枯燥和量大的知识.md.html">099 高效学习:面对枯燥和量大的知识.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/100 高效沟通Talk和Code同等重要.md.html">100 高效沟通Talk和Code同等重要.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/101 高效沟通:沟通阻碍和应对方法.md.html">101 高效沟通:沟通阻碍和应对方法.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/102 高效沟通:沟通方式及技巧.md.html">102 高效沟通:沟通方式及技巧.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/103 高效沟通:沟通技术.md.html">103 高效沟通:沟通技术.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/104 高效沟通:好老板要善于提问.md.html">104 高效沟通:好老板要善于提问.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/105 高效沟通:好好说话的艺术.md.html">105 高效沟通:好好说话的艺术.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/106 加餐 谈谈我的“三观”.md.html">106 加餐 谈谈我的“三观”.md.html</a>
</li>
<li>
<a href="/专栏/左耳听风/107 结束语 业精于勤,行成于思.md.html">107 结束语 业精于勤,行成于思.md.html</a>
</li>
</ul>
</div>
</div>
<div class="sidebar-toggle" onclick="sidebar_toggle()" onmouseover="add_inner()" onmouseleave="remove_inner()">
<div class="sidebar-toggle-inner"></div>
</div>
<script>
function add_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.add('show')
}
function remove_inner() {
let inner = document.querySelector('.sidebar-toggle-inner')
inner.classList.remove('show')
}
function sidebar_toggle() {
let sidebar_toggle = document.querySelector('.sidebar-toggle')
let sidebar = document.querySelector('.book-sidebar')
let content = document.querySelector('.off-canvas-content')
if (sidebar_toggle.classList.contains('extend')) { // show
sidebar_toggle.classList.remove('extend')
sidebar.classList.remove('hide')
content.classList.remove('extend')
} else { // hide
sidebar_toggle.classList.add('extend')
sidebar.classList.add('hide')
content.classList.add('extend')
}
}
function open_sidebar() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.add('show')
overlay.classList.add('show')
}
function hide_canvas() {
let sidebar = document.querySelector('.book-sidebar')
let overlay = document.querySelector('.off-canvas-overlay')
sidebar.classList.remove('show')
overlay.classList.remove('show')
}
</script>
<div class="off-canvas-content">
<div class="columns">
<div class="column col-12 col-lg-12">
<div class="book-navbar">
<!-- For Responsive Layout -->
<header class="navbar">
<section class="navbar-section">
<a onclick="open_sidebar()">
<i class="icon icon-menu"></i>
</a>
</section>
</header>
</div>
<div class="book-content" style="max-width: 960px; margin: 0 auto;
overflow-x: auto;
overflow-y: hidden;">
<div class="book-post">
<p id="tip" align="center"></p>
<div><h1>086 程序员练级攻略2018机器学习和人工智能</h1>
<p>我之前写过一篇机器学习的入门文章,因为我也是在入门和在学习的人,所以,那篇文章和这篇机器学习和人工智能方向的文章可能都会有点太肤浅。如果你有更好的学习方式或资料,欢迎补充。</p>
<h1>基本原理简介</h1>
<p>我们先来介绍一下机器学习的基本原理。</p>
<p>机器学习主要有两种方式一种是监督式学习Supervised Learning另一种是非监督式学习Unsupervised Learning。下面简单地说一下这两者的不同。</p>
<ul>
<li>
<p><strong>监督式学习Supervised Learning</strong>。所谓监督式学习,也就是说,我们需要提供一组学习样本,包括相关的特征数据和相应的标签。我们的程序可以通过这组样本来学习相关的规律或是模式,然后通过得到的规律或模式来判断没有被打过标签的数据是什么样的数据。</p>
<p>举个例子,假设需要识别一些手写的数字,我们要找到尽可能多的手写体的数字的图像样本,然后人工或是通过某种算法来明确地标注上什么是这些手写体的图片,谁是 1谁是 2谁是 3…… 这组数据叫样本数据又叫训练数据training data。然后通过机器学习的算法找到每个数字在不同手写体下的特征找到规律和模式。通过得到的规律或模式来识别那些没有被打过标签的手写数据以此完成识别手写体数字的目的。</p>
</li>
<li>
<p><strong>非监督式学习Unsupervised Learning</strong>。对于非监督式学习,也就是说,数据是没有被标注过的,所以相关的机器学习算法需要找到这些数据中的共性。因为大量的数据是没被被标识过的,所以这种学习方式可以让大量的未标识的数据能够更有价值。而且,非监督式学习,可以为我们找到人类很难发现的数据里的规律或模型,所以也有人称这种学习为 &quot; 特征点学习 &quot;,其可以让我们自动地为数据进行分类,并找到分类的模型。</p>
<p>一般来说,非监督式学习会应用在一些交易型的数据中。比如,你有一堆堆的用户购买数据,但是对于人类来说,我们很难找到用户属性和购买商品类型之间的关系。所以,非监督式学习算法可以帮助我们找到它们之间的关系。比如,一个在某个年龄段的女性购买了某种肥皂,有可能说明这个女性在怀孕期,或是某人购买儿童用品,有可能说明这个人的关系链中有孩子,等等。于是,这些信息会被用作一些所谓的精准市场营销活动,从而可以增加商品销量。</p>
</li>
</ul>
<p>我们这么来说吧,监督式学习是在被告诉过了正确的答案后的学习,而非监督式学习是在没有被告诉正确答案时的学习。所以,非监督式学习是在大量的非常乱的数据中找寻一些潜在的关系,这个成本也比较高。非监督式学习经常被用来检测一些不正常的事情发生,比如信用卡的诈骗或是盗刷。也被用在推荐系统,比如买了这个商品的人又买了别的什么商品,或是如果某个人喜欢某篇文章、某个音乐、某个餐馆,那么他可能会喜欢某个车、某个明星或某个地方。</p>
<p>在监督式学习算法下,我们可以用一组 &quot;&quot; 的照片来确定某个照片中的物体是不是狗。而在非监督式学习算法下,我们可以通过一个照片来找到其中有与其相似的事物的照片。这两种学习方式都有些有用的场景。</p>
<p>关于机器学习,你可以读一读 <a href="https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471">Machine Learning is Fun!</a> ,这篇文章(<a href="https://zhuanlan.zhihu.com/p/24339995">中文翻译版</a>)恐怕是全世界最简单的入门资料了。</p>
<ul>
<li><a href="https://becominghuman.ai/data-science-simplified-principles-and-process-b06304d63308">Data Science Simplified Part 1: Principles and Process</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-key-concepts-of-statistical-learning-45648049709e">Data Science Simplified Part 2: Key Concepts of Statistical Learning</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-hypothesis-testing-56e180ef2f71">Data Science Simplified Part 3: Hypothesis Testing</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-simple-linear-regression-models-3a97811a6a3d">Data Science Simplified Part 4: Simple Linear Regression Models</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-part-5-multivariate-regression-models-7684b0489015">Data Science Simplified Part 5: Multivariate Regression Models</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-part-6-model-selection-methods-2511cbdf7cb0">Data Science Simplified Part 6: Model Selection Methods</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-part-7-log-log-regression-models-499ecd1495f0">Data Science Simplified Part 7: Log-Log Regression Models</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-part-8-qualitative-variables-in-regression-models-d1817d56245c">Data Science Simplified Part 8: Qualitative Variables in Regression Models</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-part-9-interactions-and-limitations-of-regression-models-4702dff03820">Data Science Simplified Part 9: Interactions and Limitations of Regression Models</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-part-10-an-introduction-to-classification-models-82490f6c171f">Data Science Simplified Part 10: An Introduction to Classification Models</a></li>
<li><a href="https://towardsdatascience.com/data-science-simplified-part-11-logistic-regression-5ae8d994bf0e">Data Science Simplified Part 11: Logistic Regression</a></li>
</ul>
<h1>相关课程</h1>
<p>接下来,我们需要比较专业地学习一下机器学习了。</p>
<p>在学习机器学习之前,我们需要学习数据分析,所以,我们得先学一些大数据相关的东西,也就是 Data Science 相关的内容。下面是两个不错的和数据科学相关的教程以及一个资源列表。</p>
<ul>
<li><a href="http://data8.org/">UC Berkeleys Data 8: The Foundations of Data Science</a> 和电子书 <a href="https://www.inferentialthinking.com/">Computational and Inferential Thinking</a> 会讲述数据科学方面非常关键的概念,会教会你在数据中找到数据的关联、预测和相关的推断。</li>
<li><a href="https://github.com/nborwankar/LearnDataScience">Learn Data Science</a> ,这是 GitHub 上的一本电子书主要是一些数据挖掘的算法比如线性回归、逻辑回归、随机森林、K-Means 聚类的数据分析。然后,<a href="https://github.com/donnemartin/data-science-ipython-notebooks#scikit-learn">donnemartin/data-science-ipython-notebooks</a> 这个代码仓库中用 TensorFlow、scikit-learn、Pandas、NumPy、Spark 等把这些经典的例子实现了个遍。</li>
<li><a href="https://www.datascienceweekly.org/data-science-resources/the-big-list-of-data-science-resources">Data Science Resources List</a> ,这个网站上有一个非常长的和数据科学相关的资源列表,你可以从中得到很多你想要的东西。</li>
</ul>
<p>之后,有下面几门不错的在线机器学习的课程供你入门,也是非常不错。</p>
<ul>
<li>吴恩达教授Andrew Ng<a href="https://www.coursera.org/learn/machine-learning">Coursera 上的免费机器学习课程</a> 非常棒。我强烈建议从此入手。对于任何拥有计算机或科学学位的人,或是还能记住一点点数学知识的人来说,都应该非常容易入门。这个斯坦福大学的课程请尽量拿满分。可以在 <a href="http://open.163.com/special/opencourse/machinelearning.html">网易公开课</a> 中找到这一课程。除此之外,吴恩达教授还有一组新的和深度学习相关的课程,现在可以在网易公开课上免费学习——<a href="https://mooc.study.163.com/smartSpec/detail/1001319001.htm">Deep Learning Specialization</a></li>
<li><a href="https://www.udacity.com/course/deep-learning--ud730">Deep Learning by Google</a> Google 的一个关于深度学习的在线免费课程,其支持中英文。这门课会教授你如何训练和优化基本神经网络、卷积神经网络和长短期记忆网络。你将通过项目和任务接触完整的机器学习系统 TensorFlow。</li>
<li>卡内基梅隆大学汤姆·米切尔Tom Mitchell的机器学习 <a href="https://www.cs.cmu.edu/~tom/10701_sp11/lectures.shtml">英文原版视频与课件 PDF</a></li>
<li>2013 年加利福尼亚理工学院亚瑟·阿布 - 穆斯塔法Yaser Abu-Mostafa的 Learning from Data <a href="http://work.caltech.edu/lectures.html">课程视频及课件 PDF</a>,内容更适合进阶。</li>
<li>关于神经网络方面YouTube 上有一个非常火的课程视频由宾夕法尼亚大学的雨果·拉罗歇尔Hugo Larochelle的教学课程 - <a href="https://www.youtube.com/playlist?list=PL6Xpj9I5qXYEcOhn7TqghAJ6NAPrNmUBH">Neural networks class - Université de Sherbrooke </a></li>
</ul>
<p>除此之外,还有很多的在线大学课程你可以学习。比如:</p>
<ul>
<li>斯坦福大学的《<a href="https://lagunita.stanford.edu/courses/HumanitiesandScience/StatLearning/Winter2015/about">统计学学习</a>》、《<a href="http://cs229.stanford.edu/">机器学习</a>》、《<a href="http://cs231n.stanford.edu/">卷积神经网络</a>》、《<a href="http://cs224d.stanford.edu/">深度学习之自然语言处理</a>》等。</li>
<li>麻省理工大学的《<a href="http://ocw.mit.edu/courses/brain-and-cognitive-sciences/9-641j-introduction-to-neural-networks-spring-2005/index.htm">神经网络介绍</a> 》、《<a href="http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-867-machine-learning-fall-2006/">机器学习</a>》、《<a href="http://ocw.mit.edu/courses/sloan-school-of-management/15-097-prediction-machine-learning-and-statistics-spring-2012/index.htm">预测</a>》等。</li>
</ul>
<p>更多的列表,请参看——<a href="https://github.com/RatulGhosh/awesome-machine-learning">Awesome Machine Learning Courses</a></p>
<h1>相关图书</h1>
<ul>
<li>
<p><a href="https://book.douban.com/subject/2061116/">Pattern Recognition and Machine Learning</a>这本书是机器学习领域的圣经之作。该书也是众多高校机器学习研究生课程的教科书Google 上有[PDF 版的下载](http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop - Pattern Recognition And Machine Learning - Springer 2006.pdf)。这本书很经典但并不适合入门来看。GitHub 上有这本中的 <a href="https://github.com/PRML/PRMLT">Matlab 实现</a></p>
</li>
<li>
<p>下面这两本电子书也是比较经典的,其中讲了很多机器学习的知识,可以当做手册或字典。</p>
<ul>
<li><a href="https://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/understanding-machine-learning-theory-algorithms.pdf">Understanding Machine Learning: From Theory to Algorithms</a>》。</li>
<li><a href="https://web.stanford.edu/~hastie/Papers/ESLII.pdf">The Elements of Statistical Learning - Second Edition</a>》。</li>
</ul>
</li>
<li>
<p><a href="https://book.douban.com/subject/27087503/">Deep Learning: Adaptive Computation and Machine Learning series</a>》 中文翻译为《深度学习》,又叫 &quot; 花书 &quot;。这本书由全球知名的三位专家伊恩·古德费洛Ian Goodfellow、友华·本吉奥Yoshua Bengio和亚伦·考维尔Aaron Courville撰写是深度学习领域奠基性的经典教材。</p>
<p>全书内容包括 3 部分:第 1 部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第 2 部分系统深入地讲解现今已成熟的深度学习方法和技术;第 3 部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。这本书的官网为 “<a href="http://www.deeplearningbook.org/">deeplearningbook.org</a>”,在 GitHub 上也有中文翻译 - 《<a href="https://github.com/exacity/deeplearningbook-chinese">Deep Learning 中文翻译</a>》。</p>
</li>
<li>
<p><a href="http://neuralnetworksanddeeplearning.com/">Neural Networks and Deep Learning</a>》(<a href="https://tigerneil.gitbooks.io/neural-networks-and-deep-learning-zh/content/">中文翻译版</a>),这是一本非常不错的神经网络的入门书,在<a href="https://book.douban.com/subject/26727997/">豆瓣上评分 9.5 分</a>,从理论讲到了代码。虽然有很多数学公式,但是有代码相助,就不难理解了。其中讲了很多如激活函数、代价函数、随机梯度下降、反向传播、过度拟合和规范化、权重初始化、超参数优化、卷积网络的局部感受野、混合层、特征映射的东西。</p>
</li>
<li>
<p><a href="https://book.douban.com/subject/26279609/">Introduction to Machine Learning with Python</a>》,算是本不错的入门书,也是本比较易读的英文书。其是以 Scikit-Learn 框架来讲述的。如果你用过 Scikit 这个框架,那么你学这本书还是很不错的。</p>
</li>
<li>
<p><a href="https://book.douban.com/subject/26840215/">Hands-On Machine Learning with Scikit-Learn and TensorFlow</a> 》,这是一门以 TensorFlow 为工具的入门书,其用丰富的例子从实站的角度来让你学习。这本书对于无基础的人也是适合的,对于小白来说虽然略难但是受益匪浅。</p>
</li>
</ul>
<h1>相关文章</h1>
<p>除了上述的那些课程和图书外,下面这些文章也很不错。</p>
<ul>
<li>YouTube 上的 Google Developers 的 <a href="https://www.youtube.com/playlist?list=PLOU2XLYxmsIIuiBfYad6rFYQU_jL2ryal">Machine Learning Recipes with Josh Gordon</a> ,这 9 集视频,每集不到 10 分钟,从 Hello World 讲到如何使用 TensorFlow非常值得一看。</li>
<li>还有 <a href="https://pythonprogramming.net/machine-learning-tutorial-python-introduction/">Practical Machine Learning Tutorial with Python Introduction</a> 上面一系列的用 Python 带着你玩 Machine Learning 的教程。</li>
<li>Medium 上的 <a href="https://medium.com/machine-learning-101">Machine Learning - 101</a> ,讲述了好些我们上面提到过的经典算法。</li>
<li>Medium 上的 <a href="https://medium.com/machine-learning-for-humans">Marchine Learning for Humans</a></li>
<li><a href="https://machinelearningmastery.com/blog/">Dr. Jason Brownlee 的博客</a> ,也非常值得一读,其中好多的 “How-To”会让你有很多的收获。</li>
<li><a href="http://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf">Rules of Machine Learning: Best Practices for ML Engineering</a> ,一些机器学习相关的最佳实践。</li>
<li><a href="https://iamtrask.github.io/">i am trask</a> ,也是一个很不错的博客。</li>
<li>关于 Deep Learning 中的神经网络YouTube 上有介绍视频 <a href="https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi">Neural Networks</a></li>
<li>麻省理工学院的电子书 <a href="http://www.deeplearningbook.org/">Deep Learning</a></li>
<li>用 Python 做自然语言处理<a href="http://www.nltk.org/book/">Natural Language Processing with Python</a></li>
<li>最后一个是 Machine Learning 和 Deep Learning 的相关教程列表,<a href="https://github.com/ujjwalkarn/Machine-Learning-Tutorials">Machine Learning &amp; Deep Learning Tutorials</a></li>
</ul>
<p>下面是一些和神经网络相关的不错的文章。</p>
<ul>
<li><a href="https://karpathy.github.io/2015/05/21/rnn-effectiveness/">The Unreasonable Effectiveness of Recurrent Neural Networks</a> ,这是一篇必读的文章 ,告诉你为什么要学 RNN以及展示了最简单的 NLP 形式。</li>
<li><a href="https://colah.github.io/posts/2014-03-NN-Manifolds-Topology/">Neural Networks, Manifolds, and Topology</a> ,这篇文章可以帮助你理解神经网络的一些概念。</li>
<li><a href="https://colah.github.io/posts/2015-08-Understanding-LSTMs/">Understanding LSTM Networks</a> ,解释了什么是 LSTM 的内在工作原理。</li>
<li><a href="http://distill.pub/2016/augmented-rnns/">Attention and Augmented Recurrent Neural Networks</a> ,用了好多图来说明了 RNN 的 attention 机制。</li>
<li><a href="https://benanne.github.io/2014/08/05/spotify-cnns.html">Recommending music on Spotify with deep learning</a> ,一个在 Spotify 的实习生分享的音乐聚类的文章。</li>
</ul>
<h1>相关算法</h1>
<p>下面是 10 个非常经典的机器学习的算法。</p>
<ul>
<li>对于监督式学习,有如下经典算法。
<ol>
<li><a href="https://en.wikipedia.org/wiki/Decision_tree">决策树Decision Tree</a>,比如自动化放贷、风控。</li>
<li><a href="https://en.wikipedia.org/wiki/Naive_Bayes_classifier">朴素贝叶斯分类器Naive Bayesian classifier)</a>,可以用于判断垃圾邮件、对新闻的类别进行分类,比如科技、政治、运动、判断文本表达的感情是积极的还是消极的、人脸识别等。</li>
<li><a href="https://en.wikipedia.org/wiki/Ordinary_least_squares">最小二乘法Ordinary Least Squares Regression</a>,是一种线性回归。</li>
<li><a href="https://en.wikipedia.org/wiki/Logistic_regression">逻辑回归Logisitic Regression</a>,一种强大的统计学方法,可以用一个或多个变量来表示一个二项式结果。可以用于信用评分,计算营销活动的成功率,预测某个产品的收入。</li>
<li><a href="https://en.wikipedia.org/wiki/Support_vector_machine">支持向量机Support Vector MachineSVM</a>,可以用于基于图像的性别检测、图像分类等。</li>
<li><a href="https://en.wikipedia.org/wiki/Ensemble_learning">集成方法Ensemble methods</a>通过构建一组分类器然后通过它们的预测结果进行加权投票来对新的数据点进行分类。原始的集成方法是贝叶斯平均但最近的算法包括纠错输出编码、Bagging 和 Boosting。</li>
</ol>
</li>
<li>对于无监督式的学习,有如下经典算法。
<ol>
<li><a href="https://en.wikipedia.org/wiki/Cluster_analysis">聚类算法Clustering Algorithms</a>。聚类算法有很多,目标是给数据分类。有 5 个比较著名的聚类算法你必需要知道:<a href="https://en.wikipedia.org/wiki/K-means_clustering">K-Means</a><a href="https://en.wikipedia.org/wiki/Mean_shift">Mean-Shift</a><a href="https://en.wikipedia.org/wiki/DBSCAN">DBSCAN</a><a href="https://en.wikipedia.org/wiki/Expectationmaximization_algorithm">EM/GMM</a>、和 <a href="https://en.wikipedia.org/wiki/Hierarchical_clustering">Agglomerative Hierarchical</a></li>
<li><a href="https://en.wikipedia.org/wiki/Principal_component_analysis">主成分分析Principal Component AnalysisPCA</a>。PCA 的一些应用包括压缩、简化数据便于学习、可视化等。</li>
<li><a href="https://en.wikipedia.org/wiki/Singular-value_decomposition">奇异值分解Singular Value DecompositionSVD</a>。实际上PCA 是 SVD 的一个简单应用。在计算机视觉中,第一个人脸识别算法使用 PCA 和 SVD 来将面部表示为 &quot; 特征面 &quot; 的线性组合,进行降维,然后通过简单的方法将面部匹配到身份。虽然现代方法更复杂,但很多方面仍然依赖于类似的技术。</li>
<li><a href="https://en.wikipedia.org/wiki/Independent_component_analysis">独立成分分析Independent Component AnalysisICA</a>。ICA 是一种统计技术,主要用于揭示随机变量、测量值或信号集中的隐藏因素。</li>
</ol>
</li>
</ul>
<p>如果你想了解更全的机器学习的算法列表,你可以看一下 Wikipedia 上的 <a href="https://en.wikipedia.org/wiki/Outline_of_machine_learning#Machine_learning_algorithms">List of Machine Learning Algorithms</a></p>
<p><a href="https://machinelearningmastery.com/a-tour-of-machine-learning-algorithms/">A Tour of Machine Learning Algorithms</a> ,这篇文章带你概览了一些机器学习算法,其中还有一个 &quot; 脑图 &quot; 可以下载,并还有一些 How-To 的文章供你参考。</p>
<p>对于这些算法,<a href="http://scikit-learn.org/stable/">SciKit-Learn</a>有一些文档供你学习。</p>
<ul>
<li><a href="http://scikit-learn.org/stable/supervised_learning.html#supervised-learning">1. Supervised learning</a></li>
<li><a href="http://scikit-learn.org/stable/modules/clustering.html#clustering">2.3 Clustering</a></li>
<li><a href="http://scikit-learn.org/stable/modules/decomposition.html#decompositions">2.5. Decomposing signals in components (matrix factorization problems)</a></li>
<li><a href="http://scikit-learn.org/stable/model_selection.html#model-selection">3. Model selection and evaluation</a></li>
<li><a href="http://scikit-learn.org/stable/modules/preprocessing.html#preprocessing">4.3. Preprocessing data</a></li>
</ul>
<h1>相关资源</h1>
<ul>
<li>对于初学者来说,动手是非常非常重要的,不然,你会在理论的知识里迷失掉自己,这里有篇文章 &quot;<a href="https://elitedatascience.com/machine-learning-projects-for-beginners">8 Fun Machine Learning Projects for Beginners</a>&quot;,其中为初学者准备了 8 个很有趣的项目,你可以跟着练练。</li>
<li>学习机器学习或是人工智能你需要数据,这里有一个非常足的列表给你足够多的公共数据 <a href="https://github.com/awesomedata/awesome-public-datasets">Awesome Public Datasets</a>》,其中包括农业、生物、天气、计算机网络、地球科学、经济、教育、金融、能源、政府、健康、自然语言、体育等。</li>
<li>GitHub 上的一些 Awesome 资源列表。
<ul>
<li><a href="https://github.com/ChristosChristofidis/awesome-deep-learning">Awesome Deep Learning</a></li>
<li><a href="https://github.com/terryum/awesome-deep-learning-papers">Awesome - Most Cited Deep Learning Papers</a></li>
<li><a href="https://github.com/endymecy/awesome-deeplearning-resources">Awesome Deep learning papers and other resources</a></li>
</ul>
</li>
</ul>
<h1>小结</h1>
<p>总结一下今天的内容。我首先介绍了机器学习的基本原理:监督式学习和非监督式学习,然后给出了全世界最简单的入门资料 <a href="https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec3c471">Machine Learning is Fun!</a>。随后给出了与机器学习密切相关的数据分析方面的内容和资料,然后推荐了深入学习机器学习知识的在线课程、图书和文章等,尤其列举了神经网络方面的学习资料。最后描述了机器学习的十大经典算法及相关的学习资料。</p>
<p>在机器学习和人工智能领域,我也在学习,也处于入门阶段,所以本文中推荐的内容,可能在你看来会有些浅。如果你有更好的信息和资料,欢迎补充。目前文章中给出来的是,我在学习过程中认为很不错的内容,我从中受益良多,所以希望它们也能为你的学习提供帮助。</p>
</div>
</div>
<div>
<div style="float: left">
<a href="/专栏/左耳听风/085 程序员练级攻略2018容器化和自动化运维.md.html">上一页</a>
</div>
<div style="float: right">
<a href="/专栏/左耳听风/087 程序员练级攻略2018前端基础和底层原理.md.html">下一页</a>
</div>
</div>
</div>
</div>
</div>
</div>
<a class="off-canvas-overlay" onclick="hide_canvas()"></a>
</div>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194" integrity="sha512-Gi7xpJR8tSkrpF7aordPZQlW2DLtzUlZcumS8dMQjwDHEnw9I7ZLyiOj/6tZStRBGtGgN6ceN6cMH8z7etPGlw==" data-cf-beacon='{"rayId":"7099789ac8383cfa","version":"2021.12.0","r":1,"token":"1f5d475227ce4f0089a7cff1ab17c0f5","si":100}' crossorigin="anonymous"></script>
</body>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-NPSEEVD756"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-NPSEEVD756');
var path = window.location.pathname
var cookie = getCookie("lastPath");
console.log(path)
if (path.replace("/", "") === "") {
if (cookie.replace("/", "") !== "") {
console.log(cookie)
document.getElementById("tip").innerHTML = "<a href='" + cookie + "'>跳转到上次进度</a>"
}
} else {
setCookie("lastPath", path)
}
function setCookie(cname, cvalue) {
var d = new Date();
d.setTime(d.getTime() + (180 * 24 * 60 * 60 * 1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + "; " + expires + ";path = /";
}
function getCookie(cname) {
var name = cname + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim();
if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
}
return "";
}
</script>
</html>