相同點:都是輸入,計算,獲得結果。
差別:
算法導論:
以f(x)=wx爲例,其實就是人爲的設定w的過程。但x是離散變量不是連續變量,否則就是高中數學題了。 html
監督學習:
迴歸和分類,迴歸問題一般是用來預測一個值,如預測房價、將來的天氣狀況等等。分類問題是用於將事物打上一個標籤,一般結果爲離散值。例如判斷一幅圖片上的動物是一隻貓仍是一隻狗。 python
無監督學習:
無監督學習裏典型的例子就是聚類了。聚類的目的在於把類似的東西聚在一塊兒,而咱們並不關心這一類是什麼。 算法
計算過程:好比第二層 網絡
激活函數:好比激活函數爲sigmoid時,第二層 機器學習
反向傳播:梯度降低法更新權重w。其中α爲步長。ide
損失函數(Loss Function):是定義在單個樣本上的,算的是一個樣本的偏差。以均方偏差損失函數爲例: 函數
代價函數(Cost Function):是定義在整個訓練集上的,是全部樣本偏差的平均,也就是損失函數的平均。 學習
附,矩陣操做測試
全部的計算過程若是都是這種形式,計算就會顯得很複雜。 優化
因此神經網絡中普遍的使用了矩陣操做。
python環境Anaconda集成安裝
ide Pycharm等
配置清華源
conda config --add channels mirrors.tuna.tsinghua.edu.cn/anaconda/pk…
conda config --set show_channel_urls yes
建立一個python環境
conda create -n tensorflow python=版本號
activate tensorflow(退出deactivate tensorflow)
pip清華源安裝tensorflow
pip install -i pypi.tuna.tsinghua.edu.cn/simple tensorflow
或者全局設置pip源。C:\Users\用戶名\pip\pip.ini,默認狀況下pip文件夾和pip.ini都未建立,自行建立,pip中添加如下內容。
[global]
index-url = pypi.tuna.tsinghua.edu.cn/simple
使用pip install tensorflow
tensorflow mnist
from tensorflow.examples.tutorials.mnist import input_data
import tensorflow as tf
# MNIST數據存放的路徑
file = "./MNIST"
# 導入數據
mnist = input_data.read_data_sets(file, one_hot=True)
# 模型的輸入和輸出
x = tf.placeholder(tf.float32, shape=[None, 784])
y_ = tf.placeholder(tf.float32, shape=[None, 10])
# 模型的權重和偏移量
W = tf.Variable(tf.zeros([784, 10]))
b = tf.Variable(tf.zeros([10]))
# 建立Session
sess = tf.InteractiveSession()
# 初始化權重變量
sess.run(tf.global_variables_initializer())
# SoftMax激活函數
y = tf.nn.softmax(tf.matmul(x, W) + b)
# 交叉熵損失函數
cross_entropy = -tf.reduce_sum(y_*tf.log(y))
# 梯度降低法訓練
train_step = tf.train.GradientDescentOptimizer(0.01).minimize(cross_entropy)
for i in range(1000):
batch = mnist.train.next_batch(50)
train_step.run(feed_dict={x: batch[0], y_: batch[1]})
# 測試
correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_:mnist.test.labels}))
複製代碼
參考連接: 吳恩達給你的人工智能第一課
mooc.study.163.com/smartSpec/d…
機器學習的算法和普通《算法導論》裏的算法有什麼本質上的異同?
人工智能、機器學習和深度學習的區別?
如何簡單形象又有趣地講解神經網絡是什麼?
深刻淺出--梯度降低法及其實現
深刻梯度降低(Gradient Descent)算法
梯度降低(Gradient Descent)小結(寫了梯度降低和梯度上升)
一文弄懂神經網絡中的反向傳播法——BackPropagation
基於字符的卷積神經網絡實現文本分類(char-level CNN)-論文詳解及tensorflow實現
數據挖掘系列(10)——卷積神經網絡算法的一個實現