Xin chào và chào mừng bạn đến với hướng dẫn Python này.
Vì vậy, bây giờ chúng tôi đã sẵn sàng đào tạo mạng lưới để giảm thiểu khoảng cách bình phương giữa đầu ra và mục tiêu, nhờ những
gì chúng tôi đã làm với theo dõi tính đủ điều kiện trong phần trước, về cơ bản chúng tôi đã sẵn sàng bắt đầu
toàn bộ quá trình đào tạo bằng cách nhận được đầu vào của chúng tôi , mục tiêu của chúng tôi, dự đoán của chúng tôi,
sau đó tính toán lỗi cuối cùng giữa các dự đoán và mục tiêu, sau đó thực hiện lan truyền ngược với
giảm độ dốc ngẫu nhiên để cập nhật trọng số.
Vì vậy, chúng tôi đã sẵn sàng làm tất cả những điều này, nhưng vì chúng tôi muốn tính toán đường trung bình động trên 100 bước, bạn biết
đấy, để theo dõi mức trung bình khi thực hiện bài huấn luyện, tốt, ngay trước khi chúng ta thực hiện toàn bộ
quá trình đào tạo này, chúng ta sẽ thực hiện một lớp học ngay bây giờ sẽ nhận được mức trung bình động này trên 100 bước.
Vì vậy, không phải lo lắng.
Chúng tôi sẽ làm điều đó một cách nhanh chóng.
Chúng tôi sẽ tạo một lớp có ba hàm, nhưng chúng tôi sẽ thực hiện tất cả những điều này trong hướng dẫn duy nhất này.
Vì vậy, chúng tôi sẽ làm điều đó một cách nhanh chóng.
Chúng tôi đã làm điều đó.
Và bên cạnh đó, chúng tôi muốn tập trung vào việc đào tạo ngay bây giờ vì đó là điều quan trọng nhất.
Vì vậy, hãy tạo lớp này ngay bây giờ trong hướng dẫn duy nhất này.
Được rồi.
Vì vậy, chúng tôi sẽ giới thiệu một lớp mới, mà chúng tôi sẽ gọi là đường trung bình động bốn.
Và sau đó ở đây chúng tôi đi với chức năng đầu tiên của chúng tôi.
Vì vậy, đó là tất nhiên, hàm init không bao giờ thay đổi trong nó.
Và hàm init này sẽ nhận hai đối số.
Cái đầu tiên là tự cho đối tượng và kích thước của đường trung bình động trong tương lai, sẽ tương ứng với kích thước của danh
sách phần thưởng mà chúng tôi sẽ tính giá trị trung bình.
Vì vậy, đây sẽ là 100.
Được rồi.
Vì vậy, chúng tôi có đối số của chúng tôi cho hàm init và bây giờ chúng ta hãy đi vào bên trong hàm.
Bây giờ bạn biết phải làm gì.
Chúng ta phải khởi tạo các biến cụ thể cho đối tượng.
Và đây là những thứ tốt nhất, đầu tiên sẽ là danh sách các phần thưởng.
Vì vậy, đó sẽ là danh sách chứa 100 phần thưởng mà chúng tôi sẽ tính toán mức trung bình.
Vì vậy, ở đây ngay bây giờ, chúng tôi chỉ đơn giản khởi tạo danh sách này với danh sách trống ở đây.
Vì vậy, danh sách các phần thưởng.
Và sau đó, biến thứ hai của các đối tượng trong tương lai của chúng ta, tất nhiên sẽ là kích thước
và kích thước sẽ bằng với đối số mà chúng ta sẽ nhập khi tạo các đối tượng trung bình động
trong tương lai vì vậy kích thước ở đây và chúng ta đã sẵn sàng chuyển sang chức năng tiếp theo sẽ là chức năng
THÊM và sẽ thêm phần thưởng tích lũy.
Hãy cẩn thận không phải là phần thưởng đơn giản, đó là phần thưởng tích lũy.
Và đó là bởi vì, bạn biết đấy, chúng tôi đang thực hiện theo dõi tính đủ điều kiện và do đó học mỗi
mười bước và do đó học với phần thưởng tích lũy chứ không phải phần thưởng đơn giản.
Vì vậy, chức năng thêm này mà chúng tôi sắp thực hiện sẽ thêm phần thưởng tích lũy vào danh sách phần thưởng đó.
Vì vậy, def, tất nhiên chúng ta sẽ gọi nó là ADD, và hàm ADD này sẽ nhận hai đối số.
Đầu tiên là bản thân vì chúng tôi sẽ sử dụng danh sách phần thưởng này ở đây vì đơn giản là chúng tôi
sẽ thêm phần thưởng tích lũy vào danh sách phần thưởng này.
Vì vậy, chúng ta cần cái tôi này để có thể có được cái tôi như vậy.
Và cái thứ hai sẽ là phần thưởng, sẽ đại diện cho phần thưởng tích lũy.
Được rồi.
Vì vậy, đó là hai đối số của chúng ta về hàm ADD.
Bây giờ chúng ta hãy đi vào bên trong hàm và xác định những gì nó phải làm.
Được chứ.
Rất đơn giản, điều đầu tiên nó phải làm là bất cứ khi nào chúng tôi nhận được phần thưởng tích lũy, một phần thưởng mới,
bạn biết đấy, khi chúng tôi tiến bộ trên mười bước mới, tốt, việc chúng tôi phải làm là thêm phần thưởng tích lũy này
vào danh sách.
Và đó chính xác là những gì chúng tôi sẽ làm.
Chúng tôi sẽ viết một dòng mã sẽ thêm phần thưởng tích lũy mới này mà chúng tôi nhận được sau khi
thực hiện mười bước để có danh sách phần thưởng này tại đây.
Và để làm điều này, chúng ta phải tách biệt hai điều kiện, bởi vì chúng ta sẽ làm việc với các lô, nên phần thưởng sẽ
nằm trong một số danh sách, nhưng trong một số trường hợp khác, phần thưởng cũng có thể là một phần tử
duy nhất.
Và cú pháp để thêm một phần tử vào danh sách, đó là danh sách phần thưởng ở đây không giống nhau cho dù bạn
đang thêm một danh sách hay một phần tử đơn lẻ.
Vì vậy, chúng ta chỉ cần thực hiện điều kiện này sẽ tách biệt hai trường hợp này.
Và hãy bắt đầu với trường hợp đầu tiên, đó là trường hợp những gì chúng ta đang thêm vào danh sách phần thưởng này là
một danh sách.
Và để làm điều này, chúng ta sẽ thêm is instance và trong ngoặc đơn, chúng ta nhập hai đối số.
Đầu tiên là phần thưởng của chúng tôi mà chúng tôi đang thêm phần thưởng đó.
Và cái thứ hai là danh sách.
Và vì vậy, nếu đó là trường hợp, danh sách phần thưởng có nghĩa là nếu phần thưởng nằm trong danh sách và vì vậy nếu phần thưởng
nằm trong danh sách, những gì chúng ta làm rất đơn giản là chúng ta lấy danh sách của mình.
Phần thưởng.
Và chúng ta sẽ thêm danh sách này bởi vì đây là một danh sách, những gì chúng ta có thể làm là sử dụng một phép toán cộng đơn giản
vì chúng ta có thể tính tổng hai danh sách với nhau.
Phần thưởng.
Đây là danh sách, bởi vì điều này sẽ bằng với true.
Ý tôi là, nếu chúng ta ở trong trường hợp này.
Và vì vậy, chúng tôi có thể chỉ cần tổng hợp danh sách này vào danh sách phần thưởng của chúng tôi, và do đó chúng tôi có thể chỉ cần thêm
vào đây danh sách phần thưởng cộng với phần thưởng tương đương.
Và bằng cách làm điều này, chúng tôi chỉ mở rộng danh sách bằng cách cộng hai danh sách này lại với nhau.
Được rồi.
Và sau đó là điều kiện thứ hai.
Vì vậy, chúng tôi có thể chỉ cần thêm khác.
Vì vậy, đó là nếu phần thưởng không phải là một danh sách và do đó, nếu nó là một phần tử đơn lẻ.
Và do đó, điều gì xảy ra trong trường hợp đó?
Chà, cũng vậy thôi.
Chúng tôi muốn thêm phần thưởng vào danh sách phần thưởng của mình, nhưng chúng tôi không thể sử dụng cú pháp này vì phần thưởng sẽ không còn
là danh sách nữa.
Nó sẽ là một phần tử duy nhất.
Và những gì chúng ta cần sử dụng là một cú pháp khác, đó là hàm append.
Khi bạn muốn thêm một phần tử vào danh sách, bạn có thể thêm một số phần tử mà bạn có để sử dụng
hàm append.
Và đây chính xác là những gì chúng ta sẽ làm bây giờ.
Chúng tôi sẽ lấy danh sách phần thưởng của đối tượng và dán nó vào đây và sau đó thêm dấu chấm.
Chúng ta bắt đầu.
Đầu tiên và tất nhiên trong ngoặc đơn, chúng ta nhập các phần tử mà chúng ta muốn thêm vào.
Và đây tất nhiên là phần thưởng.
Nhưng phần thưởng trong trường hợp đó sẽ không phải là một danh sách.
Nó sẽ là một phần tử duy nhất, giống như một phần thưởng tích lũy duy nhất, không nằm trong danh sách.
Được rồi.
Và sau đó chúng tôi muốn làm điều này, nhưng bây giờ chúng tôi phải thêm một cái gì đó nữa.
Đó là điều sẽ xảy ra khi danh sách phần thưởng này có hơn 100 yếu tố.
Trong trường hợp đó, việc chúng ta phải làm là xóa phần tử đầu tiên của danh sách phần thưởng này
để đảm bảo rằng danh sách phần thưởng này luôn chứa không quá 100 phần tử.
Vì vậy, chính xác như những gì chúng tôi đã làm cho xe tự lái khi thực hiện cửa sổ tỷ số.
Và vì vậy, để đảm bảo điều này, chúng tôi sẽ thêm một điều kiện tốt chỉ định rằng bất cứ khi nào độ dài của danh sách
phần thưởng của chúng tôi, đó là số phần tử trong danh sách phần thưởng của chúng tôi bất cứ khi nào
con số này lớn hơn chính nó, kích thước đó, đó là kích thước mà chúng ta đặt ở đây và sau này sẽ bằng
100 khi chúng ta tạo đối tượng.
Chà, ngay khi số phần tử của danh sách phần thưởng này lớn hơn 100.
Chà, những gì chúng tôi muốn làm là xóa phần tử đầu tiên trong danh sách phần thưởng mà chúng tôi có thể nhận được bằng cách lấy
chỉ số bằng không.
Đó là chỉ số đầu tiên trong danh sách phần thưởng của chúng tôi.
Đây là yếu tố đầu tiên trong danh sách phần thưởng của chúng tôi và chúng tôi muốn xóa nó bất cứ khi nào danh sách phần thưởng
của chúng tôi chứa hơn 100 yếu tố.
Vì vậy, với điều kiện này ở đây, chúng tôi đảm bảo rằng danh sách phần thưởng của chúng tôi không bao giờ chứa
nhiều hơn 100 phần tử.
Và do đó, bây giờ những gì chúng ta có thể làm là tạo một hàm mới để tính giá trị trung bình của danh
sách phần thưởng sẽ chứa 100 phần tử khi chạy, và do đó chúng ta sẽ tính toán trung bình động trên 100
bước mỗi lần.
Vì vậy, hãy tạo chức năng mới này.
Nó sẽ rất dễ dàng vì có hàm chính trong Python, là một hàm từ NumPy để tính
giá trị trung bình của một danh sách.
Và vì vậy chúng ta hãy giới thiệu hàm cuối cùng của chúng ta ở đây, mà chúng ta sẽ gọi là trung bình.
Và hàm này sẽ nhận một đối số sẽ là chính nó, bởi vì chúng ta sẽ sử dụng, tất nhiên,
vẫn là danh sách phần thưởng của chúng ta, là một biến số đối tượng của chúng ta.
Vì vậy, tự và dấu hai chấm.
Và bây giờ chúng ta hãy tính giá trị trung bình và do đó trực tiếp chúng ta sẽ trả về giá trị trung bình vì chúng ta có
thể lấy nó bằng hàm trung bình mà tất nhiên chúng ta đang áp dụng.
Chà, những gì chúng tôi muốn tính toán, ý nghĩa của điều đó là danh sách phần thưởng của chúng tôi.
Tôi nghĩ rằng tôi vẫn sao chép nó.
Đúng.
Chúng ta bắt đầu.
Vì vậy, chúng tôi chỉ trả về giá trị trung bình của danh sách phần thưởng của chúng tôi.
Và giá trị trung bình, như tôi đã nói, là một hàm của số không pi.
Vì vậy, ở đây tôi thêm phím tắt và p có nghĩa là danh sách tự nhận phần thưởng.
Và chúng ta bắt đầu.
Chúng tôi có trung bình của chúng tôi trên 100 bước.
Hoàn hảo.
Vì vậy, chúng tôi đã thực hiện lớp học đó rất hiệu quả.
Bây giờ chúng tôi nhận được hướng dẫn về cách lấy trung bình động trên 100 bước.
Và vì chúng ta sẽ sử dụng một đối tượng trung bình động khi thực hiện đào tạo, nên chúng ta hãy tạo
đối tượng trung bình động này.
Và vì vậy chúng ta sẽ gọi nó là A và đơn giản là Mar sẽ là một đối tượng của lớp A.
Và như chúng tôi đã nói, chúng tôi muốn kích thước là 100 vì chúng tôi muốn tính toán đường trung bình động trên 100 bước.
Rất hoàn hảo.
Chúng ta bắt đầu.
Giờ đây, chúng tôi đã sẵn sàng đào tạo AI của mình để cuối cùng trở nên thông minh.
Đên luc rôi đây.
Chính từ thời điểm này, AI của chúng ta sẽ trở nên thông minh.
Vì vậy, tôi nóng lòng muốn huấn luyện nó.
Nó sẽ khá dễ dàng vì đây là điều chúng tôi đã làm.
Nhưng điều này sẽ rất vui.
Và bên cạnh đó, sau đó, sẽ đến lúc phải vui hơn nữa vì về cơ bản mắt của chúng ta sẽ hoàn toàn
sẵn sàng.
Điều đó được xây dựng và cũng thông minh, và do đó chúng tôi sẽ thực thi mã và sau đó AI của chúng tôi sẽ chơi
diệt vong và cuối cùng chúng tôi sẽ xem các video AI của chúng tôi chơi trò diệt vong và chúng tôi sẽ xem liệu nó có tiếp cận được chiếc
áo khoác hay không.
Vì vậy, tôi không thể chờ đợi.
Hãy thực hiện đào tạo đó.
Và cho đến lúc đó.
Và tôi.